avconv - آنلاین در ابر

این دستور avconv است که می تواند در ارائه دهنده میزبانی رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


ffmpeg - مبدل ویدیویی ffmpeg

خلاصه


ffmpeg [global_Options] {[input_file_Options] -من فایل ورودی} ... {[output_file_Options]
فایل خروجی}...

شرح


ffmpeg یک مبدل ویدیویی و صوتی بسیار سریع است که می تواند از یک فایل صوتی/تصویری زنده نیز بگیرد
منبع همچنین می‌تواند بین نرخ‌های نمونه دلخواه و تغییر اندازه ویدیو در لحظه تبدیل شود
دارای فیلتر پلی فاز با کیفیت بالا

ffmpeg از تعداد دلخواه "فایل" ورودی (که می تواند فایل های معمولی، لوله ها،
جریان های شبکه، دستگاه های گرفتن و غیره)، توسط گزینه "-i" مشخص شده و در یک می نویسد.
تعداد دلخواه "فایل" خروجی، که با نام فایل خروجی ساده مشخص می شوند.
هر چیزی که در خط فرمان یافت می شود و نمی تواند به عنوان یک گزینه تفسیر شود، در نظر گرفته می شود
نام فایل خروجی باشد.

هر فایل ورودی یا خروجی، در اصل، می‌تواند حاوی تعداد زیادی جریان متفاوت باشد
انواع (ویدئو/صوت/زیرنویس/پیوست/داده). تعداد مجاز و/یا انواع جریان‌ها
ممکن است با قالب ظرف محدود شود. انتخاب جریان ها از کدام ورودی ها
که در آن خروجی به صورت خودکار یا با گزینه "-map" انجام می شود (به جریان مراجعه کنید
فصل انتخاب).

برای مراجعه به فایل های ورودی در گزینه ها، باید از شاخص های آنها (بر اساس 0) استفاده کنید. مثلا اولی
فایل ورودی 0 است، دومی 1 است، و غیره. به همین ترتیب، جریان های درون یک فایل توسط
شاخص های آنها به عنوان مثال "2:3" به جریان چهارم در فایل ورودی سوم اشاره دارد. همچنین نگاه کنید به
فصل مشخص کننده های جریان

به عنوان یک قاعده کلی، گزینه ها برای فایل مشخص شده بعدی اعمال می شوند. بنابراین، نظم است
مهم است، و می توانید چندین بار همان گزینه را در خط فرمان داشته باشید. هر یک
وقوع سپس به فایل ورودی یا خروجی بعدی اعمال می شود. استثناهایی از این قاعده
گزینه های جهانی (مثلا سطح پرحرفی) هستند که ابتدا باید مشخص شوند.

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

· برای تنظیم میزان بیت ویدیوی فایل خروجی روی 64 کیلوبیت بر ثانیه:

ffmpeg -i input.avi -b:v 64k -bufsize 64k output.avi

· برای وادار کردن نرخ فریم فایل خروجی به 24 فریم در ثانیه:

ffmpeg -i input.avi -r 24 output.avi

· برای وادار کردن نرخ فریم فایل ورودی (معتبر فقط برای فرمت های خام) به 1 فریم در ثانیه و
نرخ فریم فایل خروجی به 24 فریم در ثانیه:

ffmpeg -r 1 -i input.m2v -r 24 output.avi

گزینه قالب ممکن است برای فایل های ورودی خام مورد نیاز باشد.

جزئیات شرح


فرآیند رمزگذاری در ffmpeg برای هر خروجی را می توان با موارد زیر توصیف کرد
نمودار:

_______ ______________
| | | |
| ورودی | دمکسر | داده های رمزگذاری شده | رمزگشا
| فایل | ---------> | بسته ها | -----+
|_______| |______________| |
v
_________
| |
| رمزگشایی شده |
| قاب |
|_________|
________ ______________ |
| | | | |
| خروجی | <-------- | داده های رمزگذاری شده | <----+
| فایل | muxer | بسته ها | رمزگذار
|________| |______________|

ffmpeg کتابخانه libavformat (حاوی demuxers) را برای خواندن فایل های ورودی و دریافت فراخوانی می کند
بسته های حاوی داده های کدگذاری شده از آنها. هنگامی که چندین فایل ورودی وجود دارد، ffmpeg
سعی می کند با ردیابی کمترین زمان در هر جریان ورودی فعال، آنها را همگام نگه دارد.

بسته های رمزگذاری شده سپس به رمزگشا ارسال می شوند (مگر اینکه استریم کپی برای آن انتخاب شده باشد
جریان، برای توضیحات به ادامه مطلب مراجعه کنید). رمزگشا فریم های فشرده نشده (خام) تولید می کند
ویدئو/صوت PCM/...) که با فیلتر کردن بیشتر قابل پردازش است (به بخش بعدی مراجعه کنید). بعد از
با فیلتر کردن، فریم ها به رمزگذار ارسال می شوند که آنها را رمزگذاری می کند و خروجی ها کدگذاری می شوند
بسته ها در نهایت آن‌ها به muxer ارسال می‌شوند، که بسته‌های کدگذاری‌شده را در می‌نویسد
فایل خروجی.

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

ساده فیلتر گراف ها

فیلترگراف های ساده آنهایی هستند که دقیقاً یک ورودی و خروجی دارند، هر دو یکسان
نوع در نمودار بالا می توان آنها را به سادگی با درج یک مرحله اضافی نشان داد
بین رمزگشایی و رمزگذاری:

_________ ______________
| | | |
| رمزگشایی شده | | داده های رمزگذاری شده |
| قاب |\ _ | بسته ها |
|_________| \ /||______________|
\ __________ /
ساده _\|| | / رمزگذار
فیلترگراف | فیلتر شده |/
| قاب |
|__________|

فیلترگراف های ساده با هر جریان پیکربندی می شوند -فیلتر گزینه (با -vf و -af
نام مستعار برای ویدیو و صدا). یک فیلترگراف ساده برای ویدیو می‌تواند جستجو کند
مثالی مانند این:

_______ _____________ _______ ________
| | | | | | | |
| ورودی | ---> | جدا کردن | ---> | مقیاس | ---> | خروجی |
|_______| |_____________| |_______| | ________ |

توجه داشته باشید که برخی از فیلترها ویژگی های فریم را تغییر می دهند اما محتوای فریم را تغییر نمی دهند. به عنوان مثال "fps"
فیلتر در مثال بالا تعداد فریم ها را تغییر می دهد، اما قاب را لمس نمی کند
فهرست. مثال دیگر فیلتر "setpts" است که فقط مهرهای زمانی و غیره را تنظیم می کند
فریم ها را بدون تغییر عبور می دهد.

جراحی های فیلتر گراف ها

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

_________
| |
| ورودی 0 |\ __________
|_________| \ | |
\ _________ /| خروجی 0 |
\ | | / |__________|
_________ \| مجتمع | /
| | | |/
| ورودی 1 |---->| فیلتر |
|_________| | | \ __________
/| نمودار | \ | |
/ | | \| خروجی 1 |
_________ / |_________| |__________|
| | /
| ورودی 2 |/
|_________|

فیلترگراف های پیچیده با پیکربندی شده اند -filter_complex گزینه. توجه داشته باشید که این
گزینه جهانی است، زیرا یک فیلترگراف پیچیده، به دلیل ماهیت خود، نمی تواند بدون ابهام باشد
مرتبط با یک جریان یا فایل واحد.

La -لاوفی گزینه معادل است -filter_complex.

یک مثال بی اهمیت از یک فیلترگراف پیچیده، فیلتر "همپوشانی" است که دارای دو ویدئو است
ورودی ها و یک خروجی ویدیو، که شامل یک ویدیو روی دیگری است. صوتی آن
همتای آن فیلتر "amix" است.

جریان کپی کنید
کپی جریان حالتی است که با ارائه پارامتر "کپی" به آن انتخاب می شود -کدک گزینه. آی تی
می سازد ffmpeg مرحله رمزگشایی و رمزگذاری را برای جریان مشخص شده حذف کنید، بنابراین فقط انجام می شود
دمکسینگ و ماکسینگ برای تغییر قالب ظرف یا اصلاح مفید است
فراداده در سطح ظرف نمودار بالا در این مورد ساده تر می شود:

_______ ______________ ________
| | | | | |
| ورودی | دمکسر | داده های رمزگذاری شده | muxer | خروجی |
| فایل | ---------> | بسته ها | -------> | فایل |
|_______| |______________| |________|

از آنجایی که رمزگشایی یا رمزگذاری وجود ندارد، بسیار سریع است و هیچ افت کیفیتی ندارد.
با این حال، ممکن است در برخی موارد به دلیل عوامل بسیاری کارایی نداشته باشد. اعمال فیلتر است
بدیهی است که غیرممکن است، زیرا فیلترها روی داده های فشرده نشده کار می کنند.

STREAM انتخاب


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

می توانید برخی از این پیش فرض ها را با استفاده از گزینه های "-vn/-an/-sn" غیرفعال کنید. برای کتابچه راهنمای کامل
کنترل، از گزینه "-map" استفاده کنید، که پیش فرض هایی را که توضیح داده شد غیرفعال می کند.

OPTIONS


تمام گزینه‌های عددی، اگر در غیر این صورت مشخص نشده باشند، رشته‌ای را می‌پذیرند که نشان‌دهنده a است
عدد به عنوان ورودی، که ممکن است با یکی از پیشوندهای واحد SI دنبال شود، برای مثال: "K"،
"M" یا "G".

اگر 'i' به پیشوند واحد SI اضافه شود، پیشوند کامل به عنوان یک تعبیر می شود.
پیشوند واحد برای مضربین باینری که به جای توان های بر اساس توان های 1024 هستند
1000. اضافه کردن B به پیشوند واحد SI مقدار را در 8 ضرب می کند.
به عنوان مثال: 'KB'، 'MiB'، 'G' و 'B' به عنوان پسوند اعداد.

گزینه هایی که آرگومان نمی گیرند، گزینه های بولی هستند و مقدار مربوطه را تنظیم می کنند
به درستی با قرار دادن پیشوند نام گزینه با "no" می توان آنها را روی false تنظیم کرد. مثلا
با استفاده از "-nofoo" گزینه boolean با نام "foo" روی false تنظیم می شود.

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

مشخص‌کننده جریان رشته‌ای است که عموماً به نام گزینه اضافه می‌شود و از آن جدا می‌شود
توسط یک روده بزرگ به عنوان مثال "-codec:a:1 ac3" حاوی مشخص کننده جریان "a:1" است که با
جریان صوتی دوم بنابراین، کدک ac3 را برای جریان صوتی دوم انتخاب می کند.

یک مشخص کننده جریان می تواند چندین جریان را مطابقت دهد، به طوری که این گزینه برای همه آنها اعمال می شود
آنها به عنوان مثال، مشخص‌کننده جریان در "-b:a 128k" با همه جریان‌های صوتی مطابقت دارد.

یک مشخص کننده جریان خالی با همه جریان ها مطابقت دارد. به عنوان مثال، "-codec copy" یا "-codec:
copy" تمام جریان‌ها را بدون رمزگذاری مجدد کپی می‌کند.

اشکال احتمالی مشخص کننده های جریان عبارتند از:

stream_index
جریان را با این شاخص مطابقت می دهد. به عنوان مثال "-threads:1 4" تعداد رشته ها را تنظیم می کند
جریان دوم تا 4.

