وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش تبدیل ویدیوها با استفاده از FFMPEG در اوبونتو

0 19
زمان لازم برای مطالعه: 6 دقیقه


در دنیای مدرن، با یوتیوب و سایر برنامه‌های رسانه‌های اجتماعی به عنوان روش اصلی برای مشاهده رسانه‌های دیجیتال، آپلود ویدیو به یک روش معمول تبدیل شده است. در واقع، آنقدر رایج شده است که ایجاد و ویرایش فایل های صوتی و تصویری در طول چند دهه به یک امر عادی تبدیل شده است. بدیهی است که ابزارهای گران قیمتی وجود دارد که می توان آنها را برای برآورده کردن نیازهای خود خریداری کرد، اما اگر بتوانیم این کار را به صورت رایگان انجام دهیم چه؟ چه می‌شود اگر چند خط کد بتواند تقریباً هر کار مرتبط با ویدیو را که نیاز دارید انجام دهد؟

Ffmpeg یک ابزار رایگان و منبع باز تبدیل، استخراج و ویرایش ویدیو است که پاسخی به این سوال می دهد! ffmpeg چه کاری را نمی تواند انجام دهد؟ تقریبا هیچی. کارهایی که با کمک ffmpeg قابل انجام هستند عبارتند از تبدیل فایل صوتی، تبدیل فایل ویدئویی، تبدیل عکس، استخراج فایل تصویری از فایل های ویدئویی، تولید فیلم از فایل های تصویری، استخراج صدا از ویدئو، برش فیلم و عکس، برش فیلم، دوباره اندازه فیلم ها، افزایش حجم و ایجاد ضبط صفحه نمایش.

نصب FFmpeg در اوبونتو

Ffmpeg به طور پیش فرض در اوبونتو از قبل نصب نشده است، بنابراین برای استفاده از آن ابتدا باید این برنامه را نصب کنید. برای تکمیل نصب، شما باید این باشید root کاربر. سپس برای نصب FFmpeg عبارت زیر را تایپ کنید:

sudo apt-get نصب کنید ffmpeg

را apt-get نصب کنید دستور برای همه نسخه های اوبونتو به جز 14.04 کار می کند.

تبدیل صدا

تبدیل نوع فایل یک فایل صوتی را می توان در یک خط کد با استفاده از ابزار ffmpeg انجام داد. در این مورد، شما فقط باید دو پارامتر را ارسال کنید: نام فایل اصلی و نام فایل جدید. این دستور به شما اجازه می دهد تا با شناسایی خودکار انواع فایل ها بر اساس نام، هر فرمت فایل را به هر فرمت فایل دیگری تبدیل کنید. به این ترتیب، نیازی به کد اضافی برای تعیین انواع فایل نیست.

ffmpeg -من original_file.mp3 converted_file.mp4

شما می توانید نام و انواع فایل های خود را به این خط کد اضافه کنید. این فقط نحو اصلی برای استفاده است.

تبدیل ویدیو

همچنین می توانید انواع فایل های ویدئویی را با استفاده از ffmpeg تبدیل کنید. هنگام وارد کردن دستور، تنها چیزی که نیاز دارید نام فایل اصلی و نام فایل خروجی است. تگ -i نشان دهنده فایل ورودی است.

ffmpeg -من original_file.mp4 converted_file.webm

تبدیل عکس

آنچه برای فایل های ویدیویی و صوتی صادق است، در مورد فایل های تصویری نیز صدق می کند. شما می توانید یک فرمت عکس را به سرعت و به راحتی با ffmpeg به سادگی با استفاده از نحو نشان داده شده در زیر تبدیل کنید:

ffmpeg -من original_file.jpg converted_file.png

استخراج تصویر از فایل ویدئویی

Ffmpeg همچنین می تواند برای استخراج تصاویر از فایل های ویدئویی استفاده شود. به عبارت دیگر، این برنامه می‌تواند در زمان‌های دقیق در طول یک ویدیو اسکرین‌شات بگیرد و اسکرین‌شات‌ها را به‌عنوان مجموعه‌ای از فایل‌های تصویری ذخیره کند. مثلا:

ffmpeg -من video.mp4 output_file.jpg

در این حالت، تگ -i فایل ویدیویی را نشان می دهد که فایل(های) تصویر از آن استخراج می شود. با این حال، ما هنوز هیچ مشخصاتی در مورد کیفیت تصویر یا زمان بندی اسکرین شات به برنامه نداده ایم. بنابراین، ابتدا لازم است قبل از وارد کردن کد، این جزئیات را مشخص کنید.

پیشنهاد می‌کنیم بخوانید:  روش نصب درایورهای گرافیکی NVIDIA روی یک سرور اوبونتو بدون سر 22.04 LTS

اگر موارد زیر را بنویسیم:

ffmpeg -من video.mp4 output_file%d.jpg

