Bluray -> h.265, Bildvergleich nvenc vs. cpu encode

Rodman

Lt. Junior Grade
Registriert
Nov. 2012
Beiträge
408
Hallo,
ich hoffe das thema passt hier rein...

Ich bin aktuell auf der suche nach bild-/videovergleichen bzgl. encodierung per cpu vs. nvenc.
Alle bisher gefundenen vergleiche beziehen sich aufs streaming bzw. den vergleich h.264 vs. nvenc.
Mich würde das ganze aber in sachen filmencodierung zu h.265 interessieren.
Die deutlich höhere encodierleistung von nvenc geht ja (massiv) zu lasten der quallität - oder auch nicht.
Aktuell kann ich den unterschied nicht selbst test und würde gern paar tests sehen.
Hab ihr eine idee wo ich da fündig werden könnte?
 
nvenc ist vom Standard cq modus vom cq modus per cpu berechnet nicht zu unterscheiden
aber bei der bitrate deutlich

CPu h265 720p abhängig vom quelle bsp cq20 ruhiges 8bit farbenfrohes video langsam etwa zwischen 1-3 mbit
GPU selbe Datei selbe Einstellung zwischen 6-9mbit

Da aber cqp bei nvidia nvenc optional ist und sich nach immer den nächsten mbit bei einer Auflösung richtet
also 720p wenn video min 4mbit braucht geht es bis nächstes mbit wenn der nächste frame es braucht
Und der durchschnitt aller frames bestimmt dann die mbit diese sind immer volle Zahlen also 1, 2, 3, 4 mbit

Die alternative ist cbr und vbr
CBR macht es herrlich keinen Sinn hier kann man nur raten welche bitrate für ein video ausreicht
vbr ist auch quasi raten in einen berech
Das schöne an nvenc ist das sich vbr wie cqp nutzen lässt von 192bit auf 50 000 bit
Den dann entscheidet der codec welche bitrate min angesetzt wird.allerdings fix den niedrigsten wert oft 2 oder 3 mbit bei 720p egal ob frame darin aml 6 oder 12mbit bräuchten hier kann man schön blockartefakte beobachten.

ich nehme da lieber die cqp Methode die in nvenc auch Verwendung findet
Nur finde mal ne gui die das hat. unter ffmpeg kann man das manuell einstellen.

Fazit cpu encoding ist besser da es die Qualität eher herausfindet als hardware encoder es könnten bei einer geringeren bitrate.
Fürs live streamen bzw recording eignet sich der hardware encoder h264/5 nvenc das auch mit lossless Einstellung läuft.
 
Rodman schrieb:
Hab ihr eine idee wo ich da fündig werden könnte?

Es gibt afaik jede Menge Material von (IEEE etc.) Ingenieuren / Programmierern (Codec-Optimierung) bei denen "richtige" Metriken wie SSIM benutzt werden ... auf der MSU Seite: compression.ru (mit PSNR, VMAF objective metrics and subjective evaluation) , Methoden von MSU - hier wird auch NVENC getestet.

solches Material liegt zB auch auf: scholar.google.com
zB das hier vom HHI vergleicht Codecs ,

Es gibt außerdem öffentliches Testmaterial (Rohdaten) und kodierte Daten von Netflix (hier) und vielen anderen - genauso wie die Rohdaten diverser freier Blender-Filme mit unterschiedlichem Schwerpunkt ( Quellmaterial: Sport, Film, Animation, Schwarz-Weiß, Computer/Renderquelle (zB SCC-HEVC Feature) .... )
Mit denen kann dann A/B Tests , Side-by-Side ... getestet werden - zB mit avisynth scripts bei denen das decodierte Bild per Splitscreen angezeigt wird.

Zum Bewerten sind neben "unbelasteten" Personen andererseits die möglichen Kompressionsartefakte wichtig.

Leider sind Ergebnisse von IEEE (Hardware/Codec-Hersteller) oder EBU (TV Sender -> zB relevant bei Live Encoding von Events; Filme in Mediatheken) manchmal nur für die jeweiligen Mitglieder (oder gegen Registrierung) verfügbar oder gegen €€€.
zB offenes EBU Testmaterial , Hintergrund-Tech

Bei reddit oder im doom9 Forum gibt es dann diverse Entwickler u. Power-User die bei Codec-Einstellungen usw. auch helfen bzw. Erfolgsrezepte / "best practice" kennen.

Im AV1 reddit "tech demo" zB komplette ~20min animierter Content in SD (360p) mit ~8MB oO - quasi VHS Qualität / schlechte avi divx 😳.