stream_type[:stream_index]
stream_type یکی از موارد زیر است: 'v' یا 'V' برای ویدیو، 'a' برای صدا، 's' برای
زیرنویس، «d» برای داده‌ها و «t» برای پیوست‌ها. «v» با همه جریان‌های ویدیویی مطابقت دارد، «V»
فقط با جریان‌های ویدیویی مطابقت دارد که تصاویر، تصاویر کوچک ویدیو یا جلد ضمیمه نیستند
هنرها اگر stream_index داده می شود، سپس با شماره جریان مطابقت دارد stream_index از این
نوع در غیر این صورت، با تمام جریان های این نوع مطابقت دارد.

p:برنامه_id[:stream_index]
If stream_index داده می شود، سپس جریان را با شماره مطابقت می دهد stream_index در
برنامه با شناسه برنامه_id. در غیر این صورت، با تمام جریان های برنامه مطابقت دارد.

#stream_id or i:stream_id
جریان را با شناسه جریان (به عنوان مثال PID در ظرف MPEG-TS) مطابقت دهید.

m:کلید[:ارزش]
جریان‌ها را با تگ فراداده مطابقت می‌دهد کلید داشتن مقدار مشخص شده اگر ارزش نیست
داده شده، جریان هایی را که حاوی برچسب داده شده با هر مقداری هستند مطابقت می دهد.

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

توجه داشته باشید که در ffmpeg، مطابقت با ابرداده فقط برای فایل های ورودی به درستی کار می کند.

عمومی گزینه های
این گزینه ها در میان ابزارهای ff* به اشتراک گذاشته شده است.

-L نمایش مجوز.

-h، -؟، -کمک، --کمک [ارگ]
نشان دادن کمک ممکن است یک پارامتر اختیاری برای چاپ راهنمایی در مورد یک مورد خاص مشخص شود.
اگر هیچ آرگومانی مشخص نشده باشد، فقط گزینه های ابزار اصلی (غیر پیشرفته) نشان داده می شود.

مقادیر احتمالی ارگ هستند:

طولانی
علاوه بر گزینه های ابزار اصلی، گزینه های ابزار پیشرفته را چاپ کنید.

کامل
چاپ لیست کامل گزینه ها، از جمله گزینه های مشترک و خصوصی برای رمزگذارها،
رمزگشاها، دموکسرها، موکسرها، فیلترها و غیره

رمزگشا =رمزگشای_نام
اطلاعات دقیق در مورد رسیور نامگذاری شده را چاپ کنید رمزگشای_نام. استفاده از رمزگشاها
گزینه ای برای دریافت لیستی از همه رمزگشاها.

رمزگذار =رمزگذار_نام
اطلاعات دقیق در مورد رمزگذار نامگذاری شده را چاپ کنید رمزگذار_نام. استفاده از رمزگذارها
گزینه ای برای دریافت لیستی از همه رمزگذارها.

دمکسر=demuxer_name
چاپ اطلاعات دقیق در مورد demuxer نام demuxer_name. استفاده از فرمت ها
گزینه ای برای دریافت لیستی از همه دموکسرها و موکسرها.

muxer=muxer_name
چاپ اطلاعات دقیق در مورد muxer به نام muxer_name. استفاده از فرمت ها
گزینه ای برای دریافت لیستی از همه muxers و demuxers.

فیلتر=filter_name
اطلاعات دقیق درباره نام فیلتر را چاپ کنید filter_name. استفاده از -فیلترها
گزینه ای برای دریافت لیستی از تمام فیلترها.

-version
نمایش نسخه.

فرمت ها
نمایش قالب‌های موجود (از جمله دستگاه‌ها).

دستورالعمل ها
نمایش دستگاه های موجود

-کدک ها
نمایش همه کدک های شناخته شده به libavcodec.

توجه داشته باشید که عبارت "کدک" در سراسر این مستندات به عنوان میانبر برای استفاده می شود
که به درستی فرمت بیت استریم رسانه ای نامیده می شود.

رمزگشاها
نمایش رمزگشاهای موجود

رمزگذارها
نمایش همه رمزگذارهای موجود

-bsfs
نمایش فیلترهای جریان بیت موجود

-پروتکل ها
نمایش پروتکل های موجود

-فیلترها
نمایش فیلترهای libavfilter موجود.

-PIX_FMTS
نمایش قالب‌های پیکسلی موجود

-sample_fmts
نمایش قالب‌های نمونه موجود

-طرح بندی ها
نمایش نام کانال و طرح بندی استاندارد کانال.

رنگها
نمایش نام های رنگ شناخته شده

-منابع دستگاه[,انتخاب 1=val1[,انتخاب 2=val2]...]
نمایش منابع شناسایی شده خودکار دستگاه ورودی. برخی از دستگاه ها ممکن است سیستم
نام های منبع وابسته که نمی توانند به طور خودکار شناسایی شوند. لیست برگشتی نمی تواند باشد
فرض می شود همیشه کامل است.

ffmpeg -sources pulse,server=192.168.0.4

غرق می شود دستگاه[,انتخاب 1=val1[,انتخاب 2=val2]...]
سینک های شناسایی خودکار دستگاه خروجی را نشان دهید. برخی از دستگاه ها ممکن است سیستم
نام های سینک وابسته که نمی توانند به طور خودکار شناسایی شوند. لیست برگشتی را نمی توان فرض کرد
تا همیشه کامل باشد

ffmpeg -sinks pulse,server=192.168.0.4

-loglevel [تکرار +]سطح ورود | -v [تکرار +]سطح ورود
سطح گزارش استفاده شده توسط کتابخانه را تنظیم کنید. اضافه کردن "repeat+" نشان می دهد که تکرار شده است
خروجی ورود به سیستم نباید به خط اول فشرده شود و "آخرین پیام تکرار شد n
خط بار حذف می‌شود. «تکرار» نیز می‌تواند به تنهایی استفاده شود. اگر از «تکرار» استفاده شود
به تنهایی، و بدون تنظیم loglevel قبلی، loglevel پیش فرض استفاده خواهد شد. اگر چندتایی باشد
پارامترهای loglevel داده شده است، استفاده از 'repeat' باعث تغییر سطح loglevel نمی شود. سطح ورود
رشته یا عددی است که حاوی یکی از مقادیر زیر است:

ساکت، -8
اصلاً هیچ چیز را نشان ندهد. ساکت باش.

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

کشنده، 8
فقط خطاهای کشنده را نشان می دهد. اینها خطاهایی هستند که پس از آن فرآیند مطلقاً نمی تواند
ادامه بعد از

خطا ، 16
نمایش همه خطاها، از جمله خطاهایی که قابل بازیابی هستند.

هشدار ، 24
نمایش همه هشدارها و خطاها هر پیامی که مربوط به احتمالاً نادرست یا
رویدادهای غیر منتظره نشان داده خواهد شد.

اطلاعات ، 32
نمایش پیام های آموزنده در طول پردازش این علاوه بر هشدار و
خطاها این مقدار پیش فرض است.

پر حرف، 40
همان "اطلاعات"، به جز پرمخاطب تر.

اشکال زدایی، 48
نمایش همه چیز، از جمله اطلاعات اشکال زدایی.

پی گیری، 56

اگر رنگ آمیزی توسط ترمینال پشتیبانی شود، به طور پیش فرض برنامه به stderr ثبت می شود.
رنگ ها برای علامت گذاری خطاها و هشدارها استفاده می شوند. رنگ آمیزی ورود به سیستم را می توان با تنظیم غیر فعال کرد
متغیر محیطی AV_LOG_FORCE_NOCOLOR or بدون رنگ، یا می توان اجباری تنظیم کرد
متغیر محیطی AV_LOG_FORCE_COLOR. استفاده از متغیر محیطی بدون رنگ
منسوخ شده است و در نسخه FFmpeg زیر حذف خواهد شد.

-گزارش
خط فرمان کامل و خروجی کنسول را به فایلی با نام تخلیه کنید
"program-YYYYMMDD-HHMMSS.log" در دایرکتوری فعلی این فایل می تواند مفید باشد
گزارش های باگ همچنین به معنای "-loglevel verbose" است.

تنظیم متغیر محیطی FFREPORT به هر مقدار همان اثر را دارد. اگر
مقدار یک ':'-separated key=value توالی است، این گزینه ها بر گزارش تأثیر می گذارند.
اگر مقادیر گزینه حاوی نویسه‌های خاص یا گزینه‌ها باشد، باید از آن خارج شوند
جداکننده ':' (به بخش «نقل و فرار» در کتابچه راهنمای ffmpeg-utils مراجعه کنید).

گزینه های زیر شناسایی می شوند:

پرونده
نام فایل را برای استفاده برای گزارش تنظیم کنید. %p به نام آن گسترش یافته است
برنامه، %t به یک مهر زمانی گسترش می‌یابد، «%%» به یک «%» ساده گسترش می‌یابد.

سطح
سطح پرحرفی گزارش را با استفاده از یک مقدار عددی تنظیم کنید (به "-loglevel" مراجعه کنید).

به عنوان مثال، برای خروجی گزارش به فایلی با نام ffreport.log با استفاده از سطح گزارش 32
(نام مستعار برای سطح گزارش "اطلاعات"):

FFREPORT=file=ffreport.log:level=32 خروجی ورودی ffmpeg -i

خطاها در تجزیه متغیر محیطی کشنده نیستند و در آن ظاهر نمی شوند
گزارش.

-hide_banner
توقف چاپ بنر.

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

-cpflags پرچم ها (جهانی)
اجازه تنظیم و پاک کردن پرچم های cpu را می دهد. این گزینه برای تست در نظر گرفته شده است. استفاده نکن
مگر اینکه بدانید دارید چه کار می کنید.

ffmpeg -cpuflags -sse+mmx ...
ffmpeg -cpuflags mmx ...
ffmpeg -cpuflags 0 ...

پرچم های احتمالی برای این گزینه عبارتند از:

x86
هوم
mmxext
ESS
sse2
sse2slow
sse3
sse3slow
ssse3
اتم
sse4.1
sse4.2
avx
avx2
xop
fma3
fma4
3 دانستن
3dnowext
bmi1
bmi2
cmov
ARM
armv5te
armv6
armv6t2
vfp
vfpv3
گاز نئون
قرار دادن
AAArch64
armv8
vfp
گاز نئون
PowerPC
altivec
خاص پردازنده
پنتیوم 2
پنتیوم 3
پنتیوم 4
k6
k62
پردازنده های Athlon
athlonxp
k8
-opencl_bench
این گزینه برای محک زدن همه دستگاه های OpenCL موجود و چاپ نتایج استفاده می شود.
این گزینه فقط زمانی در دسترس است که FFmpeg با "--enable-opencl" کامپایل شده باشد.

هنگامی که FFmpeg با "--enable-opencl" پیکربندی می شود، گزینه های OpenCL جهانی
زمینه از طریق تنظیم می شوند -opencl_Options. به بخش "OpenCL Options" در ffmpeg- مراجعه کنید.
راهنمای استفاده از لیست کامل گزینه های پشتیبانی شده. در میان دیگران، این گزینه ها
شامل توانایی انتخاب یک پلت فرم و دستگاه خاص برای اجرای کد OpenCL است
بر. به طور پیش فرض، FFmpeg روی اولین دستگاه پلتفرم اول اجرا می شود. در حالی که
گزینه ها برای زمینه OpenCL جهانی انعطاف پذیری را در انتخاب کاربر به کاربر ارائه می دهند
دستگاه OpenCL به انتخاب خود، اکثر کاربران احتمالاً مایلند سریعترین را انتخاب کنند
دستگاه OpenCL برای سیستم آنها.

