
برای نصب FFmpeg در اوبونتو یا دبیان معمولا کافی است مخازن بسته ها را به روز کنید و بسته FFmpeg را با apt نصب کنید. در فدورا، AlmaLinux و Rocky Linux روش نصب به مخزن های فعال و نسخه توزیع بستگی دارد. بعد از نصب، با دستور ffmpeg -i فایل را به عنوان ورودی معرفی می کنید و نام فایل خروجی را در انتهای دستور می نویسید.
در این راهنما نصب FFmpeg روی توزیع های رایج، بررسی فایل ویدیویی با ffprobe، تبدیل ویدیو به MP4، استخراج صدا، برش کلیپ، تغییر اندازه تصویر و عیب یابی خطاهای متداول را قدم به قدم انجام می دهیم. دستورها را در ترمینال لینوکس اجرا کنید. برای مدیریت سرور از راه دور، اول با آموزش اتصال SSH به سرور لینوکس آشنا شوید.
قبل از اجرا: در مثال ها نام هایی مثل input.mkv و output.mp4 نمونه هستند. آنها را با مسیر و نام واقعی فایل خودتان جایگزین کنید. اگر نام فایل فاصله دارد، آن را داخل کوتیشن دوتایی بگذارید؛ مثلا "ویدیوی سفر.mkv". بهتر است ابتدا از فایل اصلی یک نسخه پشتیبان داشته باشید و خروجی را با نامی جدا ذخیره کنید.

