Wenn die Ausgabe zu blockig oder pixelig wirkt, liegt dies an einer zu niedrigen Bitrate. Ich sehe, dass Sie 500 kBit / s eingestellt haben, aber das ist viel zu niedrig, um mit 720p oder höher eine vernünftige Qualität zu erreichen.
In der Anleitung zur VP8-Kodierung sind einige Optionen aufgeführt, die Sie beim Verwenden des libvpx-Kodierers haben. Ich stimme mit Ihnen überein, dass die Verwendung eines konstanten Ratenfaktors der richtige Ansatz ist, um die gleiche visuelle Qualität unabhängig von der Videoauflösung zu erreichen.
Sie haben CRF 18 für den x264-Encoder verwendet, der als sehr hochwertig betrachtet wird (möglicherweise nicht visuell verlustfrei, der Qualitätsverlust sollte jedoch nicht wahrnehmbar sein). Für libvpx ist der CRF-Bereich etwas anders. 10 ist ein guter Standard (es wäre 23 für x264), und daher würde ich wahrscheinlich empfehlen, etwas wie CRF 6–7 für libvpx zu verwenden.
Beachten Sie, dass der -qmin
Parameter dem von Ihnen gewählten CRF gleich oder niedriger sein muss. Sonst kann es nicht kodieren.
Denken Sie daran, dass für die resultierende Bitrate die obere Grenze festgelegt ist -b:v
. Wenn Ihr CRF zu niedrig ist und Ihre Bitrate auf festgelegt ist, beträgt -b:v 2M
Ihre endgültige Bitrate daher 2 MBit / s.
Aber es gibt nichts Besseres, als verschiedene Werte auszuprobieren. Es hängt alles davon ab, wie Ihre Eingabe aussieht oder wie Ihre Zielanwendung für die Videos aussehen soll. Wenn Sie nur Web-Streaming durchführen, benötigen Sie kein Video von so hoher Qualität. Wenn Sie eine Offline-Speicherung wünschen, wäre eine niedrigere CRF natürlich besser.