این گزینه با شناسایی به انتخاب کارآمدترین پیکربندی کمک می کند
دستگاه مناسب برای سیستم کاربر معیار داخلی در همه موارد اجرا می شود
دستگاه های OpenCL و عملکرد برای هر دستگاه اندازه گیری می شود. دستگاه های موجود در
لیست نتایج بر اساس عملکرد آنها با سریعترین دستگاه لیست شده مرتب شده است
اولین. کاربر می تواند متعاقباً فراخوانی کند ffmpeg با استفاده از دستگاه به نظر می رسد
مناسب از طریق -opencl_Options برای به دست آوردن بهترین عملکرد برای OpenCL
کد تسریع شده

استفاده معمولی برای استفاده از سریعترین دستگاه OpenCL شامل مراحل زیر است.

اجرای دستور:

ffmpeg -opencl_bench

شناسه پلت فرم را یادداشت کنید (pidx) و شناسه دستگاه (didx) از اولین یعنی سریعترین دستگاه
در لیست پلتفرم و دستگاه را با استفاده از دستور انتخاب کنید:

ffmpeg -opencl_options platform_idx= :device_idx= ...

-opencl_Options گزینه های (جهانی)
گزینه های محیط OpenCL را تنظیم کنید. این گزینه فقط زمانی در دسترس است که FFmpeg بوده باشد
با "--enable-opencl" کامپایل شده است.

گزینه های باید لیستی از کلید=ارزش جفت های گزینه با ":" از هم جدا شده اند. "OpenCL" را ببینید
بخش Options در کتابچه راهنمای ffmpeg-utils برای لیست گزینه های پشتیبانی شده.

AVOptions
این گزینه ها مستقیماً توسط libavformat، libavdevice و libavcodec ارائه می شوند
کتابخانه ها برای مشاهده لیست گزینه های AVOptions موجود، از -کمک گزینه. آن ها هستند
به دو دسته تقسیم می شوند:

عمومی
این گزینه ها را می توان برای هر ظرف، کدک یا دستگاهی تنظیم کرد. گزینه های عمومی هستند
در قسمت گزینه های AVFormatContext برای ظروف/دستگاه ها و در زیر AVCodecContext فهرست شده است.
گزینه هایی برای کدک ها

خصوصی
این گزینه ها مختص ظرف، دستگاه یا کدک داده شده است. گزینه های خصوصی
در زیر کانتینرها/دستگاه ها/کدک های مربوطه خود فهرست می شوند.

برای مثال برای نوشتن هدر ID3v2.3 به جای ID3v2.4 پیش فرض در فایل MP3، از
la نسخه id3v2 گزینه خصوصی MP3 muxer:

ffmpeg -i input.flac -id3v2_version 3 out.mp3

همه کدک های AVOptions در هر جریان هستند، و بنابراین یک مشخص کننده جریان باید به آن متصل شود
آنها.

توجه داشته باشید که -خیر سینتکس نمی تواند برای AVOptions بولی استفاده شود، استفاده کنید -گزینه 0/-گزینه 1.

توجه: روش قدیمی و غیرمستند برای مشخص کردن گزینه‌های AV در هر جریان با استفاده از v/a/s به
نام گزینه ها در حال حاضر منسوخ شده است و به زودی حذف خواهد شد.

اصلی گزینه های
-f fmt (ورودی خروجی)
فرمت فایل ورودی یا خروجی اجباری قالب معمولاً به صورت خودکار برای ورودی شناسایی می شود
فایل ها و حدس زده از پسوند فایل برای فایل های خروجی، بنابراین این گزینه نیست
در اکثر موارد مورد نیاز است.

-i نام فایل (ورودی)
نام فایل ورودی

-y (جهانی)
فایل های خروجی را بدون درخواست بازنویسی کنید.

-n (جهانی)
فایل های خروجی را بازنویسی نکنید و اگر قبلاً یک فایل خروجی مشخص شده است، فوراً از آن خارج شوید
وجود دارد

-c[:stream_specifier] کدک (ورودی/خروجی، در هر جریان)
-کدک[:stream_specifier] کدک (ورودی/خروجی، در هر جریان)
یک رمزگذار (در صورت استفاده قبل از یک فایل خروجی) یا یک رمزگشا (در صورت استفاده قبل از یک فایل خروجی) را انتخاب کنید
فایل ورودی) برای یک یا چند جریان. کدک نام رمزگشا/رمزگذار یا a
مقدار ویژه "کپی" (فقط خروجی) برای نشان دادن اینکه جریان قرار نیست دوباره اجرا شود.
کد گذاری شده است.

مثلا

ffmpeg -i INPUT -map 0 -c:v libx264 -c:a کپی OUTPUT

تمام جریان های ویدیویی را با libx264 رمزگذاری می کند و همه جریان های صوتی را کپی می کند.

برای هر جریان، آخرین گزینه مطابق با "c" اعمال می شود، بنابراین

ffmpeg -i INPUT -map 0 -c copy -c:v:1 libx264 -c:a:137 libvorbis OUTPUT

تمام استریم ها را کپی می کند به جز ویدیوی دوم که با libx264 کدگذاری می شود،
و صوت 138 که با libvorbis کدگذاری خواهد شد.

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

هنگامی که به عنوان یک گزینه خروجی استفاده می شود (قبل از نام فایل خروجی)، نوشتن خروجی را متوقف کنید
پس از اینکه مدت آن به پایان رسید مدت.

مدت باید مشخصات مدت زمان باشد، ببینید la زمان مدت بخش in la
ffmpeg-utils(1) کتابچه راهنمای.

-to و -t متقابلاً منحصر به فرد هستند و -t دارای اولویت است.

-به موقعیت (تولید)
نوشتن خروجی را متوقف کنید موقعیت. موقعیت باید مشخصات مدت زمان باشد،
دیدن la زمان مدت بخش in la ffmpeg-utils(1) کتابچه راهنمای.

-to و -t متقابلاً منحصر به فرد هستند و -t دارای اولویت است.

-fs حد_اندازه (تولید)
محدودیت اندازه فایل را بر حسب بایت تنظیم کنید.

-ss موقعیت (ورودی خروجی)
هنگامی که به عنوان یک گزینه ورودی استفاده می شود (قبل از "-i")، در این فایل ورودی به دنبال می شود موقعیت. توجه داشته باشید
که در اکثر فرمت ها امکان جستجوی دقیق وجود ندارد، بنابراین ffmpeg به دنبال خواهد بود
نزدیکترین نقطه جستجوی قبل موقعیت. هنگام رمزگذاری و -accurate_seek فعال شده است
(پیش فرض)، این بخش اضافی بین نقطه جستجو و موقعیت رمزگشایی خواهد شد
و دور انداخته شد. هنگام انجام جریان کپی یا زمانی که -noaccurate_seek استفاده می شود، خواهد بود
حفظ شده

هنگامی که به عنوان یک گزینه خروجی استفاده می شود (قبل از نام فایل خروجی)، ورودی را رمزگشایی می کند اما نادیده می گیرد
تا زمان رسیدن موقعیت.

موقعیت باید مشخصات مدت زمان باشد، ببینید la زمان مدت بخش in la
ffmpeg-utils(1) کتابچه راهنمای.

-sseof موقعیت (ورودی خروجی)
مانند گزینه "-ss" اما نسبت به "انتهای فایل". یعنی مقادیر منفی هستند
در ابتدا در فایل، 0 در EOF است.

-itsoffset چاپ افست (ورودی)
تعدیل زمان ورودی را تنظیم کنید.

چاپ افست باید مشخصات مدت زمان باشد، ببینید la زمان مدت بخش in la
ffmpeg-utils(1) کتابچه راهنمای.

افست به مهرهای زمانی فایل های ورودی اضافه می شود. تعیین یک افست مثبت
به این معنی است که جریان های مربوطه با مدت زمان مشخص شده در آن به تأخیر می افتند
چاپ افست.

-مهر زمانی تاریخ (تولید)
مهر زمان ضبط را در ظرف تنظیم کنید.

تاریخ باید مشخصات تاریخ باشد، ببینید la تاریخ بخش in la ffmpeg-utils(1) کتابچه راهنمای.

-متادیتا[:metadata_specifier] کلید=ارزش (خروجی، به ازای هر فراداده)
یک جفت کلید/مقدار فراداده تنظیم کنید.

اختیاری است متادیتا_مشخص کننده ممکن است برای تنظیم فراداده در جریان ها یا فصل ها داده شود.
برای جزئیات به مستندات "-map_metadata" مراجعه کنید.

این گزینه مجموعه فوق داده با "-map_metadata" را لغو می کند. امکان حذف نیز وجود دارد
ابرداده با استفاده از یک مقدار خالی

به عنوان مثال، برای تنظیم عنوان در فایل خروجی:

ffmpeg -i in.avi -metadata title="عنوان من" out.flv

برای تنظیم زبان اولین جریان صوتی:

ffmpeg -i INPUT -metadata:s:a:0 language=eng OUTPUT

-هدف نوع (تولید)
نوع فایل مورد نظر ("vcd"، "svcd"، "dvd"، "dv"، "dv50") را مشخص کنید. نوع ممکن است پیشوند باشد
با "pal-"، "ntsc-" یا "film-" برای استفاده از استاندارد مربوطه. همه فرمت
سپس گزینه ها (بیت، کدک ها، اندازه های بافر) به طور خودکار تنظیم می شوند. شما فقط می توانید تایپ کنید:

ffmpeg -i myfile.avi -target vcd /tmp/vcd.mpg

با این وجود می‌توانید گزینه‌های اضافی را تا زمانی که بدانید این کار را نمی‌کنند مشخص کنید
در تضاد با استاندارد، مانند:

ffmpeg -i myfile.avi -target vcd -bf 2 /tmp/vcd.mpg

-dframes عدد (تولید)
تعداد فریم های داده را برای خروجی تنظیم کنید. این نام مستعار "-frames:d" است.

-قاب ها[:stream_specifier] تعداد قاب (خروجی، در هر جریان)
پس از آن نوشتن در جریان را متوقف کنید تعداد قاب قاب ها

-q[:stream_specifier] q (خروجی، در هر جریان)
-qscale[:stream_specifier] q (خروجی، در هر جریان)
از مقیاس کیفیت ثابت (VBR) استفاده کنید. معنای q/qscale وابسته به کدک است. اگر qscale
بدون a استفاده می شود stream_specifier سپس فقط برای جریان ویدیو اعمال می شود، این است
برای حفظ سازگاری با رفتار قبلی و مشخص کردن کدک یکسان
مقدار خاص برای 2 کدک مختلف که صدا و تصویر است به طور کلی چیزی نیست که هست
در نظر گرفته شده زمانی که هیچ stream_specifier استفاده نمی شود.

-filter[:stream_specifier] فیلترگراف (خروجی، در هر جریان)
فیلترگراف مشخص شده توسط را ایجاد کنید فیلترگراف و از آن برای فیلتر کردن جریان استفاده کنید.