مقدار %d بعد از نام فایل خروجی نشان‌دهنده متغیری است که می‌توانید با توجه به تعداد فریم‌هایی که می‌خواهید از ویدیو ایجاد کنید، آن را سفارشی کنید. هنگامی که تصاویر با یک فریم در ثانیه تولید می شوند، هر عکس دارای برچسب output_file1.jpg می شود. با دو فریم در ثانیه، output_file2.jpg; در سه فریم در ثانیه، output_file3.jpg; اگر فیلم 35 فریم در ثانیه داشته باشد و طول آن یک ثانیه باشد، با دادن مقدار 1 به متغیر %d، 35 عکس تولید می شود.

در مرحله بعد، اگر بخواهیم تصاویر را با نرخ فریم در ثانیه خاصی ثبت کنیم، چه؟ مقدار fps این را در نحو ffmpeg تعریف می کند. برای گرفتن 1 فریم در ثانیه، مقدار fps را برابر با 1 قرار دهید.

ffmpeg -من video.mp4 -vf فریم در ثانیه=1 فایل خروجی%d.jpg

به همین ترتیب، با تعیین مقدار fps به 1/6000، دستور زیر 1 تصویر در هر 6000 ثانیه ویدیو تولید می کند:

ffmpeg -من video.mp4 -vf فریم در ثانیه=1/6000 فایل خروجی%6d.jpg

در دستور بالا، عبارت %6d یک متغیر با شش رقم ایجاد می کند. فایل های خروجی به صورت زیر برچسب گذاری می شوند: output_file000001.jpg، output_file000002.jpg و غیره.

حال، فرض کنید که نمی خواهید همه فریم ها را بگیرید. در عوض، می‌خواهید انتخابی‌تر باشید و بخواهید تعداد مجموعه‌ای از تصاویر را بین دو تایم فریم بگیرید. سپس، نحو چیزی شبیه به این خواهد بود:

ffmpeg -ss 00:00:01 -t 00:00:04 -من video.mp4 output_file%3d.jpg

این کد تصاویر را از ساعت 00:00:01 به مدت 4 ثانیه ضبط می کند. به عبارت دیگر، ثبت تصویر از ساعت 00:00:01 شروع می شود و در ساعت 00:00:05 در ویدئو پایان می یابد. طبق معمول، شماره در نام فایل خروجی دارای سه رقم خواهد بود (یعنی output_file001.jpg، output_file002.jpg، و غیره).

تولید ویدئو از فایل های تصویری

اگر بخواهید درست برعکس عمل کنید و تصاویر را در کنار هم قرار دهید تا یک ویدیو بسازید، چه؟ Ffmpeg یک بار دیگر به کمک می آید!

ffmpeg -r 1/5 -من img%03d.png -c:v libx264 -vf فریم در ثانیه=25 -pix_fmt yuv420p output_file.mp4

پس از خواندن بخش‌های قبلی، اکنون می‌دانید که عبارت img%03.png مخفف چیست – فایل‌های تصویری منبع که باید در ویدیو کامپایل شوند. در این نحو، تگ -c:v نشان دهنده کدک برای ویدیو، fps نشان دهنده مقدار فریم در ثانیه و r نشان دهنده نرخ فریم ویدیوی خروجی است.

استخراج صدا از ویدئو

در مورد استخراج فایل های صوتی از یک فایل ویدیویی چطور؟ ابزار وجود دارد روی وب است که می توانید برای انجام این کار از آن استفاده کنید، اما با ffmpeg، یک خط کد می تواند کار را به همان خوبی انجام دهد.

ffmpeg -من video.mp4 -c:a libmp3lame -q:a 0 -نقشه یک output_file.mp3

در نحو بالا، video.mp4 فایل ویدیوی ورودی و output_file.mp3 فایل صوتی خروجی است. تگ -map a جریان صوتی پیش‌فرض را می‌گیرد و زیرنویس‌ها را حذف می‌کند، c:a کدک صوتی مورد استفاده را مشخص می‌کند و q:a نرخ بیت متغیری را برای صدا تعریف می‌کند.

اگر می خواهید تنها بخشی از فایل صوتی را از یک فایل ویدیویی استخراج کنید، می توانید از دستور زیر برای این کار استفاده کنید. در کد زیر فقط قسمت صدا از ساعت 00:00:08 تا 00:00:10 استخراج می شود:

ffmpeg -من video.mp4 -ss 00:00:08 -t 00:00:10 -q:a 0 -c:a libmp3lame -q:a 0 -نقشه یک output_file.mp3

بدیهی است که در صورت تمایل می‌توانید جزئیات بیشتری را اضافه کنید، اما مثال بالا یک نقطه شروع عالی است.

پیشنهاد می‌کنیم بخوانید:  روش نصب و پیکربندی VNC روی اوبونتو

