Welcher Encoder? X264 oder NVENC? Und warum?

Das Ergebnis basiert auf 15 Abstimmungen

NVENC (NVIDIA GeForce RTX 3070) 67%
X264 (AMD RYZEN 7 3700X) 27%
Andere Antwort 7%

4 Antworten

Andere Antwort
Encoding per GPU vs. CPU: nVidia Turing-Encoding auf x264-Medium-Preset Niveau? - (28.02 2019)
Nachdem bei uns im Forum immer wieder die Diskussion aufkommt, wie gut die Encoding-Qualität von GPUs hat, kann vielleicht nVidia selber auch ein bisschen Information dazu beitragen. Zum Hintergrund: Um Videos mit modernen Codecs zu komprimieren, ist eine Menge Rechenleistung erforderlich. Um alle Kompressionstricks eines Codecs auszureizen, muss der gesamte Stream am besten in einem ersten Durchgang analysiert werden, um anschließend in einem zweiten Durchgang bessere Entscheidungen zu den eingesetzten Verfahren treffen zu können (2-Pass-Encoding).
Zu diesen Entscheidungen gehört unter anderem, welche Bildbereiche besonders detailreich gespeichert werden sollen und wie man die knappe Datenrate bestmöglich den einzelnen Frames zuteilt.
Encoder auf der Grafikkarte (GPU) sind dagegen in der Regel darauf ausgelegt, in Echtzeit zu encodieren. Und zwar um das Spielgeschehen direkt ins Internet streamen zu können. Daher sind alle uns bekannten Encoder auf aktuellen GPUs nur 1-Pass Encoder, d.h. sie sind zwangsläufig nicht so effektiv, wie 2-Pass Encoder, weil ihnen wichtige Analyse-Informationen zur Kompression einfach fehlen. 1-Pass-Encoder können ohne Analyse des Streams niemals die Effizienz eines 2-Pass Encodings erreichen. Bei gleicher Datenrate sind 2-Pass-CPU-Encoder wie x264 daher faktisch immer in der Bildqualität einem GPU-Encoder überlegen. Umgekehrt gedacht können 2-Pass-Encoder mit einer niedrigeren Datenrate immer eine vergleichbare Bildqualität eines 1-Pass-Encoders mit höherer Datenrate erzielen.
Wer also beim Videoschnitt GPU-Encoder zum Export seiner Videos benutzt, spart vielleicht etwas Zeit, bekommt aber keinesfalls die bestmögliche Qualität für seine Datenrate. Und hier machen wir nun den Bogen rund und verlinken den aktuellen Golem-Artikel, in dem nVidia angibt, dass die neue Turing-Generation in der Qualität auf Augenhöhe mit dem x264-Medium-Preset agiert. Und nur zur Einschätzung: Darüber gibt es in den Presets nicht nur eine, sondern noch drei höhere Qualitätsstufen: Slow, Slower und Very Slow. Wenn es um die finale Distribution geht, würden wir für den Export eines Clips daher immer auf die CPU setzen.

https://www.slashcam.de/news/single/Encoding-per-GPU-vs--CPU--nVidia-Turing-Encoding-a-14934.html

-------------------------------------------------

Wenn es um das RE Encoden von großen HD Filmdateien, oder Filmen von Blu-Ray's geht, die eine sehr hohe Videobitrate von über 30000 KB/s haben, und man die sehr hohe Bildqualität erhalten will, ist das 1-Pass ABR Encoding (Medium bis Fast) über CPU, und dem x264 Codec ein guter "Standard", um z.B. auch in komplexen Szenen wie z.B. Feuer mit Kamerabewegungen keine sichtbare Bildverschlechterungen

Damals wie heute gilt (für mich), - je niedriger die Videobitrate, und je schneller die Encoder Geschwindigkeit, desto schlechter wird die Bildqualität, vor allem wenn es um die Tiefenschärfe geht, (z.B.kleine, weit entfernte Objekte), da die Pixel wörtlich genommen "gerundet" also rund werden, und nicht mehr eckig-scharf sind.

--------------------------------------

Willst du mehr wissen?

https://encodingwissen.de/

NVENC (NVIDIA GeForce RTX 3070)

Bei NVENC hat man fast garkeinen Leistungsverlust weil die Grafikkarte enkodiert, wenn man es über die CPU macht verliert man mehr Leistung. Über die GPU ist es also am sinnvollsten.


KurixYT  03.09.2020, 18:02

Kommt aber immer drauf an. Ist die Grafikkarte der Flaschenhals, ergibt es trotz weniger Effizienz mehr Sinn, über CPU zu encoden.

0
NVENC (NVIDIA GeForce RTX 3070)

Nvenc ist schneller, kostet also weniger Leistung, aber ist dafür weniger effizient.

Für Livestreamen benutze ich nvenc, aber eben ich nen Video einfach Transcode dsnn have ich es nicht so eilig und nehme x264.

X264 (AMD RYZEN 7 3700X)

Soweit ich weiß sind Grafikkarten besser zum Enkodieren, nutze aber immer meine CPU.

Woher ich das weiß:Hobby – Beschäftige mich täglich mit PCs.