نصب و آموزش FFmpeg

نصب و آموزش FFmpeg

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

در این مطلب، به نصب و آموزش FFmpeg نرم‌افزاری برای ویرایش ویدئو در ترمینال خواهم پرداخت


۱. معرفی

FFmpeg یک ابزار بسیار قدرتمند و همه کاره برای ادیت کردن ویدئوها می‌باشد. ابزاری که قابلیت اجرا در ویندوز، مک و البته لینوکس را دارد. ولی نکته مهم درباره این نرم‌افزار رابط کاربری آن می‌باشد، FFmpeg فقط از طریق خط فرمان (command line) قابل دسترس است، یعنی باید به کمک محیط شِل (shell) از آن استفاده کنید و هیچگونه رابط گرافیکی ندارد.

شاید در ابتدا به نظرتان سخت و طاقت فرسا باشد ولی به محض تسلت پیدا کردن به آن (که البته کار زمان بری است) خواهید یافت که FFmpeg چقدر کارها را آسان‌تر خواهد کرد.

البته این آموزش صرفا روی سیستم عامل گنو/لینوکس می‌باشد که اکثر کاربران آن سرشان برای کار کردن با محیط ساده و غالباً تیره ترمینال درد می‌کند پس نباید مشکل خاصی با رابط کاربری FFmpeg داشته باشند.

جهت دریافت اطلاعات بیش‌تر می‌توانید به سایت رسمی FFmpeg مراجعه کنید و همچنین برای مطالعه آموزش رسمی آن در سایت FFmpeg می‌توانید از این لینک استفاه کنید.

۲. نصب FFmpeg در لینوکس

نصب بسیار ساده‌ای دارد و تنها با وارد کردن یک خط کد می‌توان آن را نصب کرد. در ادامه نصب FFmpeg روی برخی نسخه‌های معروف لینوکس را خواهم گفت.

۲-۱. نصب در اوبونتو

sudo apt install ffmpeg

۳. آموزش FFmpeg

یکی از بهترین روش‌ها برای دریافت اطلاعات یک برنامه در محیط ترمینال استفاده از دستور man می‌باشد که اگر تا حالا آن را نصب نکرده‌اید از دستور زیر برای نصب آن استفاده کنید:

sudo apt install man

پس از نصب این برنامه می‌توانید توضیحاتی کامل از FFmpeg را به کمک دستور زیر دریافت کنید:

man ffmpeg

علاوه بر دستور بالا می توانید می‌توانید از دستور help نیز برای دریافت آموزشی مختصرتر از دستور man استفاده کنید:

ffmpeg -help

قابلیت‌های FFmpeg زیاد بوده و ما تعدادی از کاربردهای مهم و عمومی آن را در ادامه آموزش می‌دهیم.

فرم کلی یک دستور FFmpeg بصورت زیر می باشد:

ffmpeg input_options -i input output_option output

شاید کمی گیج شده باشید پس در ادامه بخش‌های نام برده را توضیح می‌دهم:

input_option: تنظیمات فایل ورودی (فایلی که می‌خواهیم آن را تغییر دهیم) است که چون در همه موارد بجز موارد خاص کاری با آن نداریم از توضیح بیشتر خودداری می کنم.

input: نام یا آدرس فایل ورودی می‌باشد و حتما باید پیش از آن سوئیچ i وارد شده باشد.

output_option: بخشی که ما کار زیادی با آن داریم همین قسمت است. در ادامه به بررسی این قسمت می‌پردازم.

output: و پس از وارد کردن تنظیمات و تغییرات دلخواه نام و فرمت نهایی فایل ویدئویی خود را می‌نویسیم.

۳-۱. تنظیمات فایل خروجی

همانطور که گفتم مهم‌ترین قسمت output_option می‌باشد که در این بخش تمام تغییراتی که می‌خواهیم را اعمال خواهیم کرد. در ادامه شما را با گزینه‌های کاربردی این نرم‌افزار آشنا خواهم کرد:

  • سوئیچ ss زمان آغاز برش یک ویدئو را مشخص می‌کند که باید به صورت HH:MM:SS وارد شود.
  • سوئیچ t طول ویدئو را مشخص می‌کند برای مثال می‌گوییم یک دقیقه پس از آغاز برش، خاتمه پیدا کند.

