AMD Epyc 7742: 79 Fps im 8K-HEVC-Material-Echtzeit-Encoding

Klar gerade die mega schlechten, stark abgespeckten Energiesparenden laptops, welche auch fürs gaming verwendet werden, sollen 2019 8K in hand umdrehen händlen,..... ok!!! Egal von welchen stern so manche kommen, oder welche Pillen auch imemr eingenommen wurden, oder welchen dampf man sich für solch eine gestörte aussage ausgesetzt hat. Alles wird gut! Selbst Gaming Laptops dienen eigentlich nur für Simple Office anwendungen, alles andere ist wunsch denken.
 
Gibts noch keinen Encoder auf einer "preiswerteren" Graka, der 8K in Echtzeit mit 60FPS encodieren (aufnehmen) kann?

Nvidia NVENC steht ja aktuell afaik bei 8K mit 30FPS, oder?

profi hardware wie red kameras kosten schon deutlich mehr als eine rtx titan. hab mich mal etwas hingesetzt und mir überlegt ein transcodier server zu basteln für upnp mit opensource software. amd's gamer karten verkacken genau so wie nvidia mit mehreren streams bzw. hab ich es nicht hinbekomm mit der vega 64 die hardware asics zu benutzen fürs transcodieren. ffmpeg wollte da nicht so. (openmedia server habe ich verwendet, plex ist der gleiche käse)

um eine quadro 2000 oder 4000 kommt man nicht herum für 400€ damit man mit mehreren transcodieren kann.:wall:

wenn wer eine gute alternative hat, egal ob hardware software ich bin offen (ziel 4k/uhd/hdr zeugs zu sdr/1080p)



back2topic

wie viele intel sockel braucht man dafür? mind. 2 intel sockel/cpu's mit vielen kernen? oder sogar 4 weil 3 nicht gehen. :D

dem einen vorrender muss ich recht geben, bei video encoding/decodieren helfen nur massivst kerne. ltt wollt den 10 kerner oder mehr kerner gegen ein 8 kerner austauschen und kam langsamer/gleichschnell an (6850 oder 6950k vs. 9900k@5ghz)
 
Ja, weil im kommerziellen Bereich ständig Videos per CPU transkodiert werden. da nimmt man sicher keine Dedizierte hardware oder Software die GPU-beschleunigt ist XD
x265 läuft nur auf CPUs und Hardware Encoding per GPU hat viel schlechtere Qualität, schneller sind GPUs auch nicht, da nimmt man einfach schnellere Einstellungen per CPU und kommt immer noch besser weg. Der einzige Vorteil von GPU Encoding ist das die CPU nicht aufdreht und Hitze und Lautstärke erzeugt.
 
Ja, weil im kommerziellen Bereich ständig Videos per CPU transkodiert werden. da nimmt man sicher keine Dedizierte hardware oder Software die GPU-beschleunigt ist XD
Man greift dort in der Tat eher auf Softwareencoder zurück, weil die im Gegensatz zu dedizierter Hardware deutlich flexibler ist, und mit entsprechenden Einstellungen auch deutlich bessere Qualität liefert. Im Vergleich zu sonstigen Rechenzeiten bei vielen Profianwendungen (Rendern / Simulation) verschwindet die Encodingzeit eh im Fehlerbalken.

Hardwareencoding ist eher ein Consumerding, wo es weniger auf Qualität und mehr auf Geschwindigkeit, Preis und Stromverbrauch ankommt. Im Profibereich kommt das nur zum Einsatz, wenn irgenwas wirklich sehr zeitkritisch ist (Liveübertragungen zählen da eher noch nicht dazu). Und selbst dann nimmt man in der Regel keine fixen Hardwarebausteine, sondern FPGAs oder GPUs.
 
x265 läuft nur auf CPUs und Hardware Encoding per GPU hat viel schlechtere Qualität, schneller sind GPUs auch nicht, da nimmt man einfach schnellere Einstellungen per CPU und kommt immer noch besser weg. Der einzige Vorteil von GPU Encoding ist das die CPU nicht aufdreht und Hitze und Lautstärke erzeugt.
Uhm.. ne? Nichtmal ansatzweise? bei gleichen Settings sind GPUs da deutlich schneller und effizienter - da muss man schon ne ordentlich starke CPU nehmen um auch nur an Budget-GPUs ran zu kommen.
Wenn du Qualität haben willst dann nimmst halt eine Workstation-GPU - die können auch mehrere 8K x265 Streams gleichzeitig codieren - mit entsprechender Auswahl an Settings und Qualität.

Hier gehts nur darum das AMD Marketing betreibt - nicht schlecht, aber sonst auch nichts besonderes.