فیلترگراف شرحی از فیلترگراف برای اعمال در جریان است و باید داشته باشد
یک ورودی و یک خروجی واحد از همان نوع جریان. در فیلترگراف،
ورودی به برچسب "in" و خروجی به برچسب "out" مرتبط است. را ببینید
راهنمای ffmpeg-filters برای اطلاعات بیشتر در مورد نحو فیلترگراف.

مشاهده -filter_complex انتخاب اگر می خواهید فیلترگراف هایی با چندین ورودی ایجاد کنید
و/یا خروجی ها

-filter_script[:stream_specifier] نام فایل (خروجی، در هر جریان)
این گزینه مشابه است -فیلتر، تنها تفاوت این است که استدلال آن است
نام فایلی که قرار است شرح فیلترگراف از آن خوانده شود.

-pre[:stream_specifier] از پیش تعیین شده (خروجی، در هر جریان)
پیش تنظیم را برای تطبیق جریان (های) مشخص کنید.

-آمار (جهانی)
چاپ پیشرفت رمزگذاری / آمار. این به طور پیش فرض روشن است، تا شما به صراحت آن را غیرفعال کنید
باید "-nostats" را مشخص کنید.

-پیش رفتن آدرس (جهانی)
اطلاعات پیشرفت برنامه پسند را به آدرس.

اطلاعات پیشرفت تقریباً در هر ثانیه و در پایان نوشته می شود
فرآیند رمزگذاری ساخته شده از "کلید=ارزش" خطوط کلید فقط از حروف عددی تشکیل شده است
شخصیت ها. آخرین کلید یک توالی اطلاعات پیشرفت همیشه "پیشرفت" است.

-stdin
تعامل را در ورودی استاندارد فعال کنید. به طور پیش فرض روشن است مگر اینکه از ورودی استاندارد به عنوان استفاده شود
یک ورودی برای غیرفعال کردن صریح تعامل، باید "-nostdin" را مشخص کنید.

غیرفعال کردن تعامل در ورودی استاندارد مفید است، برای مثال، اگر ffmpeg در ورودی باشد
گروه فرآیند پس زمینه تقریباً همان نتیجه را می توان با "ffmpeg ... به دست آورد ...
/dev/null" اما به یک پوسته نیاز دارد.

-debug_ts (جهانی)
چاپ اطلاعات مهر زمانی به طور پیش فرض خاموش است. این گزینه بیشتر برای
اهداف آزمایش و اشکال زدایی، و قالب خروجی ممکن است از یک نسخه به نسخه دیگر تغییر کند
دیگری، بنابراین نباید توسط اسکریپت های قابل حمل استفاده شود.

همچنین گزینه "-fdebug ts" را ببینید.

-ضمیمه کردن نام فایل (تولید)
یک پیوست به فایل خروجی اضافه کنید. این توسط چند فرمت مانند Matroska پشتیبانی می شود
برای مثال فونت های مورد استفاده در رندر زیرنویس. پیوست ها به صورت خاص اجرا می شوند
نوع جریان، بنابراین این گزینه یک جریان جدید به فایل اضافه می کند. آن وقت ممکن است
برای استفاده از گزینه های هر جریان در این جریان به روش معمول. جریان‌های پیوست ایجاد شد
با این گزینه بعد از تمام جریان های دیگر (یعنی آنهایی که با
"-map" یا نگاشت خودکار).

توجه داشته باشید که برای Matroska باید تگ metadata mimetype را نیز تنظیم کنید:

ffmpeg -i INPUT -attach DejaVuSans.ttf -metadata:s:2 mimetype=application/x-truetype-font out.mkv

(با فرض اینکه جریان پیوست در فایل خروجی سوم باشد).

-dump_attachment[:stream_specifier] نام فایل (ورودی، در هر جریان)
جریان پیوست منطبق را در فایلی به نام استخراج کنید نام فایل. اگر نام فایل is
خالی، سپس از مقدار تگ فراداده "filename" استفاده خواهد شد.

به عنوان مثال برای استخراج اولین پیوست به فایلی به نام 'out.ttf':

ffmpeg -dump_attachment:t:0 out.ttf -i INPUT

برای استخراج تمام پیوست‌های فایل‌های تعیین‌شده توسط برچسب «نام فایل»:

ffmpeg -dump_attachment:t "" -i INPUT

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

- چرخش مجدد
غیرفعال کردن چرخش خودکار ویدیو بر اساس فراداده فایل.

تصویری گزینه
-vframes عدد (تولید)
تعداد فریم های ویدیو را روی خروجی تنظیم کنید. این نام مستعار "-frames:v" است.

-r[:stream_specifier] فریم در ثانیه (ورودی/خروجی، در هر جریان)
نرخ فریم را تنظیم کنید (مقدار هرتز، کسر یا مخفف).

به عنوان یک گزینه ورودی، هر گونه مهر زمانی ذخیره شده در فایل را نادیده بگیرید و در عوض ایجاد کنید
مهرهای زمانی با فرض نرخ فریم ثابت فریم در ثانیه. این یکسان نیست -قاب بندی
گزینه ای که برای برخی از فرمت های ورودی مانند image2 یا v4l2 استفاده می شود (قبلاً در آن یکسان بود
نسخه های قدیمی FFmpeg). اگر شک دارید استفاده کنید -قاب بندی به جای گزینه ورودی -r.

به عنوان یک گزینه خروجی، فریم های ورودی را کپی یا رها کنید تا به فریم خروجی ثابت برسید
نرخ فریم در ثانیه.

-s[:stream_specifier] اندازه (ورودی/خروجی، در هر جریان)
اندازه قاب را تنظیم کنید

به عنوان یک گزینه ورودی، این یک میانبر برای اندازه_ویدئو گزینه خصوصی، شناخته شده است
توسط برخی دموکسرها که اندازه فریم آنها یا در فایل ذخیره نشده است یا ذخیره شده است
قابل تنظیم -- به عنوان مثال فیلم خام یا فیلم گیر.

به عنوان یک گزینه خروجی، این فیلتر ویدئویی "scale" را در قسمت قرار می دهد پایان از
فیلترگراف مربوطه لطفاً از فیلتر "مقیاس" مستقیماً برای قرار دادن آن در قسمت استفاده کنید
شروع یا مکان دیگری

فرمت است wxh (پیش فرض - همان منبع).

-جنبه[:stream_specifier] ظاهر (خروجی، در هر جریان)
نسبت ابعاد نمایش ویدیو را تعیین کنید ظاهر.

ظاهر می تواند یک رشته عدد ممیز شناور یا یک رشته از فرم باشد تعداد:روز، که در آن
تعداد و روز صورت و مخرج نسبت ابعاد هستند. به عنوان مثال "4:3"،
"16:9"، "1.3333"، و "1.7777" مقادیر آرگومان معتبر هستند.

در صورت استفاده همراه با -vcodec کپی کنید، بر نسبت تصویر ذخیره شده در آن تأثیر می گذارد
سطح ظرف، اما نه نسبت تصویر ذخیره شده در قاب های کدگذاری شده، در صورت وجود.

-vn (تولید)
غیرفعال کردن ضبط ویدیو

-vcodec کدک (تولید)
کدک ویدیو را تنظیم کنید. این نام مستعار برای "-codec:v" است.

-عبور[:stream_specifier] n (خروجی، در هر جریان)
شماره پاس (1 یا 2) را انتخاب کنید. برای انجام رمزگذاری ویدیوی دو گذری استفاده می شود. در
آمار ویدیو در اولین گذر در یک فایل گزارش ثبت می شود (همچنین به
گزینه -passlogfile)، و در پاس دوم از آن فایل log برای تولید استفاده می شود
ویدیو با نرخ بیت درخواستی دقیق. در پاس 1، شما فقط می توانید صدا را غیرفعال کنید و
خروجی را null کنید، مثال هایی برای ویندوز و یونیکس:

ffmpeg -i foo.mov -c:v libxvid -pass 1 -an -f rawvideo -y NUL
ffmpeg -i foo.mov -c:v libxvid -pass 1 -an -f rawvideo -y /dev/null

-passlogfile[:stream_specifier] پیشوند (خروجی، در هر جریان)
پیشوند نام فایل لاگ دو پاس را روی آن تنظیم کنید پیشوند، پیشوند نام فایل پیش فرض است
"ffmpeg2pass". نام کامل فایل خواهد بود PREFIX-N.log، که در آن N یک عدد است
مخصوص جریان خروجی

-vf فیلترگراف (تولید)
فیلترگراف مشخص شده توسط را ایجاد کنید فیلترگراف و از آن برای فیلتر کردن جریان استفاده کنید.

این نام مستعار برای "-filter:v" است -فیلتر انتخاب.

فناوری تصویری گزینه های
-pix_fmt[:stream_specifier] قالب (ورودی/خروجی، در هر جریان)
قالب پیکسل را تنظیم کنید از "-pix_fmts" برای نمایش تمام فرمت های پیکسلی پشتیبانی شده استفاده کنید. اگر
فرمت پیکسل انتخاب شده را نمی توان انتخاب کرد، ffmpeg یک هشدار چاپ می کند و آن را انتخاب می کند
بهترین فرمت پیکسلی که توسط رمزگذار پشتیبانی می شود. اگر pix_fmt با یک "+"، ffmpeg پیشوند است
اگر فرمت پیکسل درخواستی را نتوان انتخاب کرد با خطا خارج می شود و
تبدیل‌های خودکار در فیلترگراف‌ها غیرفعال هستند. اگر pix_fmt یک "+" است،
ffmpeg همان قالب پیکسلی را به عنوان ورودی (یا خروجی نمودار) و خودکار انتخاب می کند
تبدیل ها غیرفعال هستند

-sws_flags پرچم ها (ورودی خروجی)
پرچم های SwScaler را تنظیم کنید.

-vdt n
آستانه کنار گذاشتن

-rc_override[:stream_specifier] باطل کردن (خروجی، در هر جریان)
نادیده گرفتن کنترل نرخ برای فواصل خاص، به صورت فهرست "int,int,int" قالب بندی شده است
با اسلاید از هم جدا شده دو مقدار اول عبارتند از اعداد قاب شروع و پایان، آخرین
یکی کوانتایزر برای استفاده در صورت مثبت یا فاکتور کیفیت در صورت منفی است.

-ایلمه
پشتیبانی از interlacing اجباری در رمزگذار (فقط MPEG-2 و MPEG-4). اگر از این گزینه استفاده کنید
فایل ورودی شما در هم آمیخته است و می خواهید فرمت در هم آمیخته را برای حداقل نگه دارید
تلفات. جایگزین این است که جریان ورودی را با آن جدا کنید -بازکن، اما
deinterlacing باعث زیان می شود.

-psnr
PSNR فریم های فشرده را محاسبه کنید.

-vstats
آمار کدگذاری ویدیو را تخلیه کنید vstats_HHMMSS.log.

-vstats_file پرونده
آمار کدگذاری ویدیو را تخلیه کنید پرونده.

-بالا[:stream_specifier] n (خروجی، در هر جریان)
ابتدا قسمت top=1/bottom=0/auto=-1

دی سی دقت
Intra_dc_precision.

-vtag چهار سی سی/برچسب (تولید)
اجباری برچسب ویدیو/fourcc. این نام مستعار "-tag:v" است.

-qphist (جهانی)
نمایش هیستوگرام QP

-vbsf bitstream_filter
منسوخ شده -bsf را ببینید

