4K Youtubevideos ruckeln

Anchorage

Software-Overclocker(in)
Hi, ich habe ein kleines Problem und zwar ich möchte mir ein 4K Video anschauen allerdings ruckelt dieses stark.
Sowie ich im CCC sehe wird meine Grafikkarte nicht benutzt. Ich habe in Opera die Hardwarebeschleunigung aktiviert.
Kann ich das Problem beheben ? Muss ich irgendwas in Windows aktivieren bzw. im Treiber ?
Kann sein das ich irgendwo einen Hacken vergessen habe ?

Mein System:

AMD Fx 6350 @ 3,8 GHz
8 GB DDR 3 Corsair XMS 3
AMD Radeon R9 280 x
Asus M5A97 LE R2.0

Bedanke mich jetzt schonmal für die Antworten
 
Ich tippe da mal auf die CPU. Je nachdem, was du so nutzt ... Schau doch mal in die Auslastung rein. Je nach Player und Videoformat sind die teilweise sehr CPU-lastig und leider nicht richtig für die Nutzung mehrerer CPU-Kerne optimiert.

Ich vermute mal, es geht um HTML5 Player, und Videos im webm Format? vp9 Codec?

Gronkh Lets Plays? :D


Schau mal nach der CPU-Last.



Ich denke dafür sollte man schon 50k Upload haben damit die Quallität halbwegs vernünftig ist.

Der Upload hat damit nichts zu tun. Und Youtube variiert die Bitrate für 4k von 35-45Mbit/s, laut Google. Was ich ehrlich gesagt nicht glaube, da es im Vergleich zu den restlichen Auflösungen extrem hoch wäre (1080p hat zB 8Mbit/s, 1440p 10Mbit/s).
 
Also ich habe eine 100 Mbit Leitung bei der ich aber 107 rauskriege 23Mbit Upload. Mein CPU last ist ziemlich hoch. Wenn ich mir allerdings ein 4k Video mit VLC Player anschau ist alles Flüssig und die CPU last ist bei 10% da die GPU benutzt wird. Ich gehe mal davon aus das HTML5 die last nicht auf die GPU legt.
 
Nein, da bist du auf dem Holzweg. Der Unterschied ist, dass die Daten von Youtube erst noch dekomprimiert werden müssen. Bei Videos auf der Festplatte ist das hingegen relativ egal.
Wie sieht denn die Verteilung der CPU-Last aus? Vermutlich sehr einkernig, oder?
 
Nein, da bist du auf dem Holzweg. Der Unterschied ist, dass die Daten von Youtube erst noch dekomprimiert werden müssen. Bei Videos auf der Festplatte ist das hingegen relativ egal.
Wie sieht denn die Verteilung der CPU-Last aus? Vermutlich sehr einkernig, oder?

Es wird tatsächlich nur ein Kern verwendet. Wieso funktioniert VLC mit 4k so gut ?
 
Es wird tatsächlich nur ein Kern verwendet. Wieso funktioniert VLC mit 4k so gut ?
Wie schon gesagt, weil das vermutlich sehr wenig oder garnicht komprimiert ist. um das gleiche bild aber durch die kleine internetleitung zu quetschen, muss man da sehr viel komprimieren, was in sehr hoher rechenlast endet.

trotzdem wird das gerne von webvideoproduzenten unterstützt, einfach da sonst keine vernünftige bildqualität übers internet möglich ist. wenn du bspw ein youtube-video in 1080p hochlädst, ohne komprimierung auf die bitrate angepasst, die youtube für 1080p gewährt ... sieht das ergebnis aus wie irgendwas zwischen video-kassette und dvd. jedenfalls weit von den heute üblichen hochqualitativen bildern entfernt.
 
Wie schon gesagt, weil das vermutlich sehr wenig oder garnicht komprimiert ist. um das gleiche bild aber durch die kleine internetleitung zu quetschen, muss man da sehr viel komprimieren, was in sehr hoher rechenlast endet.
Du schmeißt hier etwas durcheinander. Die Datenrate hat nichts mit der Komprimierungskomplexität zu tun! Letztere ist hier mit hoher Wahrscheinlichkeit auch kein Thema, die letzten Videos die ich von Streamingseiten in der Hand hatte, waren ziemlich einfach einfach "komprimiert".
 
Du schmeißt hier etwas durcheinander. Die Datenrate hat nichts mit der Komprimierungskomplexität zu tun! Letztere ist hier mit hoher Wahrscheinlichkeit auch kein Thema, die letzten Videos die ich von Streamingseiten in der Hand hatte, waren ziemlich einfach einfach "komprimiert".