Uh, informier am besten gleich die Leute von Beamr, dass das was sie da machen völlig sinnlos und am Markt vorbei ist. Werden dir sicher dankbar für deinen wertvollen Input sein :daumen:
Ahja, die Firma die sich als die besten Vermarkten aber ziemlich "normale" Qualität und Leistung bieten :P

Man greift dort in der Tat eher auf Softwareencoder zurück, weil die im Gegensatz zu dedizierter Hardware deutlich flexibler ist, und mit entsprechenden Einstellungen auch deutlich bessere Qualität liefert. Im Vergleich zu sonstigen Rechenzeiten bei vielen Profianwendungen (Rendern / Simulation) verschwindet die Encodingzeit eh im Fehlerbalken.

Hardwareencoding ist eher ein Consumerding, wo es weniger auf Qualität und mehr auf Geschwindigkeit, Preis und Stromverbrauch ankommt. Im Profibereich kommt das nur zum Einsatz, wenn irgenwas wirklich sehr zeitkritisch ist (Liveübertragungen zählen da eher noch nicht dazu). Und selbst dann nimmt man in der Regel keine fixen Hardwarebausteine, sondern FPGAs oder GPUs.
Wenn man im bereich für eine mehrere tausend Euro teure CPU für Videokonvertierung ist dann ist man auch im bereich von spezialisierter Video-Hardware. Und ja, das Encoden ist im Vergleich das kleinste Problem wenn man die Rechenlast anschaut.
 
lineare Annahme
Kerne 12/64=0.1875
GHz 4/3=1,33
Leistung des 3900X@4GHz ~ 0.25 des 64 Kerner@3GHz

79/4=19,75 FPSI

Die FPS raten kannste sowieso nicht vergleichen da keine Settings bekannt sind. Beim 08/15 medium-Preset des HEVC10 kannste 20 fps in 4K auf nem 3900X vergessen, die Hälfte ist realistisch. Auch ein Epyc 7742 erreicht bei weitem keine 80 fps im 8K-Encoding wenn man die Settings nicht sehr "geschwindigkeitsoptimiert" (=billige Qualität) einstellt. Das verschweigt man natürlich geschickterweise, selbst wenn es die Performance nicht im geringsten schmälern würde - höhere Settings können besser viele Threads belasten (einfach weil pro Pixel mehr Rechenaufgaben anstehen) aber es ist nicht werbewirksam wenn man schreibt die CPU schafft 10 fps in 8K zu HEVC10, auch wenn dabeistehen würde dass ein 3900X nur 2 schafft.


Ja stimmt, weil >99% aller PC-Anwender den ganzen Tag große Videos transcodieren.
Selbst wenn es hier um eine Desktop-CPU ginge (was es nicht macht!)...
Wenn man sich die Anwendungen ansieht die viele Leute benutzen und die nennenswert CPU-Power brauchen (also nicht einen Brief schreiben und per Mail schicken was Intel anführt als real world) gehört CPU-Videorendering/encodieren tatsächlich zu sehr häufig genutzten Anwendungen. YouTube, Twitch und so weiter sei Dank.
 
Die FPS raten kannste sowieso nicht vergleichen da keine Settings bekannt sind. Beim 08/15 medium-Preset des HEVC10 kannste 20 fps in 4K auf nem 3900X vergessen, die Hälfte ist realistisch. Auch ein Epyc 7742 erreicht bei weitem keine 80 fps im 8K-Encoding wenn man die Settings nicht sehr "geschwindigkeitsoptimiert" (=billige Qualität) einstellt. Das verschweigt man natürlich geschickterweise, selbst wenn es die Performance nicht im geringsten schmälern würde - höhere Settings können besser viele Threads belasten (einfach weil pro Pixel mehr Rechenaufgaben anstehen) aber es ist nicht werbewirksam wenn man schreibt die CPU schafft 10 fps in 8K zu HEVC10, auch wenn dabeistehen würde dass ein 3900X nur 2 schafft.

Das genaue Setting ist doch unerheblich. Im selben Setting sollte der 3900X etwa 1/4 (+-20%) der Leistung des 7742 erreichen.
 
Ja stimmt, weil >99% aller PC-Anwender den ganzen Tag große Videos transcodieren.
Die Kohle holt man sich nicht mit den 08/15 PC-Anwendern.

Gibts noch keinen Encoder auf einer "preiswerteren" Graka, der 8K in Echtzeit mit 60FPS encodieren (aufnehmen) kann?

Nvidia NVENC steht ja aktuell afaik bei 8K mit 30FPS, oder?
Dachte immer GPU-Encoding ist immer mit etwas Qualitätsverlust verbunden?
 
Das genaue Setting ist doch unerheblich. Im selben Setting sollte der 3900X etwa 1/4 (+-20%) der Leistung des 7742 erreichen.

Eben nicht...