تصویر آموزشی بازسازی شده است و اسکرین شات واقعی از سرور یا خروجی نسخه مشخصی از لینوکس نیست.
FFmpeg چیست و چه کارهایی انجام می دهد؟
FFmpeg مجموعه ای از ابزارهای خط فرمان برای خواندن، تبدیل، پردازش و بررسی فایل های صوتی و تصویری است. ابزار اصلی آن ffmpeg است. ابزار ffprobe اطلاعات فایل و جریان های ویدیو، صدا و زیرنویس را نشان می دهد. در بعضی بسته ها ابزار پخش خط فرمان ffplay هم نصب می شود.
تبدیل فرمت همیشه به معنی عوض کردن پسوند نیست. مثلا در خروجی MP4 ممکن است ویدیو با کدک H.۲۶۴ و صدا با AAC ذخیره شود. ظرف MP4، کدک ویدیو و کدک صدا سه چیز متفاوت هستند. اگر فقط پسوند فایل را عوض کنید، محتوا تبدیل نمی شود و ممکن است فایل خروجی خراب یا ناسازگار شود.
مرحله اول: نسخه لینوکس و دسترسی خود را بررسی کنید
برای دیدن نام و نسخه توزیع، این دستور را اجرا کنید:
cat /etc/os-releaseدر سروری که دسترسی مدیریتی ندارید، ممکن است به جای sudo لازم باشد از مدیر سرور بخواهید بسته را نصب کند. دستورات زیر را روی توزیعی اجرا کنید که نامش را در خروجی قبلی دیده اید؛ دستورهای apt و dnf را با هم روی یک سیستم اجرا نکنید.
مرحله دوم: نصب FFmpeg در Ubuntu و Debian
در Ubuntu و Debian از مخازن بسته های همان توزیع استفاده کنید:
sudo apt update
sudo apt install ffmpegدر زمان پرسش نصب، فهرست تغییرات را بخوانید و تایید کنید. برای بررسی نصب، نسخه و ابزارها را ببینید:
ffmpeg -version
ffprobe -versionبرای دیدن گزینه های عمومی FFmpeg:
ffmpeg -hاین روش نسخه ای را نصب می کند که مخازن فعال توزیع ارائه می دهند؛ لزوما جدیدترین نسخه منتشر شده در پروژه FFmpeg نیست. اگر به یک کدک یا قابلیت مشخص نیاز دارید، قبل از ساخت از سورس یا نصب بسته های ناشناس، پشتیبانی همان قابلیت را بررسی کنید.
مرحله سوم: نصب در Fedora
در Fedora می توانید ابتدا ببینید بسته های FFmpeg در مخازن فعال سیستم شما چه وضعیتی دارند. بسته موجود در مخزن پیش فرض ممکن است از نظر مجموعه کدک ها با بسته کامل تر مخزن ثالث تفاوت داشته باشد. برای استفاده معمولی ابتدا نصب پایه را امتحان کنید:
sudo dnf install ffmpegاگر بسته پیدا نشد یا هنگام تبدیل پیام داد که انکودر یا دیکودر موردنیاز وجود ندارد، نام کدک را از متن خطا یادداشت کنید. در این حالت باید مخزن سازگار با نسخه Fedora را فعال کنید. برخی کاربران از مخزن RPM Fusion استفاده می کنند؛ پیش از جایگزین کردن بسته ها، خلاصه تراکنش DNF را با دقت بخوانید و مطمئن شوید قرار نیست بسته های مهم دیگری حذف شوند.
اگر مخزن مناسب فعال است و سیستم بسته محدودتر ffmpeg-free دارد، در نسخه هایی که پشتیبانی می کنند می توان بسته را با نسخه کامل جایگزین کرد:
sudo dnf swap ffmpeg-free ffmpeg --allowerasingاین دستور ممکن است بسته هایی را حذف یا جایگزین کند. اگر فهرست تغییرات غیرمنتظره بود، عملیات را تایید نکنید و ابتدا وضعیت مخزن ها و بسته ها را بررسی کنید.
مرحله چهارم: نصب در AlmaLinux و Rocky Linux
در AlmaLinux و Rocky Linux معمولا برای بسته های چندرسانه ای باید مخزن های تکمیلی متناسب با نسخه اصلی سیستم فعال باشند. در بسیاری از نسخه ها ابتدا EPEL نصب می شود و مخزن CRB هم فعال می شود:
sudo dnf install epel-release
sudo dnf config-manager --set-enabled crbدر برخی نسخه ها دستور config-manager در دسترس نیست؛ در آن صورت باید ابزار مدیریت مخازن همان نسخه را نصب کنید. بعد از آن مخزن چندرسانه ای سازگار با AlmaLinux یا Rocky Linux و نسخه اصلی سیستم را اضافه کنید. پس از فعال شدن مخزن ها، نصب را انجام دهید:
sudo dnf install ffmpeg ffmpeg-develاگر دستور بالا بسته ای پیدا نکرد، نام مخزن یا نسخه سیستم با بسته درخواستی سازگار نیست. خروجی cat /etc/os-release و dnf repolist را بررسی کنید. از کپی کردن دستورهای قدیمی CentOS یا افزودن فایل های RPM مربوط به نسخه دیگر خودداری کنید. در سرور سازمانی، پیش از فعال کردن مخزن ثالث، سیاست نگهداری سیستم را با مدیر سرور هماهنگ کنید.
اگر هدف شما پردازش ویدیو روی سرور است، صفحه سرور مجازی لینوکس نگارنوین را ببینید. برای تبدیل های طولانی، تعداد هسته پردازنده، فضای آزاد دیسک و محدودیت حافظه را متناسب با حجم فایل ها انتخاب کنید.
مرحله پنجم: بررسی مشخصات فایل با ffprobe
قبل از تبدیل، بهتر است ببینید فایل چه جریان هایی دارد و کدک ویدیو و صدا چیست. دستور زیر اطلاعات کلی را در ترمینال نشان می دهد:
ffprobe -hide_banner "input.mkv"برای دیدن مشخصات ظرف و جریان ها به شکل JSON:
ffprobe -v error -show_format -show_streams -of json "input.mkv"در خروجی به بخش های codec_name، width، height، duration و sample_rate توجه کنید. ممکن است فایلی چند ترک صوتی یا زیرنویس داشته باشد؛ در چنین حالتی باید مشخص کنید کدام جریان را می خواهید نگه دارید.