-force_key_frames[:stream_specifier] زمان[,زمان...] (خروجی، در هر جریان)
-force_key_frames[:stream_specifier] expr:صادرات (خروجی، در هر جریان)
فریم‌های کلیدی را در مُهرهای زمانی مشخص‌شده، به‌طور دقیق‌تر در اولین فریم‌های بعد از آن، اجبار کنید
هر زمان مشخص

اگر آرگومان با پیشوند "expr:" باشد، رشته صادرات به صورت یک تعبیر می شود
بیان و برای هر فریم ارزیابی می شود. در صورتی که یک قاب کلیدی اجباری شود
ارزیابی غیر صفر است

اگر یکی از زمان ها ""فصل"[دلتا]»، به زمان گسترش یافته است
ابتدای تمام فصل‌های فایل، با جابجایی دلتا، به صورت زمان در بیان می شود
ثانیه این گزینه می تواند برای اطمینان از وجود یک نقطه جستجو در a مفید باشد
علامت فصل یا هر مکان تعیین شده دیگری در فایل خروجی.

به عنوان مثال، برای قرار دادن یک فریم کلید در 5 دقیقه، به اضافه فریم های کلیدی 0.1 ثانیه قبل از
ابتدای هر فصل:

-force_key_frames 0:05:00,فصل-0.1

بیان در صادرات می تواند شامل ثابت های زیر باشد:

n تعداد فریم های پردازش شده فعلی، از 0 شروع می شود

n_اجباری
تعداد فریم های اجباری

prev_forced_n
تعداد فریم اجباری قبلی، زمانی که هیچ فریم کلیدی اجباری نشده باشد، "NAN" است
هنوز

prev_forced_t
زمان فریم اجباری قبلی، زمانی که هنوز هیچ فریم کلیدی اجباری نشده است، "NAN" است

t زمان فریم پردازش شده فعلی

به عنوان مثال برای اجبار یک فریم کلیدی هر 5 ثانیه، می توانید مشخص کنید:

-force_key_frames expr:gte(t,n_forced*5)

برای وادار کردن یک فریم کلیدی 5 ثانیه پس از زمان آخرین فریم اجباری، از شروع
دوم 13:

-force_key_frames expr:if(isnan(prev_forced_t)،gte(t,13)،gte(t,prev_forced_t+5))

توجه داشته باشید که اجبار بیش از حد فریم های کلیدی برای الگوریتم های پیش رو بسیار مضر است
رمزگذارهای خاص: استفاده از گزینه های ثابت GOP یا موارد مشابه کارآمدتر خواهد بود.

-copyinkf[:stream_specifier] (خروجی، در هر جریان)
هنگام کپی جریانی، فریم‌های غیرکلیدی را نیز کپی کنید.

-hwaccel[:stream_specifier] hwaccel (ورودی، در هر جریان)
از شتاب سخت افزاری برای رمزگشایی جریان(های) منطبق استفاده کنید. مقادیر مجاز از
hwaccel هستند:

هیچ
از هیچ گونه شتاب سخت افزاری (پیش فرض) استفاده نکنید.

خودکار
به طور خودکار روش شتاب سخت افزاری را انتخاب کنید.

VDA از شتاب سخت افزاری Apple VDA استفاده کنید.

vdpau
از شتاب سخت افزاری VDPAU (Video Decode and Presentation API for Unix) استفاده کنید.

dxva2
از شتاب سخت افزاری DXVA2 (DirectX Video Acceleration) استفاده کنید.

اگر hwaccel انتخاب شده در دسترس نباشد یا توسط آن پشتیبانی نشود، این گزینه تاثیری ندارد
رمزگشای انتخاب شده

توجه داشته باشید که اکثر روش های شتاب برای پخش در نظر گرفته شده اند و سریعتر نخواهند بود
نسبت به رمزگشایی نرم افزار در CPU های مدرن. علاوه بر این، ffmpeg معمولا نیاز به کپی دارد
فریم های رمزگشایی شده از حافظه GPU به حافظه سیستم، و در نتیجه بیشتر
از دست دادن عملکرد بنابراین این گزینه عمدتاً برای آزمایش مفید است.

-hwaccel_device[:stream_specifier] hwaccel_device (ورودی، در هر جریان)
دستگاهی را برای استفاده برای شتاب سخت افزاری انتخاب کنید.

این گزینه تنها زمانی معنا پیدا می کند که -hwaccel گزینه نیز مشخص شده است. دقیقش
معنی بستگی به روش شتاب سخت افزاری خاص انتخاب شده دارد.

vdpau
برای VDPAU، این گزینه نمایش/صفحه نمایش X11 را برای استفاده مشخص می کند. اگر این گزینه است
مشخص نشده است، مقدار نمایش دادن متغیر محیطی استفاده می شود

dxva2
برای DXVA2، این گزینه باید شامل شماره آداپتور نمایشگر مورد استفاده باشد.
اگر این گزینه مشخص نشده باشد، از آداپتور پیش فرض استفاده می شود.

-hwaccels
تمام روش‌های شتاب سخت‌افزاری که در این بیلد ffmpeg پشتیبانی می‌شوند را فهرست کنید.

گزینه
-فریم ها عدد (تولید)
تعداد فریم های صوتی را برای خروجی تنظیم کنید. این نام مستعار "-frames:a" است.

-ar[:stream_specifier] فرق (ورودی/خروجی، در هر جریان)
فرکانس نمونه برداری صدا را تنظیم کنید. برای جریان های خروجی به طور پیش فرض روی مقدار تنظیم شده است
فرکانس جریان ورودی مربوطه برای جریان های ورودی این گزینه فقط ایجاد می کند
حس برای دستگاه های ضبط صدا و دموکسرهای خام و به مربوطه نگاشت می شود
گزینه های demuxer

q (تولید)
کیفیت صدا (ویژه کدک، VBR) را تنظیم کنید. این نام مستعار -q:a است.

-ac[:stream_specifier] کانال (ورودی/خروجی، در هر جریان)
تعداد کانال های صوتی را تنظیم کنید. برای جریان های خروجی به طور پیش فرض روی مقدار تنظیم شده است
تعداد کانال های صوتی ورودی برای جریان های ورودی، این گزینه فقط برای آن منطقی است
دستگاه های ضبط صدا و دمکسرهای خام و به دمکسر مربوطه نگاشت می شود
گزینه.

من (تولید)
غیرفعال کردن ضبط صدا

کدک کدک (ورودی خروجی)
کدک صدا را تنظیم کنید. این نام مستعار "-codec:a" است.

-sample_fmt[:stream_specifier] sample_fmt (خروجی، در هر جریان)
قالب نمونه صدا را تنظیم کنید. از "-sample_fmts" برای دریافت لیست نمونه های پشتیبانی شده استفاده کنید
فرمت.

-af فیلترگراف (تولید)
فیلترگراف مشخص شده توسط را ایجاد کنید فیلترگراف و از آن برای فیلتر کردن جریان استفاده کنید.

این نام مستعار برای "-filter:a" است -فیلتر انتخاب.

فناوری گزینه های
برچسب زدن چهار سی سی/برچسب (تولید)
اجباری برچسب صوتی/fourcc. این نام مستعار "-tag:a" است.

-absf bitstream_filter
منسوخ شده، نگاه کنید به -bsf

-guess_layout_max کانال (ورودی، در هر جریان)
اگر طرح‌بندی کانال ورودی مشخص نیست، سعی کنید فقط در صورت مطابقت با آن حدس بزنید
اکثر تعداد مشخص شده کانال. به عنوان مثال، 2 به ffmpeg تشخیص 1
کانال به صورت مونو و 2 کانال به صورت استریو اما نه 6 کانال به عنوان 5.1. پیش فرض به است
همیشه سعی کنید حدس بزنید از 0 برای غیرفعال کردن همه حدس زدن استفاده کنید.

عنوان فرعی گزینه های
-scodec کدک (ورودی خروجی)
کدک زیرنویس را تنظیم کنید. این نام مستعار برای "-codec:s" است.

-sn (تولید)
غیرفعال کردن ضبط زیرنویس

-sbsf bitstream_filter
منسوخ شده، نگاه کنید به -bsf

فناوری عنوان فرعی گزینه های
-fix_sub_duration
رفع مدت زمان زیرنویس برای هر زیرنویس، منتظر بسته بعدی در همان باشید
استریم کنید و مدت زمان اولین را برای جلوگیری از همپوشانی تنظیم کنید. این لازم است با
برخی از کدک های زیرنویس، به ویژه زیرنویس های DVB، به دلیل مدت زمان در نسخه اصلی
بسته فقط یک تخمین تقریبی است و انتهای آن در واقع با یک زیرنویس خالی مشخص می شود
قاب عدم استفاده از این گزینه در صورت لزوم می تواند منجر به طولانی شدن مدت زمان شود
یا خرابی های مختلط به دلیل مهرهای زمانی غیر یکنواخت.

توجه داشته باشید که این گزینه خروجی همه داده ها را تا بسته زیرنویس بعدی به تاخیر می اندازد
رمزگشایی شده است: ممکن است مصرف حافظه و تأخیر را بسیار افزایش دهد.

-اندازه بوم اندازه
اندازه بوم مورد استفاده برای ارائه زیرنویس را تنظیم کنید.

فناوری گزینه های
-نقشه [-]input_file_id[:stream_specifier][،sync_file_id[:stream_specifier]] | [لینک برچسب]
(تولید)
یک یا چند جریان ورودی را به عنوان منبع برای فایل خروجی تعیین کنید. هر جریان ورودی
با نمایه فایل ورودی مشخص می شود input_file_id و شاخص جریان ورودی
input_stream_id در فایل ورودی هر دو شاخص از 0 شروع می شوند. اگر مشخص شود،
sync_file_id:stream_specifier تعیین می کند که کدام جریان ورودی به عنوان همگام سازی ارائه استفاده شود
مرجع.

اولین گزینه "-map" در خط فرمان منبع جریان خروجی 0 را مشخص می کند.
گزینه دوم "-map" منبع جریان خروجی 1 و غیره را مشخص می کند.

یک کاراکتر "-" قبل از شناسه جریان، یک نگاشت "منفی" ایجاد می کند. آی تی
جریانهای منطبق را از نگاشتهای از قبل ایجاد شده غیرفعال می کند.

یک جایگزین [لینک برچسب] فرم خروجی های نمودارهای فیلتر پیچیده را ترسیم می کند (به
-filter_complex گزینه) به فایل خروجی. برچسب پیوند باید مطابق با تعریف شده باشد
برچسب لینک خروجی در نمودار

به عنوان مثال، برای نگاشت همه جریان ها از اولین فایل ورودی تا خروجی

خروجی ffmpeg -i INPUT -map 0

به عنوان مثال، اگر شما دو جریان صوتی در فایل ورودی اول دارید، این جریان ها هستند
با "0:0" و "0:1" مشخص شده است. می‌توانید از «-map» برای انتخاب جریان‌ها استفاده کنید
یک فایل خروجی مثلا:

ffmpeg -i INPUT -map 0:1 out.wav

جریان ورودی را در نگاشت می کند INPUT با "0:1" به جریان خروجی (تک) مشخص می شود
in out.wav.

به عنوان مثال، برای انتخاب جریان با شاخص 2 از فایل ورودی a.mov ( مشخص شده توسط
شناسه "0:2")، و با نمایه 6 از ورودی پخش کنید b.mov ( مشخص شده توسط
شناسه "1:6")، و آنها را در فایل خروجی کپی کنید out.mov:

ffmpeg -i a.mov -i b.mov -c copy -map 0:2 -map 1:6 out.mov