برش فیلم و عکس

اگر بخواهید ویدیوها را برش دهید چه می شود؟ می‌توانید زمان و هزینه خود را صرف پیدا کردن نرم‌افزار برش در جای دیگری کنید، یا می‌توانید از یک خط کد با ffmpeg برای برش ویدیو به اندازه استفاده کنید.

ffmpeg -من video.mp4 -filter:v “crop=w=width:h=height:x:y” output_file.mp4

مثلا:

ffmpeg -من video.mp4 -filter:v “crop=w=550:h=200:x=100:y=200” output_file.mp4

به عنوان مثال، من عکس خودم را گرفتم و سعی کردم آن را با کد زیر برش دهم:
روش تبدیل ویدیوها با استفاده از FFMPEG در اوبونتوروش تبدیل ویدیوها با استفاده از FFMPEG در اوبونتوروش تبدیل ویدیوها با استفاده از FFMPEG در اوبونتوروش تبدیل ویدیوها با استفاده از FFMPEG در اوبونتو

ffmpeg -من photo44.jpg -filter:v “crop=w=500:h=200” out.jpg

برش ویدیوها

برش دادن فایل های ویدئویی نیازمند برش آنها از یک زمان خاص به زمان خاص دیگر است. به عنوان مثال، برش یک فایل ویدئویی به دو یا سه بخش می تواند آن را کوتاه کند. یک بار دیگر، کوتاه کردن فایل های ویدئویی یا صوتی را می توان به راحتی با استفاده از ffmpeg انجام داد.

ffmpeg -من video.mp4 -ss 00:00:20 -t 00:00:10 -c:v h264 -c:a aac output_file.mp4

در این مورد، تگ -ss مخفف شروع جستجو یا زمانی است که در آن کوتاه‌سازی شروع می‌شود. process. در دستور بالا از ساعت 00:00:20 شروع به برش یا پیرایش می کنیم. تگ t مخفف مدت زمان کلیپ است. در اینجا مدت زمان برش کلیپ 10 ثانیه خواهد بود. در نهایت، تگ c:v برای کدک ویدیوی استفاده شده است، در حالی که c:a برای کدک صوتی استفاده شده است.

تغییر اندازه ویدئو

تغییر اندازه ویدیوها به آسانی کوتاه کردن و برش ویدیوها است.

ffmpeg -من video.mp4 -vf مقیاس=320:240 output_file.mp4

همچنین می توانید کارهای زیر را انجام دهید:

ffmpeg -من video.mp4 -vf مقیاس=“iw/1:ih/2” output_file.mp4

در اینجا، مقدار iw عرض ورودی را مشخص می کند، در حالی که ih ارتفاع ورودی را تعیین می کند. دومی نیز آن را مقیاس خواهد کرد.

افزایش حجم ویدیو

در این مقاله روش برش، برش و تبدیل فایل های ویدئویی و تصویری را مشاهده کرده اید، اما افزایش حجم فایل های صوتی و تصویری چطور؟

ffmpeg -من video.mp3 -filter:a”جلد=2” output_file.mp3

در مورد دوم، ما متواضعانه از ffmpeg می خواهیم که حجم فایل را دو برابر کند.

ضبط صفحه ایجاد کنید

ضبط صفحه‌نمایش وظیفه‌ای است که اغلب انجام آن ضروری است، خواه برای ارائه، اشتراک‌گذاری ویدیو یا جلسات آنلاین باشد. دلیل ضبط دسکتاپ شما هر چه که باشد، معمولاً برای انجام این کار باید نوعی نرم افزار را اجرا کنید. بر خلاف جایگزین های گران قیمت، ffmpeg می تواند این کار را به صورت رایگان برای شما انجام دهد!

ffmpeg gdigrab -قاب بندی 30 -من دسکتاپ -c:v libx264 output_file.mp4 dshow -من سمعی=“Stereo Mix (Realtek Audio)” output_file.mp4

در دستور بالا، تگ -f نشان دهنده فرمت ضبط ویدیوی صفحه نمایش شما است. به دنبال مقدار صوتی، منبع صوتی خود را قرار می دهید.

علاوه بر این، کد زیر فقط ویدیوی ضبط شده روی صفحه را بدون هیچ صدایی اضافه می کند:

ffmpeg gdigrab -قاب بندی 30 -من دسکتاپ -c:v libx264 -qp 0 خروجی.mp4

نتیجه

به طور کلی، ffmpeg یک برنامه بسیار مفید است که به شما امکان می دهد کارهای زیادی را در یک خط کد انجام دهید. می‌توانید برای رفع نیازهای ویرایشی خود ابزارهای گران قیمتی را به صورت آنلاین خریداری کنید، یا می‌توانید با نصب ابزار ffmpeg این عملکردها را به صورت رایگان امتحان کنید.

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1403-01-03 14:38:06

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید