Beachten Sie, dass Sie hierfür immer die neueste ffmpeg-Version verwenden und diese vorzugsweise selbst kompilieren sollten . Auf diese Weise erhalten Sie Zugriff auf die neuesten Versionen libx265 und libfdk-aac für die Audiokodierung.
Außerdem werden die Einsparungen bei der Datenrate drastisch sein, wenn Sie von einer DVD mit ~ 10 MBit / s auf etwa 1–2 MBit / s für H.264-Videos und 0,5–1 MBit / s für H.265-Videos wechseln. Das Ändern der Qualität in den folgenden Schritten kann die Bitraten beeinflussen, dennoch sollte die Datenreduzierung erheblich sein.
H.264
Für die Qualitäts- / Ratenkontrolle 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 erhalten bleibt, unabhängig von der ursprünglichen Videoauflösung oder ihrer Komplexität. Eine 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 ursprüngliche Quelle jedoch bereits komprimiert ist (und im Vergleich zu Blu-rays keine sehr gute Qualität aufweist), möchten Sie die CRF möglicherweise etwas niedriger einstellen, z. B. 20. Dadurch wird die erforderliche Bitrate um etwa ein Drittel erhöht .
Wählen Sie die Voreinstellung entsprechend der Wartezeit. 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
anstelle von -c:a libfdk_aac -vbr 4
.
H.265
Untersuchungen legen nahe, dass die Verwendung von HEVC zu einer Bitratenersparnis von bis zu 74% im Vergleich zu H.264 führt. Dies basiert auf subjektiven Betrachtungsdaten von Ultra-HD-Sequenzen. Dies hängt natürlich von der zeitlichen Komplexität des Quellinhalts ab, und die gespeicherte Datenmenge ist bei schwer zu codierenden Sequenzen nicht so hoch. In beiden Fällen 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 verwendet H.265 ungefähr 750 kBit / s, aber es ist 750 kBit / s gegenüber 350 kBit / s für eine andere Sequenz. Ich habe es auf einigen Sequenzen mit DVD-PAL-Auflösung ausgeführt und konnte keinen Qualitätsunterschied feststellen.
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:
keyint
in x264 / x265 ist das Intervall zwischen IDR-Frames, dh das Intervall zwischen Keyframes, in dem der Decoder aktualisieren kann. Dazwischen kann es I-Frames ohne Keyframe geben, z. B. wenn ein Szenenschnitt auftritt. Es entspricht dem-g
Parameter, wenn ich mich nicht irre.-c:a aac -strict experimental
, was in meiner Antwort angegeben ist. Und ich stimme zu, ich würde nicht versuchen, es unter Windows zu erstellen.libopus > libvorbis >= libfdk_aac > aac > libmp3lame >= libfaac >= eac3/ac3 > libtwolame > vorbis > mp2 > wmav2/wmav1
Nur für AAC: (Weil es ein bisschen verwirrend ist, mit 3 verfügbaren Encodern):libfdk_aac > aac > libfaac
Das Zeichen> = bedeutet größer oder gleich Qualität."