نمونه خروجی در این تصویر آموزشی است؛ مقدارها و کدک واقعی با فایل شما فرق می کنند.
مرحله ششم: تبدیل ویدیو به MP4 سازگار
برای تبدیل یک فایل MKV به MP4 با ویدیوی H.۲۶۴ و صدای AAC، از این دستور استفاده کنید:
ffmpeg -i "input.mkv" -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 192k "output.mp4"-i فایل ورودی را مشخص می کند. -c:v libx264 انکودر ویدیو را تعیین می کند. مقدار -crf 23 کیفیت و اندازه خروجی را متعادل می کند؛ عدد کمتر معمولا کیفیت بالاتر و فایل بزرگ تر می دهد. -preset medium سرعت فشرده سازی را تنظیم می کند؛ preset کندتر معمولا برای حجم مشابه فشرده سازی بهتری می دهد اما زمان بیشتری می خواهد. -c:a aac انکودر صدا را انتخاب می کند و -b:a 192k نرخ بیت صدا را مشخص می کند.
این دستور ویدیو و صدا را دوباره فشرده می کند و بسته به طول و کیفیت فایل ممکن است چند دقیقه یا بیشتر زمان ببرد. اگر پیام Unknown encoder 'libx264' دیدید، بسته نصب شده آن انکودر را ندارد؛ خروجی ffmpeg -encoders را بررسی کنید یا بسته مناسب مخزن توزیع را نصب کنید.

فرمان داخل تصویر نمونه آموزشی است و روی هر سیستم ممکن است نام انکودرهای در دسترس فرق کند.
تبدیل سریع ظرف فایل بدون فشرده سازی دوباره
اگر کدک های داخل فایل با ظرف مقصد سازگارند، می توانید فقط ظرف را عوض کنید و جریان ها را کپی کنید:
ffmpeg -i "input.mkv" -c copy "output.mp4"گزینه -c copy ویدیو و صدا را دوباره encode نمی کند؛ به همین دلیل معمولا سریع تر است و افت کیفیت ناشی از فشرده سازی دوباره ندارد. اما اگر کدک داخل فایل با ظرف مقصد سازگار نباشد، عملیات شکست می خورد یا فایل روی بعضی پخش کننده ها باز نمی شود. در این حالت باید کدک ناسازگار را تبدیل کنید، نه اینکه فقط پسوند را عوض کنید.
استخراج صدا از ویدیو
برای استخراج صدای ویدیو و ذخیره آن به صورت MP3، دستور زیر را اجرا کنید:
ffmpeg -i "video.mp4" -vn -c:a libmp3lame -q:a 2 "audio.mp3"-vn جریان تصویر را کنار می گذارد و -q:a 2 کیفیت متغیر MP3 را تعیین می کند؛ در این مقیاس عدد پایین تر معمولا کیفیت بالاتری می دهد و حجم را زیادتر می کند. اگر libmp3lame در نسخه شما موجود نبود، انکودرهای نصب شده را با ffmpeg -encoders ببینید.
برای تبدیل فایل WAV به AAC داخل ظرف M4A:
ffmpeg -i "audio.wav" -c:a aac -b:a 192k "audio.m4a"
برش یک بخش از ویدیو
برای استخراج بخش تقریبی ۲۰ ثانیه ای از ویدیو، از ثانیه ۱۰:
ffmpeg -ss 00:00:10 -i "input.mp4" -t 00:00:20 -c copy "clip.mp4"این روش با کپی کردن جریان ها سریع است، اما نقطه شروع ممکن است به دلیل محل فریم های کلیدی دقیق نباشد. اگر برش دقیق تری لازم دارید، ویدیو را دوباره فشرده کنید:
ffmpeg -i "input.mp4" -ss 00:00:10 -t 00:00:20 -c:v libx264 -crf 23 -c:a aac "clip-accurate.mp4"در روش دوم پردازش کندتر است و کیفیت خروجی به تنظیمات encode وابسته خواهد بود.

