NVENC HVEC in FFMPEG bei schnellen Bewegungen unscharf

367
Deex

Ich verwende FFMPEG mit NVENC HVEC und habe in den letzten Tagen mehrere Optionen ausprobiert, aber schließlich konnte ich nicht die gleiche Qualität wie CPU-Encoding erreichen. Das Hauptproblem dabei ist, dass schnelle Szenen unscharf werden. Ich habe in einem Artikel gelesen, dass Twitch und YouTube GPU Encoder zum Komprimieren von Videos verwenden. Die erste Frage ist, ob es möglich ist, mit GPU Encoding mit geringerer Dateigröße dieselbe Qualität zu erzielen.

Die zweite Frage ist, ob ich mit meinem ffmpeg-Befehl etwas falsch mache oder eine Idee zur Feinabstimmung habe. Als Beispiel habe ich festgestellt, dass ein Artikel, der sagt, "CRF", mit x265 nvenc keine Wirkung hat funktioniert und das verwirrt mich. Hier ist mein Befehl

-y -preset slow -c:v hevc_nvenc -vf scale=1920x1080:flags=lanczos -rc cbr_ld_hq -rc-lookahead 32 -q 20 -r 60 -crf 19 -b:v 6.4M -movflags +faststart -c:a ac3 -b:a 320k -pass 1 -2pass -1 "D:\-=streaming=-\concats\x265-website_high.mp4" 

Gibt es etwas, was ich tun kann, um es noch besser zu komprimieren, ohne den CPU-Encoder zu verwenden?

0

1 Antwort auf die Frage

2
Eugen Rieck

Ich habe mit NVENC die Erfahrung gemacht, dass sie der x264 / x265-CPU-Kodierung wirklich unterlegen ist, insbesondere bei schnell bewegten oder detailreichen Szenen.

Dies bedeutet, dass Ihr Setup in einem CBR-Szenario wie erwartet funktioniert. Möglicherweise können Sie mit Ihrem ffmpeg-Setup einige Einstellungen vornehmen, das Prinzip bleibt jedoch bestehen. YouTube verwendet kein echtes CBR. Dies könnte einer der Gründe sein.

Eine Erfahrung: Je neuer Ihr NV SDK und Ihr FFmpeg-Build, desto besser die Ergebnisse - es scheint viel aktive Entwicklung zu geben.

Vielleicht erklären Sie mir etwas mehr darüber, was "YouTube nicht mit echten CBR-Mitteln auskommt". Ich habe vor einiger Zeit einige Artikel darüber gelesen, dass sie eine Art neuronales Netzwerk verwenden, um die Videoqualität zu verbessern, aber insgesamt ist es schwierig, Informationen dafür zu finden . Deex vor 5 Jahren 0
Wenn Sie ein YouTube-Video abspielen, ist die Bitrate bei weitem nicht konstant: Schnelle oder detailreiche Szenen beanspruchen wesentlich mehr Bandbreite. Auch wenn ich es nicht weiß **, so halte ich es für eine ziemlich fundierte Vermutung, dass YouTube auf diese Weise eine gute subjektive visuelle Qualität beibehält, ohne dabei Bandbreite oder Speicher zu verschwenden. Eugen Rieck vor 5 Jahren 0