Lütfen FFmpeg belgelerini okuyun veffmpeg -h full seçenekler listesi için çalıştırın . Ayrıca, x264 ve x265 gibi kodlayıcılarda hız kontrol modları arasındaki farkları gösteren yazdığım bu makaleye bir göz atın .
Genellikle, seçenekler şu anlama gelir:
-b:v(veya -vbaynı) kodlayıcının kullanacağı hedef ortalama bit hızını belirtir:
-b <int> E..VA. bit hızını ayarla (bit / sn cinsinden) (0'dan INT_MAX'a)
-minrate kullanılacak minimum toleransı belirtir:
-minrate <int> E..VA. Minimum bit hızı toleransını ayarlayın (bit / sn cinsinden). Bir CBR kodlama kurulumunda en kullanışlıdır. Aksi takdirde çok az kullanılır. (INT_MIN - INT_MAX arası)
-maxratemaksimum toleransı belirtir. Ancak, belgelerin belirttiği gibi, bu yalnızca aşağıdakilerle bağlantılı olarak kullanılır bufsize:
-maxrate <int> E..VA. Maksimum bit hızı toleransını ayarlayın (bit / sn cinsinden). Gerektirir bufsizeayarlanmalıdır. (INT_MIN - INT_MAX arası)
-bufsize <int> E..VA. ratecontrol buffer size (bit olarak) ayarla (INT_MIN - INT_MAX arasında)
Bu yalnızca değişken bit hızı kodlaması için anlamlıdır, burada sabit bit hızı veya sabit kalite modeli kullanmak yerine kodlayıcı, kod çözücüde sanal bir tamponla bir iletim simülasyonu yapar. -minrate/ -maxrate/ -bufsizeSeçenekler o tampon boyutunu kontrol eder. Bu modu genellikle akış için kullanırsınız çünkü teknik, kod çözücü tamponunun aşırı veya düşük akmasına neden olacak belirli bir değeri aşmamak için bit hızını sınırlayacaktır.
Özetlemek gerekirse, bit hızını sınırlamak için birkaç seçeneğiniz vardır:
Bir CBR işlemi ayarlamak için kodlayıcının ne sunduğunu kontrol etmeniz gerekir. Tipik olarak, "mükemmel" bir sabit bit hızı elde edemezsiniz, çünkü kodlayıcı bitleri boşa harcamaz. Ayarlamak -b:v, -minrateve -maxrateaynı seviyelere ayarlamak , örneğin libx264 için:
ffmpeg -i input.mp4 -c:v libx264 -x264-params "nal-hrd=cbr" -b:v 1M -minrate 1M -maxrate 1M -bufsize 2M output.ts
Uyarı: Bu, kodlanması zor videolar için düşük kaliteye neden olabilir ve bitleri boşa harcar. Kesinlikle sabit oranlı bir çıkış elde etmeniz gerekmedikçe, bu seçeneği kullanmayın.
Gerçek zamanlı aktarım için kısıtlı / değişken bit hızı işlemi ayarlayın. -b:v 3500K -maxrate 3500K -bufsize 1000KÖrneğin kullanın . Oranı ve arabellek boyutlarını bağlama göre ayarlamanız gerekir. Tampon boyutu ne kadar yüksek olursa, izin verilen bit hızı varyasyonu da o kadar yüksek olur.
Sabit bir kalite hedefi kullanın ve bit hızını yalnızca ani artışları yakalamak için sınırlayın. Örneğin, -c:v libx264 -crf 23 -maxrate 4M -bufsize 4Mdeğişken bit hızında 23 hedef CRF ile kodlamak için kullanın , ancak çıkışı maksimum 4 MBit / s ile sınırlayın.