تصویر نمونه، برش سریع با کپی جریان ها را نشان می دهد؛ نقطه شروع ممکن است دقیق نباشد.
تغییر اندازه تصویر ویدیو
برای تبدیل عرض تصویر به ۱۲۸۰ پیکسل و نگه داشتن نسبت تصویر، از فیلتر scale استفاده کنید:
ffmpeg -i "input.mp4" -vf "scale=1280:-2" -c:v libx264 -crf 23 -c:a aac "output-720p.mp4"مقدار -2 ارتفاع را متناسب با نسبت تصویر محاسبه می کند و آن را به عدد زوج مناسب انکودر می رساند. این مثال ارتفاع ثابت ۷۲۰ پیکسل را تضمین نمی کند؛ نام خروجی را بر اساس نتیجه واقعی انتخاب کنید یا مشخصات فایل خروجی را با ffprobe بررسی کنید.
گرفتن تصویر بندانگشتی از ویدیو
برای ذخیره یک فریم از ویدیو در ثانیه پنجم:
ffmpeg -ss 00:00:05 -i "input.mp4" -frames:v 1 "thumbnail.jpg"اگر زمان انتخاب شده خارج از مدت فایل باشد یا در فایل خرابی وجود داشته باشد، خروجی ساخته نمی شود. زمان را با مدت فایل که از ffprobe دیده اید هماهنگ کنید.
تبدیل گروهی چند فایل با حلقه Bash
اگر چند فایل MOV در پوشه فعلی دارید و می خواهید آنها را به MP4 تبدیل کنید، در Bash می توانید از حلقه زیر استفاده کنید:
for f in *.mov; do
[ -e "$f" ] || continue
ffmpeg -i "$f" -c:v libx264 -crf 23 -preset medium -c:a aac "${f%.*}.mp4"
doneاین حلقه فایل های MOV را در همان پوشه پردازش می کند. پیش از اجرای دسته ای، مطمئن شوید خروجی همنام از قبل ندارید و فضای دیسک کافی دارید. اگر فایل ها پسوند بزرگ دارند مثل .MOV، الگوی حلقه را هم تغییر دهید.
چطور خطاهای رایج FFmpeg را حل کنیم؟
خطای No such file or directory
نام یا مسیر فایل ورودی اشتباه است یا ترمینال در پوشه دیگری قرار دارد. با pwd مسیر فعلی و با ls -lh نام فایل ها را بررسی کنید. اگر نام فاصله دارد آن را داخل کوتیشن بگذارید.
خطای Unknown encoder یا Unknown decoder
نسخه FFmpeg نصب شده انکودر یا دیکودر موردنیاز را ندارد. با ffmpeg -encoders و ffmpeg -decoders نام های در دسترس را ببینید. ممکن است لازم باشد مخزن مناسب توزیع را فعال کنید یا از انکودر دیگری استفاده کنید.
خطای Permission denied
کاربر دسترسی خواندن فایل ورودی یا نوشتن در پوشه خروجی را ندارد. مسیر و مجوز فایل را بررسی کنید. اجرای FFmpeg با دسترسی root معمولا راه حل مناسبی نیست؛ بهتر است مجوز درست فایل یا پوشه را برای کاربر لازم تنظیم کنید.
فضای دیسک تمام شده است
فشرده سازی ویدیو می تواند فایل موقت یا خروجی بزرگی بسازد. با df -h فضای آزاد را بررسی کنید و خروجی را در مسیری با فضای کافی ذخیره کنید.
فایل خروجی باز نمی شود یا صدا ندارد
مشخصات خروجی را با ffprobe بررسی کنید. احتمال دارد کدک با پخش کننده سازگار نباشد، جریان صوتی در ورودی وجود نداشته باشد یا خروجی ناقص مانده باشد. فایل اصلی را حذف نکنید تا وقتی که خروجی را پخش و کنترل کرده اید.
نکات مهم برای کار امن با FFmpeg
- خروجی را ابتدا با نامی تازه ذخیره کنید. گزینه
-yفایل خروجی همنام را بدون پرسش بازنویسی می کند؛ فقط وقتی از آن استفاده کنید که عمدا همین رفتار را می خواهید. - FFmpeg را با دسترسی root اجرا نکنید مگر نیاز مشخصی داشته باشید. برای تبدیل فایل های کاربر، دسترسی همان کاربر کافی است.
- فایل های ورودی ناشناس را روی سرور حساس اجرا نکنید و FFmpeg را از مخازن قابل اعتماد توزیع نصب کنید.
- برای تبدیل طولانی، زمان اجرا و فضای ذخیره سازی را در نظر بگیرید. encode ویدیویی می تواند CPU را برای مدت زیادی درگیر کند.
- قوانین مجوز، حق نشر و استفاده از محتوای صوتی و تصویری را رعایت کنید.
پرسش های متداول
چطور بفهمم FFmpeg نصب شده است؟
دستور ffmpeg -version را اجرا کنید. برای بررسی ffprobe هم ffprobe -version را بزنید. اگر پیام پیدا نشدن دستور گرفتید، نصب کامل نشده یا مسیر اجرایی در PATH نیست.
آیا عوض کردن پسوند فایل، فرمت را تبدیل می کند؟
خیر. تغییر نام مثلا از MKV به MP4 محتوای فایل را تبدیل نمی کند. برای سازگاری بیشتر باید از FFmpeg استفاده کنید و ظرف و کدک مناسب انتخاب کنید.
تفاوت تبدیل با -c copy چیست؟
تبدیل معمولی، جریان صوت یا تصویر را decode و دوباره encode می کند. -c copy داده های فشرده شده را بدون encode دوباره در ظرف خروجی کپی می کند. این روش سریع است اما فقط وقتی جواب می دهد که کدک با ظرف جدید سازگار باشد.
برای MP4 از چه کدک هایی استفاده کنم؟
برای سازگاری عمومی، معمولا H.۲۶۴ برای تصویر و AAC برای صدا انتخاب می شوند. اما پشتیبانی نهایی به دستگاه پخش، نسخه FFmpeg و تنظیمات encode بستگی دارد.
چرا تبدیل یک ویدیو روی سرور کند است؟
سرعت به رزولوشن و نرخ فریم ورودی، تنظیم CRF و preset، انکودر انتخاب شده، توان CPU و نوع ذخیره ساز بستگی دارد. preset سریع تر زمان را کم می کند اما ممکن است برای حجم مشابه، فشرده سازی ضعیف تری داشته باشد.
جمع بندی نگارنوین برای شما اگه خوشت اومد یه نظر مهمون ما کن!
برای نصب FFmpeg از بسته های سازگار با توزیع لینوکس خودتان استفاده کنید. در Ubuntu و Debian روش معمول apt است؛ در Fedora و خانواده RHEL مانند AlmaLinux و Rocky، مخزن های فعال و نسخه سیستم روی دسترسی به کدک ها اثر می گذارند. بعد از نصب، با ffprobe فایل را بررسی کنید و سپس دستور تبدیل را با کدک مناسب اجرا کنید. برای شروع کار روزانه، تبدیل به MP4، استخراج صدا، برش کلیپ و گرفتن تصویر بندانگشتی از کاربردی ترین فرمان ها هستند.
اگر تازه با ترمینال سرور کار می کنید، راهنمای اتصال SSH به لینوکس را ببینید. برای اجرای پردازش های چندرسانه ای روی سرور نیز می توانید مشخصات سرور مجازی لینوکس نگارنوین را بررسی کنید.
تصاویر آموزشی این مقاله نمونه های بازسازی شده هستند؛ فرمان ها و خروجی ها باید با نسخه و مخزن های فعال روی سرور خودتان تطبیق داده شوند.
آموزش نصب و استفاده از FFmpeg در لینوکس — نگارنوین (https://negarnovin.com/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%86%d8%b5%d8%a8-%d9%88-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2-ffmpeg-%d8%af%d8%b1-%d9%84%db%8c%d9%86%d9%88%da%a9%d8%b3/)، آخرین بهروزرسانی 2026-11-02