برای انتخاب تمام ویدئو و سومین جریان صوتی از یک فایل ورودی:

ffmpeg -i INPUT -map 0:v -map 0:a:2 OUTPUT

برای نقشه برداری از تمام جریان ها به جز صدای دوم، از نگاشت منفی استفاده کنید

ffmpeg -i INPUT -map 0 -map -0:a:1 OUTPUT

برای انتخاب جریان صوتی انگلیسی:

ffmpeg -i INPUT -map 0:m:language:eng OUTPUT

توجه داشته باشید که استفاده از این گزینه نگاشت های پیش فرض این فایل خروجی را غیرفعال می کند.

-نادیده_ناشناس
جریان‌های ورودی با نوع ناشناخته را نادیده بگیرید به‌جای شکست در صورت کپی کردن چنین جریان‌هایی
تلاش.

-کپی_ناشناس
در صورت کپی کردن، به جریان های ورودی با نوع ناشناخته اجازه کپی کردن به جای ناموفق بودن داده شود
استریم ها تلاش می شود.

-map_channel
[input_file_id.stream_specifier.channel_id|-1][:output_file_id.stream_specifier]
یک کانال صوتی را از یک ورودی داده شده به یک خروجی ترسیم کنید. اگر
output_file_id.stream_specifier تنظیم نشده است، کانال صوتی روی همه نگاشت خواهد شد
جریان های صوتی

استفاده از "-1" به جای input_file_id.stream_specifier.channel_id یک نادیده گرفته می شود
کانال.

مثلا با فرض INPUT یک فایل صوتی استریو است، شما می توانید دو صدا را تغییر دهید
کانال با دستور زیر:

ffmpeg -i INPUT -map_channel 0.0.1 -map_channel 0.0.0 OUTPUT

اگر می خواهید کانال اول را نادیده بگیرید و کانال دوم را حفظ کنید:

ffmpeg -i INPUT -map_channel -1 -map_channel 0.0.1 OUTPUT

ترتیب گزینه "-map_channel" ترتیب کانال ها را مشخص می کند
جریان خروجی طرح کانال خروجی از تعداد کانال های نقشه برداری شده حدس زده می شود
(مونو اگر یک "-map_channel"، استریو اگر دو، و غیره). استفاده از "-ac" در ترکیب
"-map_channel" باعث می‌شود سطح افزایش کانال در صورت ورودی و خروجی به‌روزرسانی شود
طرح بندی ها مطابقت ندارند (به عنوان مثال دو گزینه "-map_channel" و "-ac 6").

شما همچنین می توانید هر کانال از یک ورودی را به خروجی های خاص استخراج کنید. به شرح زیر
دستور دو کانال از را استخراج می کند INPUT جریان صوتی (فایل 0، جریان 0) به
قابل احترام output_ch0 و output_ch1 خروجی ها:

ffmpeg -i INPUT -map_channel 0.0.0 OUTPUT_CH0 -map_channel 0.0.1 OUTPUT_CH1

مثال زیر کانال های ورودی استریو را به دو جریان مجزا تقسیم می کند.
که در همان فایل خروجی قرار می گیرند:

ffmpeg -i stereo.wav -map 0:0 -map 0:0 -map_channel 0.0.0:0.0 -map_channel 0.0.1:0.1 -y out.ogg

توجه داشته باشید که در حال حاضر هر جریان خروجی فقط می تواند شامل کانال هایی از یک ورودی باشد
جریان; برای مثال نمی توانید از "-map_channel" برای انتخاب چندین کانال صوتی ورودی استفاده کنید
موجود در جریان های مختلف (از فایل های مشابه یا متفاوت) و ادغام آنها در
یک جریان خروجی واحد بنابراین در حال حاضر، برای مثال، امکان چرخش وجود ندارد
دو جریان مونو مجزا به یک جریان استریو واحد. با این حال تقسیم یک استریو
استریم به دو استریم تک کانالی تک کانالی امکان پذیر است.

اگر به این ویژگی نیاز دارید، یک راه حل ممکن استفاده از آن است ادغام کردن فیلتر برای
به عنوان مثال، اگر نیاز به ادغام یک رسانه دارید (اینجا ورودی.mkv) با 2 جریان صوتی تک به
یک جریان صوتی تک کانال استریو (و پخش ویدیو را حفظ کنید)، می توانید از آن استفاده کنید
دستور زیر:

ffmpeg -i input.mkv -filter_complex "[0:1] [0:2] amerge" -c:a pcm_s16le -c:v copy output.mkv

-map_metadata[:metadata_spec_out] پرونده[:metadata_spec_in] (خروجی، به ازای هر فراداده)
اطلاعات فراداده فایل خروجی بعدی را از آن تنظیم کنید پرونده. توجه داشته باشید که آنها فایل هستند
شاخص ها (بر اساس صفر)، نه نام فایل ها. اختیاری metadata_spec_in/out پارامترهای
مشخص کنید، کدام ابرداده را کپی کنید. یک مشخص کننده ابرداده می تواند اشکال زیر را داشته باشد:

g فراداده جهانی، یعنی ابرداده ای که برای کل فایل اعمال می شود

s[:stream_spec]
فراداده هر جریان stream_spec یک مشخص کننده جریان است همانطور که در توضیح داده شده است جریان
مشخصات فصل در یک مشخص کننده فراداده ورودی، اولین جریان منطبق است
کپی شده از. در یک مشخص‌کننده فراداده خروجی، همه جریان‌های منطبق بر روی آن کپی می‌شوند.

c:فصل_نمایه
فراداده هر فصل فصل_نمایه شاخص فصل مبتنی بر صفر است.

p:program_index
فراداده هر برنامه program_index شاخص برنامه مبتنی بر صفر است.

اگر مشخص‌کننده ابرداده حذف شود، به‌طور پیش‌فرض روی حالت جهانی قرار می‌گیرد.

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

به عنوان مثال برای کپی متادیتا از اولین جریان فایل ورودی به سراسری
ابرداده فایل خروجی:

ffmpeg -i in.ogg -map_metadata 0:s:0 out.mp3

برای انجام معکوس، به عنوان مثال ابرداده جهانی را در تمام جریان های صوتی کپی کنید:

ffmpeg -i in.mkv -map_metadata:s:a 0:g out.mkv

توجه داشته باشید که 0 ساده در این مثال نیز کار خواهد کرد، زیرا ابرداده جهانی است
به طور پیش فرض فرض شده است.

-فصل_نقشه input_file_index (تولید)
فصل ها را از فایل ورودی با فهرست کپی کنید input_file_index به فایل خروجی بعدی اگر
هیچ نگاشت فصلی مشخص نشده است، سپس فصل ها از اولین فایل ورودی کپی می شوند
با حداقل یک فصل از یک فهرست فایل منفی برای غیرفعال کردن کپی کردن هر فصل استفاده کنید.

-معیار (جهانی)
نمایش اطلاعات محک زدن در انتهای کد. زمان استفاده از CPU و
حداکثر مصرف حافظه حداکثر مصرف حافظه در همه پشتیبانی نمی شود
در سیستم‌ها، اگر پشتیبانی نشود، معمولاً به صورت 0 نمایش داده می‌شود.

-معیار_همه (جهانی)
نمایش اطلاعات محک زدن در طول رمزگذاری. زمان استفاده از CPU را در مراحل مختلف نشان می دهد
(کد/رمزگشایی صوتی/تصویری).

-محدودیت زمانی مدت (جهانی)
پس از اجرای ffmpeg خارج شوید مدت ثانیه صورت گرفت.

-زباله (جهانی)
هر بسته ورودی را در stderr تخلیه کنید.

-هگز (جهانی)
هنگام تخلیه بسته ها، محموله را نیز تخلیه کنید.

-ره (ورودی)
خواندن ورودی با نرخ فریم اصلی. عمدتا برای شبیه سازی یک دستگاه چنگ زدن استفاده می شود. یا ورودی زنده
جریان (به عنوان مثال هنگام خواندن از یک فایل). نباید با دستگاه های گیره واقعی یا
جریان های ورودی زنده (جایی که می تواند باعث از دست رفتن بسته شود). به صورت پیش فرض ffmpeg تلاش می کند تا
ورودی(های) را با بیشترین سرعت ممکن بخوانید. این گزینه سرعت خواندن را کاهش می دهد
ورودی(های) به نرخ فریم بومی ورودی(ها). برای خروجی بلادرنگ مفید است
(به عنوان مثال پخش زنده).

-loop_input
روی جریان ورودی حلقه بزنید. در حال حاضر فقط برای جریان تصویر کار می کند. این گزینه است
برای تست خودکار FF سرور استفاده می شود. این گزینه منسوخ شده است، از -loop 1 استفاده کنید.

-loop_output تعداد_بار
حلقه خروجی مکرر برای فرمت هایی که از حلقه کردن پشتیبانی می کنند مانند GIF متحرک (0 خواهد شد
حلقه خروجی بی نهایت). این گزینه منسوخ شده است، از -loop استفاده کنید.

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

0, گذرگاه
هر فریم با مهر زمانی خود از demuxer به muxer ارسال می شود.

1, cfr
فریم‌ها کپی شده و حذف می‌شوند تا دقیقاً ثابت درخواستی به دست آید
نرخ فریم

2, vfr
فریم ها با مهر زمانی خود عبور داده می شوند یا از بین می روند تا از 2 جلوگیری شود
فریم ها از داشتن مهر زمانی یکسان.

قطره
به عنوان گذر، اما تمام مهرهای زمانی را از بین می برد، و باعث می شود که موکسر تازه تولید کند
مهرهای زمانی بر اساس نرخ فریم

-1، خودکار
بسته به قابلیت های muxer بین 1 و 2 را انتخاب می کند. این پیش فرض است
روش.

توجه داشته باشید که مهرهای زمانی ممکن است بعد از این توسط muxer اصلاح شود. برای
به عنوان مثال، در صورتی که گزینه format اجتناب از_منفی_تها فعال شده است.

با -map می‌توانید انتخاب کنید که مهر زمانی از کدام جریان گرفته شود. تو می توانی
ویدیو یا صدا را بدون تغییر رها کنید و جریان (های) باقیمانده را با آن همگام کنید
بدون تغییر

-frame_drop_threshold پارامتر
آستانه افت فریم، که مشخص می‌کند قبل از فریم‌های ویدیو چقدر می‌تواند عقب بماند
رها شده اند. در واحدهای نرخ فریم، بنابراین 1.0 یک فریم است. پیش فرض -1.1 است. یکی
مورد استفاده احتمالی این است که در صورت وجود مهرهای زمانی پر سر و صدا یا افزایش آن، از افت فریم اجتناب کنید
دقت افت فریم در صورت وجود مهر زمانی دقیق.

-ناهمگام نمونه_در_ثانیه
روش همگام سازی صدا جریان صوتی را "کشش/فشرده" می کند تا با مهرهای زمانی مطابقت داشته باشد
پارامتر حداکثر نمونه در ثانیه است که صدا توسط آن تغییر می کند. -async 1
یک مورد خاص است که در آن فقط شروع جریان صوتی بدون هیچ گونه اصلاحی انجام می شود
تصحیح بعد

توجه داشته باشید که مهرهای زمانی ممکن است بعد از این توسط muxer اصلاح شود. برای
به عنوان مثال، در صورتی که گزینه format اجتناب از_منفی_تها فعال شده است.

