2013-04-02 19 views
8

Ben WebM içine filmlerimi kodlamak çalışıyorum:FFMPEG neden her zaman büyük WebM dosyaları oluşturur?

ffmpeg -i input.MOV -codec:v libvpx -quality good -cpu-used 0 -b:v 10k 
-qmin 10 -qmax 42 -maxrate 10k -bufsize 20k -threads 8 -vf scale=-1:1080 
-codec:a libvorbis -b:a 192k 
output.webm 

Ben farklı bir bit oranlarında çift (video ve ses kombine) de kodlamak istiyorum:

  • 2192 kbps
  • 1692 kbps
  • 1000 kbps

sorun olursa olsun oranlarını bit hangi olmasıdır Giriyorum, her zaman 1900 kbps'den daha yüksek bir bit hızına sahip bir dosya alıyorum. (Yukarıdaki kod örneğinde ile 1914 kbps.) Ben yanlış yapıyorum

?

cevap

12

libvpx oranı kontrol ve kalite ayarlarında bakımından biraz karmaşıktır. Daha fazla bilgi için lütfen vpx Encoding Guide ve VP8 Encode Parameter Guide'a bakın. Bunu anlamak için kaynak koddan bir saat kazdım. Eğer sabit bit hızı ayarlamak isterseniz

, siz (Ben kısa tutmak amacıyla burada ses seçenekleri dışında kalan unutmayın) şöyle örneğin, aynı değerlere b:v, maxrate ve minrate ayırmak zorunda kalacaklar:

ffmpeg -i input.mov -c:v libvpx -b:v 1900K -maxrate 1900K -minrate 1900K output.webm 
Eğer değişken kalitesini kullanmak ve sadece bit için üst sınır belirtmek istediğiniz Bunun yerine

, o zaman b:v ve crf hem ayarlamanız gerekir. crf'u bırakırsanız, belirtilen bit hızı yalnızca ortalama olarak alınacaktır. Sadece crf ile kodlayıcı, b:v anlamını izin verilen maksimum hıza değiştirir.

ffmpeg -i input.mov -c:v libvpx -b:v 1900K -crf 10 output.webm 

CRF için 10 değeri için iyi bir başlangıç ​​noktasıdır, ama libvpx isterseniz de belirtebilirsiniz qmin ≤ q ≤ qmax sınırları içinde kare başına kalitesini değiştirebilir. qmin için 10'dan daha düşük bir sınırın ayarlanması bana göre biraz daha yüksek gibi görünüyor, ancak aslına bakarsanız, eğer azami bit hızı çok düşükse, sürekli olarak doyurulacaksınız.

+0

Zaman ayırdığınız için çok teşekkür ederim! :) İlk örneğinizde dediğiniz gibi, kaliteyi bırakmak hile yaptı. Şimdi bir çekicilik gibi çalışıyor. –

İlgili konular