Beachten Sie, dass Sie dazu immer die neueste ffmpeg-Version verwenden und diese möglichst selbst kompilieren sollten . Damit haben Sie Zugriff auf die neuesten Versionen von libx265 und libfdk-aac für die Audiocodierung.
Die Einsparungen bei der Datenrate sind sehr drastisch, wenn Sie von einer ~ 10 MBit / s-DVD für H.264-Video auf etwa 1–2 MBit / s und für H.265-Video von 0,5–1 MBit / s wechseln. Das Ändern der Qualität in den folgenden Schritten kann die Bitraten beeinflussen, die Datenreduzierung sollte jedoch dennoch erheblich sein.
H.264
Für die Qualitäts- / Ratensteuerung möchten Sie den CRF-Modus in libx264 anstelle einer konstanten Bitrate verwenden. Durch die Verwendung von CRF wird sichergestellt, dass eine durchschnittliche Qualität unabhängig von der ursprünglichen Videoauflösung oder ihrer Komplexität erhalten bleibt. Die konstante Bitrate ist nur dann wirklich nützlich, wenn Sie durch das Übertragungsmedium eingeschränkt sind (z. B. Festplattengeschwindigkeit, Internetdurchsatz).
Die Auswahl des CRF-Werts ist der schwierige Teil. Sie müssen sich die Ausgabe ansehen. Die Standardeinstellung für libx264 (23) bietet einen recht guten Kompromiss zwischen Größe und Qualität. Da Ihre Originalquelle jedoch bereits komprimiert ist (und nicht im Vergleich zu Blu-rays eine sehr gute Qualität aufweist), möchten Sie möglicherweise die CRF-Datei etwas niedriger einstellen (z. B. 20). Dies erhöht die erforderliche Bitrate um etwa ein Drittel .
Wählen Sie die Voreinstellung danach, wie lange Sie warten möchten. slow
scheint hier ein guter Wert zu sein.
ffmpeg -i input \ -c:v libx264 -crf 20 -pix_fmt yuv420p \ -x264-params keyint=240:min-keyint=20 \ -preset:v slow -profile:v baseline -level 3.0 \ -c:a libfdk_aac -vbr 4 \ output.mp4
Der integrierte ffmpeg-AAC-Encoder kann verwendet werden, wenn libfdk-aac nicht verfügbar ist. Verwenden Sie -c:a aac -strict experimental -b:a 128k
statt -c:a libfdk_aac -vbr 4
.
H.265
Forschungsergebnisse deuten darauf hin, dass die Verwendung von HEVC im Vergleich zu H.264 zu einer Bitrateneinsparung von bis zu 74% führt. Dies basiert auf subjektiven Betrachtungsdaten von Ultra-HD-Sequenzen. Natürlich hängt es von der zeitlichen Komplexität des Quellinhalts ab, und die Menge der gespeicherten Daten ist für schwer zu codierende Sequenzen nicht so hoch. In jedem Fall können Sie mit Sicherheit sagen, dass eine Datenreduzierung von 50% absolut möglich ist.
Die Standard-CRF für libx265 ist 28. Bei Verwendung des gleichen Quellinhalts ergibt sich etwa die Hälfte der Bitrate im Vergleich zu libx264 bei CRF 23. Dies ist unabhängig von der tatsächlichen Bitrate, dh, wenn die H.264-Version 1,5 MBit / s benötigt, dann wird H.265 ungefähr 750 kBit / s verwenden, aber es sind 750 kBit / s gegenüber 350 kBit / s für eine andere Sequenz. Ich habe es mit einer Reihe von Sequenzen mit DVD-PAL-Auflösung laufen lassen und konnte den Qualitätsunterschied nicht erkennen.
ffmpeg -i input \ -c:v libx265 -pix_fmt yuv420p \ -x265-params crf=28:keyint=240:min-keyint=20 \ -preset:v slow \ -c:a libfdk_aac -vbr 4 \ output.mp4
Weitere Informationen finden Sie hier:
- FFmpeg-Wiki für H.264-Kodierung und H.265-Kodierung
- ffmpeg-Dokumentation zu libx265
- x265 Dokumentation