این گزینه منسوخ شده است. به جای آن از فیلتر صوتی "aresample" استفاده کنید.

-کپی می کند
مهرهای زمانی ورودی را پردازش نکنید، اما مقادیر آنها را بدون تلاش برای پاکسازی حفظ کنید
آنها به ویژه، مقدار افست زمان شروع اولیه را حذف نکنید.

توجه داشته باشید که بسته به vsync گزینه یا در پردازش muxer خاص (به عنوان مثال در مورد
گزینه فرمت اجتناب از_منفی_تها فعال است) مُهرهای زمانی خروجی ممکن است با هم مطابقت نداشته باشند
با مهرهای زمانی ورودی حتی زمانی که این گزینه انتخاب شده است.

-start_at_zero
هنگامی که با استفاده می شود کپی می کند، مهرهای زمانی ورودی را تغییر دهید تا از صفر شروع شوند.

این به این معنی است که استفاده از مثلاً "-ss 50" باعث می شود مُهرهای زمانی خروجی از 50 ثانیه شروع شوند.
صرف نظر از اینکه فایل ورودی با چه مهر زمانی شروع شده است.

-copytb حالت
نحوه تنظیم پایگاه زمانی رمزگذار هنگام کپی جریانی را مشخص کنید. حالت یک عدد صحیح است
مقدار عددی و می تواند یکی از مقادیر زیر را در نظر بگیرد:

1 از پایگاه زمانی demuxer استفاده کنید.

پایه زمان از ورودی مربوطه به رمزگذار خروجی کپی می شود
دمکسر این گاهی اوقات برای جلوگیری از افزایش غیر یکنواخت لازم است
مُهر زمانی هنگام کپی کردن جریان های ویدیویی با نرخ فریم متغیر.

0 از پایگاه زمانی رمزگشا استفاده کنید.

پایه زمان از ورودی مربوطه به رمزگذار خروجی کپی می شود
رسیور

-1 سعی کنید انتخاب را به صورت خودکار انجام دهید تا خروجی معقولی ایجاد کنید.

مقدار پیش فرض -1 است.

-کوتاه ترین (تولید)
زمانی که کوتاه‌ترین جریان ورودی به پایان رسید، رمزگذاری را تمام کنید.

-dts_delta_threshold
آستانه دلتای ناپیوستگی مهر زمانی.

-muxdelay ثانیه (ورودی)
حداکثر تأخیر رمزگشایی demux را تنظیم کنید.

-muxpreload ثانیه (ورودی)
تاخیر اولیه demux-decode را تنظیم کنید.

-جریان خروجی-جریان-شاخص:ارزش جدید (تولید)
یک مقدار stream-id جدید به یک جریان خروجی اختصاص دهید. این گزینه باید مشخص شود
قبل از نام فایل خروجی که برای آن اعمال می شود. برای وضعیتی که چندتایی
فایل‌های خروجی وجود دارند، یک جریان ممکن است به مقدار دیگری تخصیص داده شود.

به عنوان مثال، برای تنظیم جریان 0 PID روی 33 و جریان 1 PID روی 36 برای خروجی
فایل mpegts:

ffmpeg -i infile -streamid 0:33 -streamid 1:36 out.ts

-bsf[:stream_specifier] bitstream_filters (خروجی، در هر جریان)
فیلترهای جریان بیت را برای جریان های منطبق تنظیم کنید. bitstream_filters با کاما از هم جدا شده است
لیست فیلترهای بیت استریم از گزینه "-bsfs" برای دریافت لیست بیت استریم استفاده کنید
فیلترها

ffmpeg -i h264.mp4 -c:v copy -bsf:v h264_mp4toannexb -an out.h264

ffmpeg -i file.mov -an -vn -bsf:s mov2textsub -c:s کپی -f rawvideo sub.txt

-برچسب[:stream_specifier] کدک_تگ (ورودی/خروجی، در هر جریان)
برای تطبیق جریان‌ها، برچسب/fourcc را اجباری کنید.