Die Nvidia GPU ist auf "Streaming" / "Broadcasting" / "Real-Time" ausgelegt und nicht zu "bestmöglichen Qualität" - die "guten" B-Frames erzeugen zB Latenz , andere Streameigenschaften können Probleme beim Kanalumschalten erzeugen. (zB GOP Länge, Zusammensetzung).
Dazu kommen die Fortschritte bei der Entwicklung der Encoder und teilw. die sehr flexible Einstellung - wie wichtig ist Dateigröße vs. Bildqualität ... ?
 
Ich bin gerade etwas erschlagen von den ganzen infos ^^
@lokon
In der seite compression.ru steckt ja verdammt viel arbeit,
aber kann es sein das es dort keine vergleiche bzgl. nvenc gibt, oder kann ich die ganzen abkürzungen nicht korrekt zuordnen?

lokon schrieb:
Dazu kommen die Fortschritte bei der Entwicklung der Encoder und teilw. die sehr flexible Einstellung - wie wichtig ist Dateigröße vs. Bildqualität ... ?
Bildquali ist ja auch ein subjektives empfinden und ob das filmmaterial ein geübtes auge trifft.
Zum thema dateigröße kann ich nur sagen, dass es mir nicht wichtig ist ob der 1080p bluray film von 30gb auf 9 oder 8gb eingedampft wird.
 
bzgl. compression.ru

nvenc wurde mal 2017 im fast preset getestet - die Leute da machen tendenziell Forschung und Verkaufen teilw. auch Vergleiche (siehe 2019 - bestimmte Daten fehlen in der freien Version)

Die Comparisons sind auch ein "Einreich-Wettbewerb" - von selbst haben die nicht unbedingt €€€ für die ganzen GTX, RTX Karten gezahlt bzw. publizieren "ständig" immer die neuesten Vergleiche bei den "neuen" Programmversionen. (Nvidias SDK v10 ist erst neulich erschienen)

Die Webseite hat zB ein Tool: https://www.compression.ru/video/quality_measure/
und die Hintergrundinfos bzw. mögliche Testclips - so dass Ergebnisse oder Vergleiche auch etwas einfacher nach-experimentiert werden können.

Die Power-User in entsprechenden Foren machen dann damit teilweise private/öfentliche Benchmarks zB mit Vegas und nvenc hevc.
MSU ist im doom9 forum aktiv
So ein richtiger Benchmark/Vergleich frisst trotzdem noch sehr viel Zeit - gibt iirc auch ein google doc/spreadsheet bei denen der Einfluss einzelner Encodeoptionen auf das Encodingresultat gezeigt wurde.

Ein "allgemeines" Resultat kann dann trotzdem "falsch" sein, wenn zB nur Trickfilme /Animes archiviert werden, während andere nur Marathon-Aufzeichnungen (Sample: "Crowd Run") haben.
"Archivierung" und "Streaming" sind genauso unterschiedliche Anforderungen.
 
Kommt aufs Material an, bei Realfilmen/serien nur CPU Encodes, bei Anime/Zeichentrick liefert nvenc einen guten Kompromis ab
Der Einzige Vorteil von GPU Encodes ist die Geschwindigkeit, will man aber dieselbe Qualität wie bei dem CPU Encodes geht die Dateigröße deutlich nach oben

Teste doch einfach mal selbst, mit ner potenten CPU gehts auch recht schnell
 
Gerade beim Usecase Ripping und Anime/Zeichentrick versagt NVENC komplett.
 
Kommt natürlich auf die Einstellungen (für den Content relevanten Filter, Parameter, etc) an. Die Russenseite nutzt FAST Presets was schonmal nichts mit Qualität zu tun hat und ohne zusatz ist das ganze auch nicht für die eigene Filmsammlung sinnvoll anzuwenden.
Theoretisch könnten die als Überschrift auch schreiben" Was liefert unter schlechten Einstellungen das bessere Bild ab"
 
Zuletzt bearbeitet:
Ich spreche jetzt bezüglich Zeichentrick und vor allem Anime eher aus meiner, bzw. der Erfahrung aus der entsprechenden Szene. Bei den qualitativen Encodes findet man dort keinen NVENC-Encode, bzw. allgemein kein Encode per Hardware finden. Auch H265 gibt es quasi nicht.

Die interessanten Usecases und Metriken sind auf compression.ru leider nur gegen Bezahlung zu sehen, zumindest was NVENC angeht. Der Test ist auf der Seite afair der einzige kostenlose mit NVENC. Was das Preset FAST und Qualität angeht ... das wird ja auch erst in Verbindung mit einer Bitrate zu einem Qualitätsmerkmal. Ob CRF13 PLACEBO oder CRF13 FAST macht qualitativ keinen Unterschied.

Was du mit Filtern bei einem Encoder meinst musst du mir leider erklären. Filter setze ich im Frameserver.
 

Ähnliche Themen

Antworten
62
Aufrufe
118.350
Zurück
Oben