nvidia H264/H265 hardware encoding

yaegi

Commodore
Registriert
März 2005
Beiträge
4.308
man kann ja schon seit längerem mit nvidia grafikkarten per NVENC/CUDA videos in h264/h265 encodieren.
jetzt gibts ja seit der 10er pascal generation natives h265 hardwarencoding.

was ist denn hier jetzt der unterschied zu nvenc/cuda whatever...?
und vorallem: welche videosoftware (ich benutze aktuell adobe AE/PR, tmpgenc vmw6, xmedia recode) muss ich benutzen um hier beim encodieren einen (geschwindigkeits)vorteil zu haben?

thx
yaegi
 
Wenn du gute Qualität bzw. keine 30% größeren Dateien haben willst, dann solltest du weiter per CPU encoden und das medium preset verwenden.
Nennt sich aber auch bei Pascal noch immer nvenc und kann weiterhin über ffmpeg genutzt werden. (Wie zB bei OBS)
 
Ich denke du wirfst da einige Dinge durcheinander. Es gibt keinen Unterschied zwischen NVENC und "nativem h265", da es komplett andere Dinge sind. Die Grakas unterstützen H265 aufgrund von NVENC.

Im übrigen hat auch schon Maxwell (GM2xx) H265 unterstützt, aber nur in Teilen. Mit Pascal kam dann die erste Vollimplementierung von 10bit HEVC Main10.

NVENC ist die Encoding Engine, die NVidia dafür nutzt, und NVENC an sich ist ja bereits Hardwarencoding.

Zur Unterstützung: Alles was NVENC unterstützt halt. FFmpeg z.B. unterstützt das. Geschwindigkeitsvorteile sollte es bei deinem System definitiv geben (könnte bei einem Threadripper anders sein), sei aber gewarnt, dass GPU basierte Codierung je nach Einstellungen schlechtere Ergebnisse erzielen kann. Meistens wird nur per GPU codiert, wenn das Ergebnis möglichst in Echtzeit fertig sein soll (Streaming etc.).
 
ok einfache frage - welche grafikkarte ist beim HEVC encodieren schneller:
eine 980Ti oder eine 1050 (welche offiziell mit h265 encoder gelistet ist)
 
Die Frage ist weniger welche schneller ist, sondern welche von beiden das überhaupt kann. Wie gesagt, die Maxwell Karten können HEVC nur limitiert codieren, die 1050 als Pascal Karte kann da deutlich mehr.

"[Pascal] also doubles the encoding performance of 4K H.264 & HEVC when compared to previous generation NVENC"
- Quelle

Geht man rein nach der Rohleistung müsste eine 980Ti mehr als doppelt so viel Leistung wie eine 950 haben, also noch immer schneller als eine 1050. Ohne Benchmarks kann man sich da aber nicht sicher sein.
 
Zuletzt bearbeitet:
das ist der punkt den ich nämlich nicht kapiere!
was ist nun wichtiger beim video encodieren? die gesamte rohleistung der karte oder die HEVC implementierung?
 
Da ist ein extra Chip drauf. Alle Karten gleicher Generation müssten gleich schnell sein.
 
Qarrr³ schrieb:
Da ist ein extra Chip drauf
was dann im umkehrschluss bedeutet, dass die 980Ti trotz ca. 4mal höherer rohleistung bei videoencoding langsamer ist als die 1050? ist das korrekt?
 
ich hab da mal was gefunden :D da sind alle karten gelistet, auch die älteren:
https://developer.nvidia.com/video-encode-decode-gpu-support-matrix

GTX 1050 : 1 NVENC chip
GTX 980Ti : 2 NVENC chips

laut deinem link mit den benchmarks schafft die 9er serie 900fps und die 10er 1800fps
dann scheinen die wohl eher gleichschnell zu sein.
 
Die Performance des Hardwareencoders hat soweit ich weiß nichts mit der Renderleistung der Grafikkarte zu tun.
Du encodest auf einer 1050 gleich schnell wie auf einer 1060. Vielleicht spielt der VRAM da ein bisschen ne Rolle zwecks Durchsatz oder so.

Anders sieht das aus wenn du per CUDA Berechnungen encodest. Das macht aber kaum jemand und vernünftige Software die das kann gibts kaum noch. Wenns fix gehen soll Hardware-Encoder, wenn es sehr gut aussehen muss dann Software-Encoder auf der CPU.
 
Zurück
Oben