-کد زمانی hh:mm:ssسپتامبرff
Timecode را برای نوشتن مشخص کنید. سپتامبر ':' برای کد زمانی بدون رها کردن و ';' است. (یا برای
رها کردن

ffmpeg -i input.mpg -timecode 01:02:03.04 -r 30000/1001 -s ntsc output.mpg

-filter_complex فیلترگراف (جهانی)
یک فیلترگراف پیچیده، یعنی فیلترگراف با تعداد دلخواه ورودی و/یا خروجی تعریف کنید.
برای نمودارهای ساده - آنهایی که یک ورودی و یک خروجی از یک نوع دارند - به نمودار مراجعه کنید
-فیلتر گزینه. فیلترگراف شرحی از فیلترگراف است، همانطور که در توضیح داده شده است
بخش «فیلترگراف نحو» کتابچه راهنمای ffmpeg-filters.

برچسب‌های پیوند ورودی باید به جریان‌های ورودی با استفاده از
نحو "[file_index:stream_specifier]" (یعنی همان -نقشه استفاده می کند). اگر
stream_specifier با چندین جریان مطابقت دارد، اولین مورد استفاده خواهد شد. بدون برچسب
ورودی به اولین جریان ورودی استفاده نشده از نوع منطبق متصل خواهد شد.

به برچسب های لینک خروجی اشاره می شود -نقشه. خروجی های بدون برچسب به اولی اضافه می شوند
فایل خروجی.

توجه داشته باشید که با این گزینه فقط می توان از منابع لاوفی بدون نرمال استفاده کرد
فایل های ورودی

به عنوان مثال، برای همپوشانی یک تصویر روی ویدیو

ffmpeg -i video.mkv -i image.png -filter_complex '[0:v][1:v]overlay[out]' -map
'[خارج]' out.mkv

در اینجا "[0:v]" به اولین جریان ویدئو در اولین فایل ورودی اشاره دارد که پیوند داده شده است
به اولین ورودی (اصلی) فیلتر همپوشانی. به طور مشابه اولین جریان ویدیویی در
ورودی دوم به ورودی دوم (همپوشانی) همپوشانی مرتبط است.

با فرض اینکه فقط یک جریان ویدئو در هر فایل ورودی وجود دارد، می‌توانیم برچسب‌های ورودی را حذف کنیم.
بنابراین موارد فوق معادل است

ffmpeg -i video.mkv -i image.png -filter_complex 'overlay[out]' -map
'[خارج]' out.mkv

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

ffmpeg -i video.mkv -i image.png -filter_complex 'overlay' out.mkv

برای تولید 5 ثانیه ویدیو قرمز خالص با استفاده از منبع lavfi "color":

ffmpeg -filter_complex 'color=c=red' -t 5 out.mkv

-لاوفی فیلترگراف (جهانی)
یک فیلترگراف پیچیده، یعنی فیلترگراف با تعداد دلخواه ورودی و/یا خروجی تعریف کنید.
معادل با -filter_complex.

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

-accurate_seek (ورودی)
این گزینه جستجوی دقیق در فایل های ورودی را فعال یا غیرفعال می کند -ss گزینه.
این به طور پیش فرض فعال است، بنابراین جستجو هنگام رمزگذاری دقیق است. استفاده کنید
-noaccurate_seek برای غیرفعال کردن آن، که ممکن است مفید باشد به عنوان مثال هنگام کپی کردن برخی از جریان ها و
رمزگذاری دیگران

-seek_timestamp (ورودی)
این گزینه جستجو با مهر زمانی را در فایل های ورودی با را فعال یا غیرفعال می کند -ss
گزینه. آن به صورت پیشفرض از کار افتاده. اگر فعال باشد، آرگومان به -ss گزینه است
یک مهر زمانی واقعی در نظر گرفته می شود و با زمان شروع فایل جبران نمی شود. این
فقط برای فایل هایی که از مهر زمانی 0 شروع نمی شوند، مانند جریان های انتقال، اهمیت دارد.

-thread_queue_size اندازه (ورودی)
این گزینه حداکثر تعداد بسته های در صف را هنگام خواندن از فایل یا تنظیم می کند
دستگاه با تأخیر کم / جریان‌های زنده با نرخ بالا، بسته‌ها ممکن است دور ریخته شوند
به موقع خوانده نمی شوند؛ افزایش این مقدار می تواند از آن جلوگیری کند.

-Override_ffserver (جهانی)
مشخصات ورودی را لغو می کند ffserver. با استفاده از این گزینه می توانید هر کدام را نقشه برداری کنید
جریان ورودی به ffserver و بسیاری از جنبه های رمزگذاری را کنترل کنید ffmpeg. بدون
این گزینه ffmpeg را منتقل خواهد کرد ffserver آنچه توسط درخواست شده است ffserver.

این گزینه برای مواردی در نظر گرفته شده است که ویژگی هایی مورد نیاز است که نمی توان آنها را مشخص کرد
ffserver اما می تواند به ffmpeg.

-sdp_file پرونده (جهانی)
چاپ اطلاعات sdp برای یک جریان خروجی به پرونده. این امکان تخلیه sdp را فراهم می کند
اطلاعات زمانی که حداقل یک خروجی جریان rtp نباشد. (به حداقل یکی از
فرمت های خروجی rtp باشد).

- دور انداختن (ورودی)
اجازه می دهد تا جریان ها یا فریم های خاصی از جریان ها را در دمکسر دور بیندازید. نه همه
دموکسرها از این پشتیبانی می کنند.

هیچ
هیچ قاب را دور نریزید.

به طور پیش فرض
پیش‌فرض، که هیچ فریمی را حذف نمی‌کند.

نورف
همه فریم های غیر مرجع را دور بریزید.

bidir
تمام فریم های دو طرفه را دور بیندازید.

بدون کلید
همه فریم ها به جز فریم های کلیدی را کنار بگذارید.

تمام تمام قاب ها را دور بریزید.

-xerror (جهانی)
توقف و خروج در صورت خطا

به عنوان یک استثنا خاص، می توانید از جریان زیرنویس بیت مپ به عنوان ورودی استفاده کنید: این خواهد بود
تبدیل به ویدیویی با اندازه بزرگ‌ترین ویدیوی موجود در فایل یا 720x576 اگر
هیچ ویدئویی وجود ندارد توجه داشته باشید که این یک راه حل آزمایشی و موقت است. خواهد بود
زمانی که libavfilter پشتیبانی مناسبی از زیرنویس ها داشته باشد حذف می شود.

به عنوان مثال، برای کدنویسی زیرنویس ها در بالای یک ضبط DVB-T ذخیره شده در فرمت MPEG-TS،
تاخیر در زیرنویس 1 ثانیه:

ffmpeg -i input.ts -filter_complex
'[#0x2ef] setpts=PTS+1/TB [sub] ; [#0x2d0] [زیر] همپوشانی'
-sn -map '#0x2dc' output.mkv

(0x2d0، 0x2dc و 0x2ef به ترتیب PIDهای MPEG-TS ویدیو، صدا و
جریان های زیرنویس؛ 0:0، 0:3 و 0:7 نیز کار می‌کردند)

از پیش تعیین شده فایل ها
یک فایل از پیش تعیین شده حاوی یک دنباله از انتخاب=ارزش جفت، یکی برای هر خط، با مشخص کردن a
دنباله ای از گزینه ها که مشخص کردن آنها در خط فرمان دشوار است. شروع خطوط
با کاراکتر هش ('#') نادیده گرفته می شوند و برای ارائه نظرات استفاده می شوند. را بررسی کنید
ایستگاه از پیش تنظیم دایرکتوری در درخت منبع FFmpeg برای مثال.

دو نوع فایل از پیش تعیین شده وجود دارد: فایل های ffpreset و avpreset.

ffpreset فایل ها

فایل های ffpreset با گزینه های "vpre"، "apre"، "spre" و "fpre" مشخص می شوند. در
گزینه "fpre" نام فایل از پیش تعیین شده را به جای نام از پیش تعیین شده به عنوان ورودی می گیرد و می تواند
برای هر نوع کدک استفاده شود. برای گزینه های "vpre"، "apre" و "spre"، گزینه ها
مشخص شده در یک فایل از پیش تعیین شده بر روی کدک انتخابی فعلی از همان نوع اعمال می شود
گزینه از پیش تعیین شده

آرگومان ارسال شده به گزینه های از پیش تعیین شده "vpre"، "apre" و "spre" پیش تنظیم را مشخص می کند.
فایل برای استفاده طبق قوانین زیر:

ابتدا ffmpeg فایلی به نام را جستجو می کند ارگ.ffpreset در دایرکتوری ها $FFMPEG_DATADIR (اگر
مجموعه)، و $HOME/.ffmpeg، و در datadir تعریف شده در زمان پیکربندی (معمولا
PREFIX/share/ffmpeg) یا در الف ffpresets پوشه در امتداد فایل اجرایی در win32، در آن
سفارش. به عنوان مثال، اگر آرگومان "libvpx-1080p" باشد، فایل را جستجو می کند
libvpx-1080p.ffpreset.

اگر چنین فایلی یافت نشد، ffmpeg فایلی به نام آن را جستجو می کند کدک_نام-ارگffpreset
در دایرکتوری های فوق الذکر، جایی که کدک_نام نام کدک است که
گزینه های فایل از پیش تعیین شده اعمال خواهد شد. برای مثال، اگر کدک ویدیویی را با انتخاب کنید
"-vcodec libvpx" و از "-vpre 1080p" استفاده کنید، سپس فایل را جستجو می کند.
libvpx-1080p.ffpreset.

avpreset فایل ها

فایل های avpreset با گزینه "pre" مشخص می شوند. آنها مشابه فایل های ffpreset کار می کنند،
اما آنها فقط به گزینه های خاص رمزگذار اجازه می دهند. بنابراین، یک انتخاب=ارزش تعیین جفت
نمی توان از رمزگذار استفاده کرد.

هنگامی که گزینه "pre" مشخص می شود، ffmpeg به دنبال فایل هایی با پسوند .avpreset می گردد.
در دایرکتوری ها $AVCONV_DATADIR (در صورت تنظیم)، و $HOME/.avconv، و در datadir تعریف شده است
در زمان پیکربندی (معمولا PREFIX/share/ffmpeg) به همین ترتیب

ابتدا ffmpeg فایلی به نام را جستجو می کند کدک_نام-ارگ.avpreset در فوق الذکر
دایرکتوری ها، جایی که کدک_نام نام کدک است که گزینه های فایل از پیش تعیین شده برای آن وجود دارد
اعمال خواهد شد. به عنوان مثال، اگر کدک ویدیویی را با "-vcodec libvpx" انتخاب کرده و استفاده کنید
"-pre 1080p"، سپس فایل را جستجو می کند libvpx-1080p.avpreset.

اگر چنین فایلی یافت نشد، ffmpeg فایلی به نام آن را جستجو می کند ارگ.avpreset در
همان دایرکتوری ها

مثال ها


تصویری و چنگ زدن
اگر فرمت ورودی و دستگاه را مشخص کنید، ffmpeg می تواند مستقیماً ویدیو و صدا را بگیرد.

ffmpeg -f oss -i /dev/dsp -f video4linux2 -i /dev/video0 /tmp/out.mpg

یا با منبع صوتی ALSA (ورودی مونو، شناسه کارت 1) به جای OSS:

ffmpeg -f alsa -ac 1 -i hw:1 -f video4linux2 -i /dev/video0 /tmp/out.mpg

توجه داشته باشید که قبل از راه اندازی ffmpeg باید منبع و کانال ویدیویی مناسب را فعال کنید
با هر بیننده تلویزیونی مانندhttp://linux.bytesex.org/xawtv/> توسط گرد کر. شما هم دارید
برای تنظیم صحیح سطوح ضبط صدا با یک میکسر استاندارد.

X11 چنگ زدن
صفحه نمایش X11 را با ffmpeg از طریق بگیرید

ffmpeg -f x11grab -video_size cif -framerate 25 -i :0.0 /tmp/out.mpg

0.0 شماره display.screen سرور X11 شما است، مانند متغیر محیطی DISPLAY.

ffmpeg -f x11grab -size_video cif -framerate 25 -i :0.0+10,20 /tmp/out.mpg

0.0 شماره display.screen سرور X11 شما است، مانند متغیر محیطی DISPLAY.
10 مقدار x-offset و 20-y-offset برای گرفتن است.

تصویری و پرونده قالب تبدیل
هر فرمت و پروتکل فایل پشتیبانی شده می تواند به عنوان ورودی ffmpeg باشد:

مثال:

· می توانید از فایل های YUV به عنوان ورودی استفاده کنید:

ffmpeg -i /tmp/test%dY /tmp/out.mpg

از فایل های زیر استفاده خواهد کرد:

/tmp/test0.Y، /tmp/test0.U، /tmp/test0.V،
/tmp/test1.Y، /tmp/test1.U، /tmp/test1.V، و غیره...

فایل های Y دو برابر فایل های U و V رزولوشن دارند. آنها فایل های خام هستند، بدون
سرتیتر. آنها را می توان توسط تمام رمزگشاهای ویدئویی مناسب تولید کرد. شما باید اندازه را مشخص کنید
از تصویر با -s گزینه اگر ffmpeg نتواند آن را حدس بزند.

· می توانید از یک فایل خام YUV420P وارد کنید:

ffmpeg -i /tmp/test.yuv /tmp/out.avi

test.yuv یک فایل حاوی داده های مسطح خام YUV است. هر فریم از Y تشکیل شده است
صفحه و به دنبال آن صفحات U و V با وضوح نصف عمودی و افقی.

· می توانید به یک فایل خام YUV420P خروجی بگیرید:

ffmpeg -i mydivx.avi bigfile.yuv

· می توانید چندین فایل ورودی و خروجی را تنظیم کنید:

ffmpeg -i /tmp/a.wav -s 640x480 -i /tmp/a.yuv /tmp/a.mpg

فایل صوتی a.wav و فایل ویدئویی خام YUV a.yuv را به فایل MPEG a.mpg تبدیل می کند.

· همچنین می توانید تبدیل های صوتی و تصویری را همزمان انجام دهید:

ffmpeg -i /tmp/a.wav -ar 22050 /tmp/a.mp2

صدای a.wav را با نرخ نمونه 22050 هرتز به MPEG تبدیل می کند.

· شما می توانید به چندین فرمت به طور همزمان رمزگذاری کنید و یک نقشه برداری از ورودی تعریف کنید
جریان به جریان های خروجی:

ffmpeg -i /tmp/a.wav -map 0:a -b:a 64k /tmp/a.mp2 -map 0:a -b:a 128k /tmp/b.mp2

a.wav را با سرعت 2 کیلوبیت به a.mp64 و با سرعت 2 کیلوبیت به b.mp128 تبدیل می کند. '-map file:index'
مشخص می کند کدام جریان ورودی برای هر جریان خروجی به ترتیب استفاده می شود
تعریف جریان های خروجی

· می توانید VOB های رمزگشایی شده را رمزگذاری کنید:

ffmpeg -i snatch_1.vob -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a libmp3lame -b:a 128k snatch.avi

این یک نمونه معمولی ریپینگ دی وی دی است. ورودی یک فایل VOB و خروجی یک فایل AVI است
با ویدئو MPEG-4 و صدای MP3. توجه داشته باشید که در این دستور ما از فریم های B استفاده می کنیم
جریان MPEG-4 با DivX5 سازگار است و اندازه GOP 300 است که به معنی یک فریم درونی است.
هر 10 ثانیه برای ویدیوی ورودی 29.97 فریم در ثانیه. علاوه بر این، جریان صوتی است
MP3-encoded، بنابراین شما باید پشتیبانی LAME را با ارسال "--enable-libmp3lame" به آن فعال کنید.
پیکربندی کنید. نقشه برداری به ویژه برای رمزگذاری دی وی دی برای به دست آوردن مطلوب مفید است
زبان صوتی

توجه: برای مشاهده فرمت های ورودی پشتیبانی شده، از "ffmpeg -formats" استفاده کنید.

· می توانید تصاویر را از یک ویدیو استخراج کنید یا از بسیاری از تصاویر یک ویدیو ایجاد کنید:

برای استخراج تصاویر از یک ویدیو:

ffmpeg -i foo.avi -r 1 -s WxH -f image2 foo-%03d.jpeg

با این کار یک فریم ویدیو در ثانیه از ویدیو استخراج می شود و آنها را در خروجی قرار می دهد
فایل های نامگذاری شده foo-001.jpeg, foo-002.jpegو غیره. تصاویر به تناسب تصاویر جدید تغییر مقیاس خواهند داد
مقادیر WxH

اگر می خواهید تعداد محدودی فریم را استخراج کنید، می توانید از دستور بالا استفاده کنید
در ترکیب با -vframes یا -t گزینه، یا در ترکیب با -ss برای شروع
استخراج از یک نقطه زمانی خاص

برای ایجاد یک ویدیو از بسیاری از تصاویر:

ffmpeg -f image2 -framerate 12 -i foo-%03d.jpeg -s WxH foo.avi

نحو "foo-%03d.jpeg" استفاده از یک عدد اعشاری متشکل از سه رقم را مشخص می کند.
برای بیان عدد دنباله ای با صفر پر شده است. این همان نحوی است که توسط آن پشتیبانی می شود
تابع C printf، اما فقط فرمت هایی که یک عدد صحیح معمولی را می پذیرند مناسب هستند.

هنگام وارد کردن یک دنباله تصویر، -i همچنین از بسط عام پوسته مانند پشتیبانی می کند
الگوها (گلوب) در داخل، با انتخاب "-pattern_type glob" مخصوص image2
گزینه.

به عنوان مثال، برای ایجاد یک ویدیو از نام فایل های مطابق با الگوی glob
"foo-*.jpeg":

ffmpeg -f image2 -pattern_type glob -framerate 12 -i 'foo-*.jpeg' -s WxH foo.avi

· می توانید جریان های زیادی از یک نوع را در خروجی قرار دهید:

ffmpeg -i test1.avi -i test2.avi -map 1:1 -map 1:0 -map 0:1 -map 0:0 -c copy -y test12.nut

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

· برای اجبار خروجی ویدیوی CBR:

ffmpeg -i myfile.avi -b 4000k -minrate 4000k -maxrate 4000k -bufsize 1835k out.m2v

· چهار گزینه lmin، lmax، mblmin و mblmax از واحدهای 'lambda' استفاده می کنند، اما می توانید از
ثابت QP2LAMBDA برای تبدیل آسان از واحدهای 'q':

ffmpeg -i src.ext -lmax 21*QP2LAMBDA dst.ext

با استفاده از خدمات onworks.net از avconv به صورت آنلاین استفاده کنید



جدیدترین برنامه های آنلاین لینوکس و ویندوز