Welche CRF oder Einstellungen sollte ich für h265 wählen, um eine ähnliche Qualität von h264 zu erzielen?


8

Ich mache einige Experimente mit HEVC x265.

Ich habe ein Rohmaterial und die Qualität der Details von h264 mit derselben CRF-Einstellung sieht besser aus als von h265.

Sollte nicht das Gegenteil sein?

Vielleicht ist mein Setup nicht das beste: Ich verwende ffmpeg zum Transcodieren und vlc zum Überprüfen der Videos, kopiere dann den Bildschirminhalt und vergleiche die Bildschirme in einem Programm wie Photoshop.

Ich verwende folgende FFmpeg-Befehle:

ffmpeg -i input.mp4 -c:v libx264 -crf 30 -c:a copy output_h264.mkv

und

ffmpeg -i input.mp4 -c:v libx265 -crf 30 -c:a copy output_h265.mkv

Ich habe 30 als CRF zu Testzwecken verwendet, weil die Artefakte besser sichtbar sind :)

Könnte der Qualitätsverlust durch VLC und seine experimentelle Unterstützung beim Dekondieren von h265 verursacht werden? Vielleicht etwas sichtbarer bei niedrigeren Bitraten?

Antworten:


7

Die CRF-Skalen für x264 und x265 stimmen nicht überein. x265 CRF 28 soll gleichwertig mit x264 CRF 23 sein. Aber x265 ist in seiner Entwicklung noch nicht so ausgereift wie x264. Nehmen Sie also diese CRF-Äquivalenz mit einer Prise Salz.

Sie können jedoch versuchen, eine eigene Kalibrierung zwischen den aktuellen Versionen der Codierungsbibliotheken in Ihrem ffmpeg einzurichten, indem Sie den folgenden Befehl ausführen, der zwei gängige Videoqualitätsmetriken ausführt:

ffmpeg -i encoded-video.mp4 -i reference-video.mp4 -lavfi "ssim;[0:v][1:v]psnr" -f null -

Die letzten Zeilen der Konsolenausgabe enthalten:

[Parsed_ssim_0 @ 000000000039ad80] SSIM Y:0.984483 U:0.980458 V:0.980921 All:0.983219 (17.751712)
[Parsed_psnr_1 @ 0000000000398320] PSNR y:42.63 u:43.19 v:44.09 average:42.90 min:42.07 max:46.16

Führen Sie den Befehl also einmal mit der x264-Ausgabe und einmal mit x265 aus und vergleichen Sie ihn mit verschiedenen x265-Ausgaben, bis Sie ähnliche Kennzahlen erhalten. Natürlich sind diese Metriken nicht perfekt, aber Sie können sie als grobe Richtlinie verwenden, um die Äquivalenz festzustellen.


Hmm interessant, darf ich fragen, warum diese Waage nicht übereinstimmt? Ist ein gewünschtes Design mit einer größeren Anzahl von CRF-Werten oder könnte dies so betrachtet werden, weil libx265 in ffmpeg noch nicht ausgereift genug ist?
user3450548

Eine Ergänzung zum vorherigen Kommentar. In der von Ihnen verlinkten ffmpeg-Dokumentation heißt es, dass x265 crf 28 in etwa x264 crf 23 entspricht. Wenn also im Allgemeinen die CRF von h265 qualitativ "besser" sind als die x264, wie ist es möglich, dass die Codierungsergebnisse von x265 schlechter sind als x264 mit gleichem CRF? Immer noch ein vlc schlechtes decodieren + libx265 zu jung?
user3450548

28 und 23 sind die Standard-CRF-Werte von x265 bzw. x264, daher die angenommene Äquivalenz. Die kurze Antwort auf die Abweichung von der erwarteten Leistung lautet, dass sich x265 noch in einer "starken Entwicklung" befindet. Nichts spezielles mit libx265 zu tun, das in ffmpeg enthalten ist. Siehe forum.doom9.org/showthread.php?t=170986 und compress.ru/video/codec_comparison/hevc_2015/…
Gyan

Ich verstehe, aufgrund dieses hohen Entwicklungsstatus werden sich die Ergebnisse nicht so sehr ändern, selbst wenn ich mich entscheide, von ffmpeg und libx265 auf einen anderen Encoder zu wechseln, oder? Es gibt heutzutage keine kommerziellen Produkte, die auf x265 basieren? Sollte schon in allen Teilen fast fertig sein!
user3450548

Wenn Sie sich das PDF ansehen, das ich im letzten Kommentar verlinkt habe, gibt es viele Encoder - die meisten proprietären. Meine Beobachtung beschränkt sich auf Standalone x265 oder dessen Bereitstellung, ob in ffmpeg oder irgendetwas anderem. Diese anderen Encoder könnten besser sein - ich habe das PDF nicht genau studiert.
Gyan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.