Nicht? Und ich dachte immer, je stärker man etwas komprimiert desto kleiner wird es ... und passt durch eine Leitung mit geringerer Bandbreite.

Die webm-Codecs beispielsweise komprimieren die Videos schon recht deutlich. Meine Videos werden mittlerweile in webm-Formaten gerendert und hochgeladen, so wie bei vielen anderen Youtubekanälen auch. Das Endergebnis ist bei gleicher maximaler Bitrate deutlich besser, dafür ist aber sowohl Kompression bei mir als auch die Dekompression beim Zuschauer deutlich rechenintensiver.
Youtube selbst wandelt das natürlich auch nochmal in viele andere Formate um, übernimmt aber nach Möglichkeit die Originaldateiformate.
 
Also ich denke muss hier mal paar Dinge richtig stellen.

Es stimmt das Youtube Videos sehr stark Komprimiert (um Platz zu sparen) und auch in andere Formate umwandelt, wodurch die Videoqualität abnimmt, aber beim anschauen von Videos über Youtube gibt es noch andere Probleme.

1. Die meisten Browser sind Single-Threaded, was bedeutet das sie nur 1 Core nuten. Dass führt dazu das ein stark Komprimiertes Video von nur 1 Kern berechnet und dargestellt wird und wenn die CPU Leistung nicht ausreicht, ruckt das Video entsprechend. Hier mal ein Tipp: Schau dir mal ein 4K Video mit Chrome an! Der kann zwar auch "nur" 2 Cores nutzen, aber das läuft dann schon viel flüssiger.
Lass mal diesen "Benchmark" mal in unterschiedlichen Browsern (Opera, Firefox und Chrome) laufen und du wirst verstehen was ich meine: Fischtank (Beobachte nebenbei die unterschiede in der CPU Auslastung)

2. Wenn du ein Video im Browser (muss nicht youtube sein) ankuckst, wird das hauptsächlich von der CPU und nicht von der GPU berechnet (Das stimmt!).
Das hängt damit zusammen, dass es zu kompliziert wäre den Code auf der GPU laufen zu lassen, also lässt man es der Einfachheit halber von der CPU berechnen. Wenn du dir ein Video lokal (egal mit welchem Player) anguckst, läuft das dann tatsächlich über die GPU, und die CPU kann sich mit dem Decodieren bzw. dekomprimieren der Daten beschäftigen (Und das auf mehreren Cores!)
Hier profitieren Systeme mit APUs, da hier die Zuordnung CPU + GPU entfällt und Bildberechnungen vom "GPU"-Teil der APU durchgeführt werden. (was dann wiederum schneller geht..).

3. Das Youtube die Daten komprimiert, damit sie durch eine kleine Leitung passen ist quatsch. Das machen die nur, um sich auf Ihren Servern Platz zu sparen.
Das die selben Daten dann auch einfacher durch langsamere Leitungen durchgehen ist lediglich ein positiver nebeneffekt für uns und von Youtube bestimmt nicht beabsichtigt. (Kann youtube doch schnuppe sein wie lange du warten muss bis du dein Video sehen kannst...).
Andere (kostenpflichtige) Video Hoster haben die Daten im Rohformat vorliegen und werden auch so gestreamt (z.B. bei Netflix oder Maxdome).


Was du also machen könntest wäre entweder auf einen Browser umsteigen, der Multi-Threading unterstützt oder dir die Videos herunterladen (sollte bei einer 100Mbit Leitung denke ich kein Problem sein) und dir lokal angucken.
Von der Qualität her solltest du denke ich keinen unterschied merken.

Hoffe ich konnte helfen :)

LG
SSJ4Crimson
 
Nicht? Und ich dachte immer, je stärker man etwas komprimiert desto kleiner wird es ... und passt durch eine Leitung mit geringerer Bandbreite.
Jein, die Datei wird kleiner wenn die Komplexität erhöht wird oder mehr Daten wegworfen werden. Ersteres wird nur bedingt verwendet, da die Streams auf so vielen Geräten wie möglich laufen sollen.
 
Also ich denke muss hier mal paar Dinge richtig stellen.

Es stimmt das Youtube Videos sehr stark Komprimiert (um Platz zu sparen) und auch in andere Formate umwandelt, wodurch die Videoqualität abnimmt, aber beim anschauen von Videos über Youtube gibt es noch andere Probleme.

