über was reden wir denn jetzt?
Streaming ist nix anders als ein gegebenes Video "klein" zu rendern und in einem gegebenen Format (idealerweise die gleiche Auflösung) 1:1 in ein platzsparendes Format wie H264/265 zu bringen. (1080p mit 60 Hz) und diesen Datenstrom dann als stream FLV hochzuladen oder mp4 container zu speichern. Das meint der Nixdorf als "Twitch streamer.
Das kann keine
CPU mit mehr als 1080 in geforderter Größe (er möchte ja 4K) / Qualität bei 4K in Echtzeit (60fps).
Haldi schrieb:
Schön Wärs. Das mag ja für Professionelle Stimmen, aber als Privatnutzer bleibt einem nicht viel übrig.
Besonders da ich 5760x1080 Pixel encoden was so jeden Hardware Encoder einfach mal unfähig ist.
Was du aber sicher meinst ist ein Video cutten, color correction, Effecte, Blenden, Formatanpassung, usw was eine moderne Schneidesoftware alles so macht. Das ist aber eine komplette Neuerstellung des gesamten Videomaterials da z.B. alle keyframes neu erstellt, alle Zwischenbilder neu codiert und erzeugt werden und die Audiospuren äquivalent dazu.... und deutlich mehr als ein "Desktopbild" zu demuxen und dann zu komprimieren.
Richtiges Bearbeiten kann je nach Anwendung parallel auf verschiedenen "Geräten" passieren, z.B. Farbanpassung über Open CL, Stabilisierung und Glättung der Bewegung und Blenden über Cuda... das geht auch deutlich schneller als über eine x86 Architektur.
Aber die CPU muss auf diese Daten warten, zugreifen und daraus dann die restlichen Sachen berechnen und alles dann komprimieren. Es werden die Probleme der Parallelisierung sichtbar. Wenn man nur auf die CPU setzen würde dauert es noch X mal länger. und je mehr Komplexität du hast kann 15min fertiger Film dann auch mal 2 Stunden rechnen müssen.
Für so einfache Sachen wie eine Recodierung gibt es 3 Wege das zu machen:
- alles über die CPU machen, ist sehr langsam aber sehr gute Qualität (YUV 4:4:4 beim I und D Frame) Aber nur nutzbar wenn die CPU Cores keine anderen Aufgaben erfüllen müssen, Workstation in der Nacht, dedizierte Servercluster für diese Anwendung, für den Gamer, Desktop Arbeiter nicht ideal)
- Rendern per GPU, egal ob Cores in Open CL CNG, Cuda oder EU, wenn es über die komplette GPU laufen soll werden die normalen SMX und Chipbereiche benutzt, damit viel Last erzeugt.
Klar geht das schneller als eine 8 Kern CPU da auf 2048 Cores schneller 'frame für frame' farbkorrigieren zu lassen als über die CPU, aber alleine ein modernes Videoformat wie mpeg4 oder HEVC wiederzugeben, muss aber der Takt der GPU / Video RAM hochgehen, was heute in Energieeffizienz unerwünscht ist.
- daher nutzt man heute für z.B die Videowiedergabe nicht mehr die komplette GPU sondern in dieser speziell angelegte ASIC und FPGA Units in den Chips (seit Kepler und AMD CGN) Nichts anderes ist NVenc von Nvidia, Quicksync von Intel oder VCE von AMD. Es sind ASICs die nur dafür da sind. Daher kann heute eine Mpeg 4 Video ohne CPU / GPU Last mit 5 Watt wiedergegeben werden.
und auch codiert werden z.B. mit der GTX 960 oder Tonga bzw den 2016er Modellen von Nvidia, AMD... (die Nachteile von YUV 4:2:x lass ich mal weg das ist zu speziell für einen CPU Thread)
Was vor diesen Techniken undenkbar war, selbst für MPEG 2 musste vor 6 Jahren noch eine Videoschnittkarte z.B. von Pinacle, Blackmagic, VLab in den Videorechner damit die Vorschau ohne Pre rendern in Premiere Pro, Sony Vegas, Gras Valley Edius... etc ruckelfrei in 1:4 Auflösung lief.
5760x1080 soll ich mir mit einem 1920x1200 Monitor, 5:4 Tablet, Smartphone jetzt wo angucken?
auf YT in dem Breitbild? sicherlich nicht,
Dies Format ist so atypisch! kein 2,33:1 (21:9) oder 16:9 sondern 5,35:1 und du erwartest jetzt weil da ein paar Simracer, Hobby Piloten das Setup haben das es da " Render Hardware" für gibt
Schlag es einfach als neues Kino, BR, Nachfolgeformat vor dann wird es das geben, wenn die Panelhersteller drauf aufspringen... oder ein Asic für diesen Zweck entwickeln. sorry konnte mir das jetzt nicht verkneifen
keine Ahnung ob es für einen Xeon Phi (intel KC, KK,KL) eine kompilierte x264 Anwendung gibt ( die die Vorteile von AVX 512+ nutzen kann, denn nur das kann ein Xeon Phi besser als "Grafikkarten" und moderne x86 CPU, wenn es um hohe DP und 512-bit SIMD instruction geht) bzw inwieweit das schneller geht als die aktuelle Aufgabenteilung von CPU, GPU und ASIC Einheiten.