Warum erstellt FFMPEG immer große WebM-Dateien?

8

Ich versuche, meine Filme in WebM zu kodieren:

%Vor%

Ich möchte mit ein paar verschiedenen Bitraten kodieren (Video und Audio kombiniert):

  • 2192 kbit / s
  • 1692 kbit / s
  • 1000 kbit / s

Das Problem ist, dass ich unabhängig davon, welche Bitraten ich gebe, immer eine Datei mit einer höheren Bitrate als 1900 kbps bekomme. (1914 kbps mit dem Codebeispiel oben.)

Was mache ich falsch?

    
Student of Hogwarts 02.04.2013, 10:33
quelle

1 Antwort

12

libvpx ist etwas kompliziert in Bezug auf die Ratenkontrolle und die Qualitätseinstellungen. Bitte beachten Sie den vpx Encoding Guide und den VP8 Encode-Parameterhandbuch für weitere Informationen. Ich brauchte eine Stunde, um den Quellcode zu durchforsten, um ihn zu verstehen.

Wenn Sie eine konstante Bitrate einstellen möchten, müssen Sie b:v , maxrate und minrate auf die gleichen Werte setzen, zum Beispiel so (beachten Sie, dass ich hier die Audio-Optionen aus Platzgründen weggelassen habe):

%Vor%

Wenn Sie stattdessen die variable Qualität verwenden und nur die obere Grenze für die Bitrate angeben möchten, müssen Sie sowohl b:v als auch crf festlegen. Wenn Sie crf weglassen, wird die angegebene Bitrate nur als Durchschnittswert verwendet. Nur mit crf ändert der Encoder die Bedeutung von b:v auf die maximal zulässige Rate.

%Vor%

Ein Wert von 10 für das CRF ist ein guter Ausgangspunkt, aber libvpx kann die Qualität pro Frame innerhalb der Grenzen von qmin ≤ q ≤ qmax ändern, die Sie ebenfalls angeben können, wenn Sie möchten. Die untere Grenze von 10 für qmin scheint mir etwas hoch zu sein, aber im Prinzip müssen Sie trotzdem etwas ausprobieren, denn wenn die maximale Bitrate zu niedrig ist, sättigen Sie sie ständig.

    
slhck 02.04.2013, 18:42
quelle

Tags und Links