1. Die meisten Browser sind Single-Threaded, was bedeutet das sie nur 1 Core nuten. Dass führt dazu das ein stark Komprimiertes Video von nur 1 Kern berechnet und dargestellt wird und wenn die CPU Leistung nicht ausreicht, ruckt das Video entsprechend. Hier mal ein Tipp: Schau dir mal ein 4K Video mit Chrome an! Der kann zwar auch "nur" 2 Cores nutzen, aber das läuft dann schon viel flüssiger.
Lass mal diesen "Benchmark" mal in unterschiedlichen Browsern (Opera, Firefox und Chrome) laufen und du wirst verstehen was ich meine: Fischtank (Beobachte nebenbei die unterschiede in der CPU Auslastung)

habe Chrome. Hab eben mal vier 4K-Videos laufen lassen, und alle 4 Kerne waren bei 100% im Taskmanager (i5-3570k @4,4Ghz) ... von wegen nur 2 kerne ^^
 
habe Chrome. Hab eben mal vier 4K-Videos laufen lassen, und alle 4 Kerne waren bei 100% im Taskmanager (i5-3570k @4,4Ghz) ... von wegen nur 2 kerne ^^

Sorry, muss mich korrigieren. Der Chrome darf pro Prozess 2 Kerne verwenden.
Wenn du den Chrome 4x aufmachst, hast du 4 Prozesse (Siehe Taskmanager ;)) und dementsprechend auch Last auf den anderen Kernen.
 
Richtiges Multithreading kann bis jetzt keiner.
Bis auf Safari und Chrome sind alle anderen Browser "Single Threaded".
Und Safari/Chrome können auch nur 2 Cores nutzen (und das auch nur begrenzt gut)

Besitzer einer Intel CPU mit Hyper Threading haben den Vorteil, dass vom Browser 1 Core angesteuert aber dank Hyper Threading auf 2 Threads aufgeteilt wird. :D
 
1. Die meisten Browser sind Single-Threaded, was bedeutet das sie nur 1 Core nuten. Dass führt dazu das ein stark Komprimiertes Video von nur 1 Kern berechnet und dargestellt wird und wenn die CPU Leistung nicht ausreicht, ruckt das Video entsprechend. Hier mal ein Tipp: Schau dir mal ein 4K Video mit Chrome an! Der kann zwar auch "nur" 2 Cores nutzen, aber das läuft dann schon viel flüssiger.
Lass mal diesen "Benchmark" mal in unterschiedlichen Browsern (Opera, Firefox und Chrome) laufen und du wirst verstehen was ich meine: Fischtank (Beobachte nebenbei die unterschiede in der CPU Auslastung)
Die meisten Browser laufen Single-Threaded, aber der Vergleich hat trotzdem einige Probleme:
Chrome läuft so viel besser, weil es für jedes Fenster (oder sogar jeden Tab?) einen eigenen Prozess startet. Dadurch wird es natürlich relativ performant. Firefox hingegen schmeißt alles was es hat in einen einzigen Prozess.

Darüber hinaus spielt das kaum eine Rolle, da Video-Player als separater Thread laufen.

2. Wenn du ein Video im Browser (muss nicht youtube sein) ankuckst, wird das hauptsächlich von der CPU und nicht von der GPU berechnet (Das stimmt!).
Das hängt damit zusammen, dass es zu kompliziert wäre den Code auf der GPU laufen zu lassen, also lässt man es der Einfachheit halber von der CPU berechnen. Wenn du dir ein Video lokal (egal mit welchem Player) anguckst, läuft das dann tatsächlich über die GPU, und die CPU kann sich mit dem Decodieren bzw. dekomprimieren der Daten beschäftigen (Und das auf mehreren Cores!)
Hier profitieren Systeme mit APUs, da hier die Zuordnung CPU + GPU entfällt und Bildberechnungen vom "GPU"-Teil der APU durchgeführt werden. (was dann wiederum schneller geht..).

Die GPU hat in beiden Fällen gleich viel zu tun, nämlich wenig. Bei lokal gespeicherten Videos muss einfach niemand viel tun um sie abzuspielen, bei Onlinestreams braucht es teilweise eben etwas mehr Arbeit für die Verarbeitung. Warum man das auf die GPU legen sollte, ist mir aber nicht ganz klar.
3. Das Youtube die Daten komprimiert, damit sie durch eine kleine Leitung passen ist quatsch. Das machen die nur, um sich auf Ihren Servern Platz zu sparen.
Das die selben Daten dann auch einfacher durch langsamere Leitungen durchgehen ist lediglich ein positiver nebeneffekt für uns und von Youtube bestimmt nicht beabsichtigt. (Kann youtube doch schnuppe sein wie lange du warten muss bis du dein Video sehen kannst...).
Andere (kostenpflichtige) Video Hoster haben die Daten im Rohformat vorliegen und werden auch so gestreamt (z.B. bei Netflix oder Maxdome).
Ja, das machen sie bestimmt auch dafür, aber wäre es für die Einsparung von Speicherplatz dann nicht sinnvoller, es anders zu speichern? Ist dir klar, dass Youtube das Video auf einem Server mindestens sechs mal (!) in verschiedenen Codecs und Auflösungen speichert?

Warum sollte es ihnen egal sein wie gut jemand ihre Videos abspielen kann? Sie sind absolut elementar darauf angewiesen, dass jeder ihre Videos so gut wie möglich abspielen kann!

Der Vergleich zu Filmhostern ist auch etwas schwierig, da heutzutage Youtube-Content meist eine viel höhere grafische Qualität aufweist als die versaubeutelten Bluray-Versionen von Kinofilmen. Allein die Bildauflösung ist um ein vielfaches höher.
Was du also machen könntest wäre entweder auf einen Browser umsteigen, der Multi-Threading unterstützt oder dir die Videos herunterladen (sollte bei einer 100Mbit Leitung denke ich kein Problem sein) und dir lokal angucken.
Richtiges Multithreading ist in dem Bereich leider sehr schwierig, aber Chrome ist am nächsten dran.



Richtiges Multithreading kann bis jetzt keiner.
Bis auf Safari und Chrome sind alle anderen Browser "Single Threaded".
Und Safari/Chrome können auch nur 2 Cores nutzen (und das auch nur begrenzt gut)

Besitzer einer Intel CPU mit Hyper Threading haben den Vorteil, dass vom Browser 1 Core angesteuert aber dank Hyper Threading auf 2 Threads aufgeteilt wird. :D
Nein, Chrome kann beliebig viele Threads nutzen, aber eben nur einen pro Website.

Und Hyper-Threading bringt dir da nichts :D Offensichtlich hast du nicht ganz verstanden was HT tut, aber es kann nicht einen Prozess auf zwei parallel arbeitende Kerne aufteilen.
 
Ohh Sorry :wow:
Da muss ich mich wohl entschuldigen.
Hab das mit dem SMT (Hyper Threading) wohl wirklich falsch verstanden bzw. falsch rübergebracht.

Die GPU hat in beiden Fällen gleich viel zu tun, nämlich wenig. Bei lokal gespeicherten Videos muss einfach niemand viel tun um sie abzuspielen, bei Onlinestreams braucht es teilweise eben etwas mehr Arbeit für die Verarbeitung. Warum man das auf die GPU legen sollte, ist mir aber nicht ganz klar.

Das mit der GPU ist nicht ganz korrekt.
Es stimmt zwar, das die GPU in beiden Fällen kaum was zu tun hat,
allerdings wird ein Lokales Video über die GPU gerendert und ein Online Stream über die CPU.
(Siehe GPU Auslastung in GPU-Z.)
Also zumindest habe ich bei einem Lokalen Video eine (deutlich!) stärkere GPU Auslastung.
Dass die GPU in beiden Fällen "wenig zu tun" hat, liegt aber mitunter auch daran, dass die Leistung heutiger GPUs sehr groß ist und so ein 4K-Video keine Herausforderung für die Darstellt.

Warum das auf die GPU gelegt wird kann ich dir sagen: Parallele Berechnung...und da ist die GPU mit ihren ca. 2000 Shader-Cores besser geeignet als die CPU.

Ja, das machen sie bestimmt auch dafür, aber wäre es für die Einsparung von Speicherplatz dann nicht sinnvoller, es anders zu speichern? Ist dir klar, dass Youtube das Video auf einem Server mindestens sechs mal (!) in verschiedenen Codecs und Auflösungen speichert?

Warum sollte es ihnen egal sein wie gut jemand ihre Videos abspielen kann? Sie sind absolut elementar darauf angewiesen, dass jeder ihre Videos so gut wie möglich abspielen kann!

Der Vergleich zu Filmhostern ist auch etwas schwierig, da heutzutage Youtube-Content meist eine viel höhere grafische Qualität aufweist als die versaubeutelten Bluray-Versionen von Kinofilmen. Allein die Bildauflösung ist um ein vielfaches höher.

Nein, da muss ich dir Widersprechen.
Youtube speichert das Video nur 1x und lässt es bei bedarf auf die entsprechende Qualität berechnen.
und das auch nur mit einem Codec...nämlich x264.

Und beim Youtube Content muss ich dir auch widersprechen. (Sorry..)
Alleine schon aufgrund der Tatsache, das Youtube die Videos komprimieren und neu berechnen lässt, kann die Qualität eines 1080p Videos nur schlechter sein, als ein 1080p Bluray Film.
Nur mal so am Rande: Ein 60 Minuten 1080p Youtube Video ist ca 800-900MB Groß....ein (gleichlanges) Video auf einer Bluray ca. 10-15GB. (Kompletter 2 Std. Film auf einer Bluray: 30-40GB)


Also soweit ich weiß, kann Chrome pro Fenster (was 1 Prozess ist) 2 Threads nutzen.
Ob das dann wieder pro Tab 1 Thread ist weiß ich nicht. (Dazu kenne ich den Code nicht :ugly:)
Ich habe aber auf jeden Fall, wenn ich im Chrome ein Video angucke 2 Threads (bzw. 2 Cores) ausgelastet.
 
Nein, da muss ich dir Widersprechen.
Youtube speichert das Video nur 1x und lässt es bei bedarf auf die entsprechende Qualität berechnen.
und das auch nur mit einem Codec...nämlich x264.
Nein, es wird nach dem Upload tatsächlich für jede Qualitätsstufe einzeln berechnet und gespeichert. Deshalb hatte man (zumindest früher) bei Download-Programmen auch so viele verschiedene Dateien zu Auswahl.

Am Ende ist das vermutlich einfacher, als ein Video für jeden Nutzer in Echtzeit neu zu berechnen. Stell dir sonst mal den Rechenaufwand für zB einen Gronkh vor, 5 Videos am Tag bei 4k Auflösung und 60fps in Echtzeit für jeweils 100000 Menschen berechnen? Da müssten sie sich schon Rechenkapazität von der ESA leihen ...

Youtube codiert aktuell in H264, experimentell laufen aber auch VP8 und VP9. Leider aber noch nicht so richtig ausgereift.

Und beim Youtube Content muss ich dir auch widersprechen. (Sorry..)
Alleine schon aufgrund der Tatsache, das Youtube die Videos komprimieren und neu berechnen lässt, kann die Qualität eines 1080p Videos nur schlechter sein, als ein 1080p Bluray Film.
Nur mal so am Rande: Ein 60 Minuten 1080p Youtube Video ist ca 800-900MB Groß....ein (gleichlanges) Video auf einer Bluray ca. 10-15GB. (Kompletter 2 Std. Film auf einer Bluray: 30-40GB)
Ja, das ist der Grund warum Youtube 4K Videos unterstützt.

800-900MB pro Stunde? Youtube gibt 1080p Videos 8Mbit/s Bandbreite, und die meisten Menschen nutzen das auch aus. Das gibt 3,6GB pro Stunde. Rechnen wir mit rein, dass viele Leute ihre Videos für höhere Bandbreite noch hochskalieren, wirds noch um einiges mehr. Dann kommt noch 60fps dazu ...
1440p hat üblicherweise 10Mbit/s, ab 2160p gibt Youtube derzeit sozusagen alles was es hat, was laut Google bei 35-45Mbit/s endet. Macht bis zu 20GB pro Stunde Videomaterial.

Bei gutem Upload ist die Qualität dort prinzipiell also sehr gut, die Frage ist nur, wieviel Qualität der Urheber hochladen kann. :D

Also soweit ich weiß, kann Chrome pro Fenster (was 1 Prozess ist) 2 Threads nutzen.
Ob das dann wieder pro Tab 1 Thread ist weiß ich nicht. (Dazu kenne ich den Code nicht :ugly:)
Ich habe aber auf jeden Fall, wenn ich im Chrome ein Video angucke 2 Threads (bzw. 2 Cores) ausgelastet.

Du brauchst nur mal einen Blick in den TaskManager zu werfen, dann wirst du sehen, dass Chrome sehr viele Threads nutzen kann. Prinzipiell wird jeder geöffnete Tab (nicht jedes Fenster) als eigener Prozess geöffnet, kann auch sein dass es sogar zwei Prozesse sind (habe bei mir gerade mal nachgezählt, und würde ungefähr hinkommen).
 
Zurück