این کد ویدئو ورودی را از ثانیه ۳۰ به مدت ۱ دقیقه با نام output و فرمت mp4 برش می‌زند.

ffmpeg -i input.mkv -ss 0:30 -t 1:0 output.mp4
  • سوئیچ to زمان نهایی ویدئو را مشخص می‌کند برای مثال می‌گوییم در زمان 0:1:0 به پایان برسد.

این کد ویدئو ورودی را از ثانیه ۳۰ تا زمان ۱:۳۰ با نام output و فرمت mp4 برش می‌زند.

ffmpeg -i input.mkv -ss 0:30 -to 1:30 output.mp4
  • سوئیچ s طول(W) و عرض(H) ویدئو را بصورت WxH تعیین می‌کند.

این کد طول ویدئو را 1920 پیکسل و عرض آن را 1080 پیکسل می‌کند.

ffmpeg -i input.mkv -s 1920x1080 output.mp4
  • سوئیچ aspect نسبت تصویر را مشخص می‌کند، برای مثال 16:9 , 4:3 و … .

این کد نسبت ابعاد (طول و عرض) ویدئو را به 16:9 تغییر می‌دهد.

ffmpeg -i input.mkv -aspect 16:9 output.mp4
  • سوئیچ vn تصویر ویدئو را حذف می‌کند که البته برای این کار دستور بهتر و بخصوصی وجود دارد که در بخش ۴ آن را می‌گویم.

این کد تصویر ویدئو را حذف کرده و فقط صوت را تحویل می‌دهد.

ffmpeg -i input.mkv -vn output.mp4
  • سوئیچ an صدای ویدئو را حذف می‌کند.

این کد صوت ویدئو را حذف کرده و فقط تصویر را تحویل می‌دهد. مانند یک فایل GIF.

ffmpeg -i input.mkv -an output.mp4
  • سوئیچ vol میزان صدای ویدئو خروجی را مشخص می‌کند که حد متوسط آن 256 است.

این کد صدای ویدئو را کاهش می‌دهد.

ffmpeg -i input.mkv -v 50 output.mp4
  • سوئیچ c و codec که نوع کدک (کدک‌ها جریانی از داده‌ها را برای ذخیره‌سازی، کدگذاری و فشرده می‌کنند، و در مواقع نیاز برای ویرایش یا نمایش، از حالت فشرده خارج می‌کنند) را مشخص می‌کند.
  • سوئیچ vcodec کدک مخصوص تصویر است.
  • سوئیچ acodec کدک مخصوص صوت است.

این کد کدک ویدئو را به libx265 که قابلیت فشرده سازی بسیار خوبی هم دارد تبدیل می‌کند، البته کدک libx264 قدیمی‌تر و بر روی دستگاه‌های بیشتری جواب می‌دهد. همچنین کدک صدای این ویدئو را به کدک معروف mp3 تبدیل می‌کند.

ffmpeg -i input.mkv -c:v libx265 -c:a mp3 output.mp4

تمامی سوئیچ‌های مربوط به کدک می‌تواند دارای مقدار copy باشد، این یعنی از همان کدک فایل اصلی استفاده کند. برای کپی کردن تمامی کدک‌ها (چه تصویر چه ویدئو) می‌توان از کد زیر استفاده کرد:

ffmpeg -i input -c copy output

۴. دستورات کاربردی

در این قسمت چندین دستور کاربردی را می‌نویسم که شاید به درد شما هم بخورد:

  • دریافت اطلاعات ویدئو
ffmpeg -i video.flv -hide_banner
دریافت اطلاعات ویدئو
  • تبدیل فرمت بدون هیچ تغییری در فایل خروجی
ffmpeg -i input.mkv output.avi
  • تبدیل ویدئو به موزیک. (اطلاعات مربوط به سوئیچ‌های استفاده شده در زیر آمده است)
ffmpeg -i input.mp4 -vn -ar 44100 -ac 2 -ab 320 output.mp3

ar- فرکانس صدا را تنظیم می‌کند و معمول‌ترین آن‌ها: 22050, 44100, 48000
ac- تعداد کانال‌های صدا را تنظیم می‌کند.
ab- نرخ بیت (bitrate) صدا را تنظیم می‌کند.


دیدگاه‌تان را بنویسید: