FFMPEG-CODECS(1) راهنمای ابزارهای چندرسانه‌ای FFMPEG-CODECS(1)

ffmpeg-codecs - کدک‌های صوتی، ویدیویی و زیرنویس FFmpeg

این سند به توصیف کدک‌ها (رمزگشاها و رمزگذارها) ارائه شده توسط کتابخانه libavcodec می‌پردازد. کتابخانه libavcodec بخش عظیمی از کدک‌های چندرسانه‌ای استاندارد و اختصاصی را پشتیبانی می‌کند.

کتابخانه libavcodec گزینه‌های عمومی سراسری را فراهم می‌کند که می‌توانند روی تمامی انکودرها و دیکودرها تنظیم شوند. علاوه بر این، هر کدک ممکن است از گزینه‌های اختصاصی (private options) مختص به خود نیز پشتیبانی کند.

گزینه‌ها در ابزارهای FFmpeg با نحو -option value، یا با تنظیم مستقیم در ساختار "AVCodecContext" یا استفاده از رابط برنامه‌نویسی libavutil/opt.h اعمال می‌شوند.

فهرست گزینه‌های عمومی پرکاربرد:

تنظیم نرخ بیت (bitrate) بر حسب بیت بر ثانیه. مقدار پیش‌فرض 200K است.
تنظیم نرخ بیت صدا بر حسب بیت بر ثانیه. مقدار پیش‌فرض 128K است.
تنظیم تلورانس نرخ بیت ویدیو بر حسب بیت بر ثانیه.
تنظیم پرچم‌های عمومی کدک. مقادیر ممکن شامل mv4، qpel، loop، gray، psnr، pass1، pass2 و drop_frame است.
تنظیم پرچم‌های پیشرفته شامل fast، noout، ignorecrop، showall و export_mvs.
تنظیم پایه زمانی کدک.
تنظیم اندازه گروه تصاویر (GOP size یا فاصله بین فریم‌های کلیدی Intra).
تنظیم نرخ نمونه‌برداری صوتی (audio sampling rate) بر حسب هرتز.
تنظیم تعداد کانال‌های صوتی.
تنظیم فرکانس قطع پهنای باند صوتی.
تنظیم تعداد نمونه‌های صوتی در هر فریم.
استفاده از مقیاس کیفیت ثابت (VBR/CQ).
حداقل و حداکثر ضریب کوانتیزاسیون مجاز.
تنظیم حداکثر تعداد فریم‌های دوطرفه B متوالی بین فریم‌های غیر B.
تنظیم تعداد ریسه‌ها (Threads) برای پردازش چندرشته‌ای. مقدار 0 یا auto تعداد هسته‌های پردازنده را به طور خودکار تشخیص می‌دهد.
نوع پردازش چندرشته‌ای: slice (چندرشته‌ای بر پایه برش‌های فریم) یا frame (چندرشته‌ای بر پایه چندین فریم موازی).

رمزگشاها (Decoders) مؤلفه‌هایی هستند که بسته‌های فشرده‌شده داده صوتی، ویدیویی یا متنی را از قالب‌های مختلف به فریم‌های خام و فشرده‌نشده تبدیل می‌کنند.

برخی از مهم‌ترین رمزگشاهای ویدیویی عبارتند از:

رمزگشای استاندارد ویدیوهای AVC/H.264 و HEVC/H.265 با بهینه‌سازی‌های عمیق اسمبلی برای معماری‌های x86 و ARM، همراه با پشتیبانی از شتاب‌دهنده‌های سخت‌افزاری VAAPI، VDPAU، NVDEC و D3D11VA.
رمزگشاهای فرمت‌های باز شرکت گوگل و کنسرسیوم رسانه باز (AOMedia) شامل داوید (libdav1d) به عنوان سریع‌ترین رمزگشای نرم‌افزاری AV1.
رمزگشای تصاویر فشرده JPEG و استریم‌های Motion JPEG.
رمزگشای ویدیوهای خام فشرده‌نشده در انواع قالب‌های پیکسلی مانند YUV420P، RGB24 و NV12.

رمزگشای استاندارد صدای پیشرفته AAC (پروفایل‌های LC، HE-AAC، LD و ELD).
رمزگشای صدای فشرده بدون اتلاف FLAC.
رمزگشای صدای پرکاربرد MPEG-1/2 Audio Layer III به صورت محاسبات عدد صحیح یا ممیز شناور.
رمزگشاهای صدای باز و تعاملی Opus و Ogg Vorbis.

رمزگشای زیرنویس‌های غنی و دارای استایل گرافیکی Advanced SubStation Alpha.
رمزگشای ساده‌ترین و گسترده‌ترین فرمت زیرنویس متنی SubRip.
رمزگشاهای زیرنویس مبتنی بر تصویر (Bitmap) مورد استفاده در DVD و دیسک‌های Blu-ray.

رمزگذارها (Encoders) مؤلفه‌هایی هستند که فریم‌های خام صوتی و تصویری را دریافت کرده و به جریانی فشرده با اندازه کمتر تبدیل می‌کنند.

رمزگذار بومی FFmpeg برای استریم‌های صوتی AAC.

گزینه‌های اختصاصی:

انتخاب روش کدگذاری: twoloop، anmr، fast.
فعال یا غیرفعال کردن استریوی میانی/کناری (Mid/Side stereo).
کتابخانه رابط LAME برای تولید فایل‌های صوتی MP3 با کیفیت بسیار بالا.

پشتیبانی از گزینه‌های نرخ بیت ثابت (-b:a) و کیفیت متغیر VBR (-q:a).

رمزگذار پیشرفته تعاملی Opus برای گفتار و موسیقی با کمترین تأخیر ممکن.

پیشرفته‌ترین و محبوب‌ترین رمزگذار H.264/MPEG-4 AVC.

گزینه‌های پرکاربرد:

تنظیم سرعت فشرده‌سازی در برابر بازدهی حجم: ultrafast، superfast، veryfast، faster، fast، medium (پیش‌فرض)، slow، slower، veryslow.
بهینه‌سازی برای نوع محتوا: film، animation، grain، stillimage، fastdecode، zerolatency.
فاکتور نرخ ثابت (Constant Rate Factor) برای کیفیت بصری ثابت در مقیاس 0 تا 51 (مقدار پیش‌فرض 23؛ مقادیر کمتر کیفیت بالاتر دارند).
ارسال پارامترهای مستقیم به موتور کتابخانه libx264 به فرم کلید=مقدار.
رمزگذار قدرتمند نسل بعدی H.265 / HEVC برای وضوح 4K و بالاتر با فشرده‌سازی تا ۵۰ درصد بیشتر نسبت به H.264 در کیفیت برابر.
رمزگذارهای فرمت‌های ویدیویی VP8 و VP9 طراحی‌شده برای محیط وب و استاندارد WebM.
رمزگذارهای مدرن قالب باز AV1 با بهره‌وری بی‌نظیر فشرده‌سازی بدون حق امتیاز انحصاری.
رمزگذارهای با شتاب‌دهنده سخت‌افزاری برای کارت‌های گرافیک NVIDIA، سیستم‌های Intel و کنترلرهای شتاب باز لینوکس جهت پردازش بدون اشغال پردازنده مرکزی (CPU).

کدگذاری زیرنویس‌های متنی ساده SubRip.
کدگذاری زیرنویس‌های قالب‌بندی‌شده پیشرفته Advanced SubStation Alpha.
کدگذاری زیرنویس متنی ۳GPP/MPEG-4 سازگار با کانتینرهای MP4 و دستگاه‌های همراه.

ffmpeg(1), ffplay(1), ffprobe(1), ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1), ffmpeg-devices(1), ffmpeg-protocols(1), ffmpeg-filters(1), libavcodec(3)

توسعه‌دهندگان FFmpeg.

برای جزئیات درباره نویسندگی، به تاریخچه گیت پروژه در https://git.ffmpeg.org/ffmpeg مراجعه فرمایید.

FFmpeg