Wenn du sehr "zahme" Settings einstellst sind die für den Encoder viel schlechter parallelisierbar auf zig Threads als bei qualitativ sehr "harten" Einstellungen. Oder anders gesagt beim preset "very fast" wird der 3900X sehr viel näher an den fetten Epyc rankommen (da dieser seine ganzen Kerne nicht ausspielen kann) als beim preset "slow".

Natürlich ist die Größenordnung etwa abschätzbar, es kann aber Szenarien geben wo ein 3900X halb so schnell ist und andere wo er nur 10% der Performance bietet.

Dachte immer GPU-Encoding ist immer mit etwas Qualitätsverlust verbunden?
Nicht zwingend, aber wenn du Settings wählst die die gleiche Qualität wie ein CPU-Encoder auf einer GPU erzeugen wird deine Bitrate sehr stark ansteigen und dein Encodingspeed stark sinken. Deswegen kann man in freien Userbibliotheken sowas auch gar nicht einstellen.
Klar kannste auch auf einer GPU im Extremfall lossless encodieren sofern deine Software das zulässt (CRF=0) - aber das Ergebnis wird dir nicht gefallen (mehrere GB große Datei für ne Minute HD-Clip).
 
Nicht zwingend, aber wenn du Settings wählst die die gleiche Qualität wie ein CPU-Encoder auf einer GPU erzeugen wird deine Bitrate sehr stark ansteigen und dein Encodingspeed stark sinken. Deswegen kann man in freien Userbibliotheken sowas auch gar nicht einstellen.
Klar kannste auch auf einer GPU im Extremfall lossless encodieren sofern deine Software das zulässt (CRF=0) - aber das Ergebnis wird dir nicht gefallen (mehrere GB große Datei für ne Minute HD-Clip).



Nicht umsonst nutzen die ganzen Twich- und YT-Streamer eine CPU für das encoden des Streams auch wenn sie ne 2080 oder 2080ti im Rechner haben.:daumen:
 
Nicht zwingend, aber wenn du Settings wählst die die gleiche Qualität wie ein CPU-Encoder auf einer GPU erzeugen wird deine Bitrate sehr stark ansteigen und dein Encodingspeed stark sinken. Deswegen kann man in freien Userbibliotheken sowas auch gar nicht einstellen.
Klar kannste auch auf einer GPU im Extremfall lossless encodieren sofern deine Software das zulässt (CRF=0) - aber das Ergebnis wird dir nicht gefallen (mehrere GB große Datei für ne Minute HD-Clip).

Consumer-karten ja, Workstation nein.
Da ist sehr viel einfach treiberseitig abgeriegelt.
 
Ja, da haste Recht. Dem Normalnutzer kann man nicht mehr als ein paar rudimentäre Funktionen/Regler geben bei GPU-encoding... wenn der alle Funktionen hätte würde er erstens erschlagen und zweitens würde er Dinge einstellen können die dem Ansehen von NVenc usw. in der breiten Masse nicht gerade zuträglich sind. Wo kämen wir hin wenn herauskäme, dass GPUs im Videocodieren wenn sie die gleiche Qualität und Kompressionseffizienz wie CPUs abliefern sollen gegen jede aktuelle Mittelklasse-CPU abstinken? :D
Dann lieber nur die fastprofile durchzerren und alle Encoderfunktionen die einer GPU-Architektur prinzipbedingt nicht gut liegen weglassen - für den Standard-YouTuber oder Streamer ist das ja auch völlig ok.
 
Die Rechengenauigkeit ist nicht das Problem (FP32 reicht schon). Viele weiterführende (und sogar einige grundlegende) Funktionen des HEVC-Codecs sind in GPU-Computing einfach nicht enthalten weil sie sehr ineffizient auf zigtausend Shadern laufen. Beispielsweise das hauptfeature des HEVC gegenüber seinem Vorgänger AVC: dynamische CodingTreeUnits von bis zu 64x64 Pixeln pro Block statt statische 16x16 Blöcke beim AVC vorher. Das kannste auf ner Shadereinheit nicht bringen weil eine 64x64er Unit 16x so viele Pixel(informationen) enthält wie ein 16x16er Block die gemeinsam verwurschtelt werden müssen (daher kommt der Effizienzgewinn, je größer die CTU umso besser und umso rechenintensiver) und dir das einfach den Cache des Shaders der dran arbeiten soll wegsprengt. Für moderne CPUs mit mehreren MB an Cache pro Kern ist das kein Thema, die GPU müsste extrem langsam für gefühlt jede zweite Operation auf den vRAM warten. Deswegen sind GPU-Encoder auf 32er CTUs beschränkt. Diese architektonische Eigenheit von GPUs zwingt dich dazu, entweder Kodiereffizienz zu verschenken und nur 32er CTUs zu benutzen oder die vollen 64 zu nutzen was extrem langsam wird. Letzteres ist nicht verkaufbar also nutzt NVenc als beispiel immer nur 32er CTUs.
 
Zurück