Beschleunigung von YouTube-Videos auf AMD/ATI GPUs

Dr@

Grand Admiral Special
Mitglied seit
19.05.2009
Beiträge
12.791
Renomée
4.066
Standort
Baden-Württemberg
  • BOINC Pentathlon 2011
  • BOINC Pentathlon 2012
Nachdem ich mich schon mehrfach über die derzeit nicht funktionierende Beschleunigung von Flash-Videos auf YoutTube geärgert habe, ist es mir jetzt gelungen diese durch einen Trick doch zu nutzen. Dazu will ich auch gleich kommen, zuvor möchte ich aber ein paar einführende Worte verlieren.

Im wesentlichen fingen die Probleme mit der Einführung von Stage Video an. Dieses Feature hatte Adobe mit dem Flash Player 10.2 neu eingeführt, um eine vollständige Beschleunigung der Video-Pipeline zu ermöglichen. Allerdings muss das neue Feature auch vom Server unterstützt werden. Dies ist aktuell ganz offensichtlich bei YouTube nicht der Fall.

Wer überprüfen will, ob die Beschleunigung auch wirklich funktioniert, kann folgendermaßen vorgehen:
Rechtsklick in das YouTube-Video --> Show video info anwählen
In dem kleinen Fenster sollte jetzt accelerated video rendering stehen. Steht hier nur undefind video rendering oder software video rendering funktioniert die Beschleunigung nicht richtig.

Eine Weitere Möglichkeit der Überprüfung besteht darin, mit einem Tool die Auslastung der GPU anzeigen zu lassen, während das Video wiedergegeben wird. Hier bieten sich beispielsweise GPU-Z oder für AMD-Nutzer der AMD System Monitor an. Wobei hierdurch nur überprüft werden kann, ob die GPU überhaupt was macht.


Kommen wir zu meinem "Trick".

Der Trick besteht nun darin, dass Video nicht als eingebettetes Video anzusehen. Um die Erklärung des Vorgehens möglichst einfach und verständlich zu halten, will ich das Vorgehen einfach anhand eines Videos Schritt für Schritt darstellen.

Man benötigt die Video-ID. Diese lässt sich aus der URL des Videos auf YouTube entnehmen. Sie ist jeweils hinter dem Parameter v= angegeben. In folgendem Video (Im Spoiler, um einen großen Absatz zu vermeiden, der von der Software sonst eingefügt wird)
HTML:
http://www.youtube.com/watch?v=Ou6_MkIvKOo&feature=player_embedded
wäre das also v=Ou6_MkIvKOo
Diese wird jetzt in folgende URL für den Platzhalter VideoID eingetragen:
HTML:
http://www.youtube.com/embed/VideoID?wmode=direct&hd=1
Damit ergibt sich:
HTML:
http://www.youtube.com/embed/Ou6_MkIvKOo?wmode=direct&hd=1
Der Parameter &hd=1 kann auch weggelassen werden.

Dies URL dann einfach in einen Browser eingeben und die Seite laden lassen.

Hier noch weitere Beispiele:
HTML:
http://www.youtube.com/watch?v=mdPi4GPEI74
HTML:
http://www.youtube.com/embed/mdPi4GPEI74?wmode=direct

HTML:
http://www.youtube.com/watch?v=XSGBVzeBUbk&feature=player_embedded
HTML:
http://www.youtube.com/embed/XSGBVzeBUbk?wmode=direct&hd=1

Erfolgreich getestet habe ich das Vorgehen bisher nur auf meinem Notebook mit der mobilen HD 4330 mit dem aktuellen Chrome 10 sowie dem Firefox 4. Hier hat es bisher bei den meisten getesteten Videos funktioniert. Das macht sich nicht nur durch die Last auf die GPU bemerkbar, sondern schlicht durch eine deutliche Absenkung der CPU-Last, was das flüssige Abspielen von HD-Videos bei mir erst möglich macht. Auf manche Videos lässt sich auf die gezeigte Art leider nicht zugreifen. Woran das liegt, kann ich leider nicht sagen. Es funktioniert beispielsweise bei dem Avatar Trailer nicht.

Es wäre schön, wenn wir hier weitere Erfahrungen sammeln könnten oder mir jemand wissendes erklären kann, warum es auf diese Weise funktioniert. Ich bin für jegliche Hinweise dankbar.
 
Scheint definitiv kein AMD problem zu sein. Auf meiner GTX 260 verhält sich alles ziemlich exakt gleich, wie auf den AMD-Systemen inklusive Brazos.
Ich habe gestern mal an Google geschrieben, an was das liegen könnte und warte noch auf Antwort. Sobald ich was habe, sag ich wieder Bescheid.
Es gibt eine andere Möglichkeit als die von dir beschriebene, ein Video eventuell hardwarebeschleunigt wiederzugeben. Dazu muss man das Video vor dem Start anhalten und dann auf Vollbild gehen und die HD-Auflösung wählen. Eventuell einfach den Schieberegler nochmal auf Anfang zurückziehen, dann klappts manchmal (auch nicht immer). Letztlich ist es das gleiche wie dein Vorschlag nur ohne Eingriffe in die Adressleiste. Offenbar wird die Beschleunigung (oder GPU-Erkennung?) via Stage nur dann ordentlich durchgeführt, wenn das Video noch nicht gestartet wurde, bevor auf Vollbild ist.

Eine Diskussion zu dem Problem gibt es auch im Adobe-Forum:
Adobe: Hardware acceleration doesn't work anymore since version 10.2.153.1
und im Google-Forum:
Google: Accelerated video rendering is no longer working

Ich hab auch mal ne News dazu aufgesetzt:
Hardware-Infos: Youtube mit Problemen bei der HD-Wiedergabe
 
Also bei mir funktioniert dieses Anhalten und Vollbildmodus starten nicht.

Mein Workaround funktioniert dafür bisher mit allen Systemen die ich hier habe. Auf manche Videos lässt sich halt auf diese Weise nicht zugreifen.
 
Anmerken kann man noch das die "Hardwarebeschleuningung" nur im Vollbild funktioniert, im Fenstermodus ruckelts wenn man die Maus bewegt, mit diversen Systemen schon getestet.
 
Also bei mir funktioniert die Beschleunigung, unter Verwendung des oben beschriebenen Workaround, auch im Fenstermodus. Das habe ich auch meinem Notebook (ATI Radeon HD 4330 und HD 3200) und dem Zacate (AMD Radeon HD 6310) getestet.
 
Dr@;bt1186 schrieb:
Erfolgreich getestet habe ich das Vorgehen bisher nur auf meinem Notebook mit der mobilen HD 4330 mit dem aktuellen Chrome 10 sowie dem Firefox 4. Hier hat es bisher bei den meisten getesteten Videos funktioniert. Das macht sich nicht nur durch die Last auf die GPU bemerkbar, sondern schlicht durch eine deutliche Absenkung der CPU-Last, was das flüssige Abspielen von HD-Videos bei mir erst möglich macht. Auf manche Videos lässt sich auf die gezeigte Art leider nicht zugreifen. Woran das liegt, kann ich leider nicht sagen. Es funktioniert beispielsweise bei dem Avatar Trailer nicht.
Hallo Dr@
Bei mir funktioniert dein Trick nicht (MS IE9) es steht bei den Videoinformationen immer "undefind video rendering"
Hardware: E-350 mit HD6310 & 1333MHz DDR3 CL9
Software: Win7 Prof. SP1 - Catalyst 11.3

Aber es läuft einigermasen flüssig (~20FPS), bzw. es sind keine langen Ruckler drin, zumindest solange nicht vom Fenster- in den Vollbild-Modus gewechselt wird, dann stockt es kurz (ca. 5sekunden bei 7-15 FPS)
Hier ein Bild mit dem AMD Systemmonitor vom Avatar Full-HD Video: http://www.abload.de/img/youtubef-hdavatartrailgn5x.jpg

Wenn ein Blue-Ray Film mit CyberLink PowerDVD 10 abgespielt wird läuft es Butterweich ohne Ruckler in Full HD egal ob Fenster oder Vollbild, da gibt es auch keine Ruckler beim wechseln des Modus.
Leider lässt sich hier kein Screenshot erstellen, warum weiß ich nicht genau, es wird aber in der Hilfe erwähnt, dass keine Screenshots möglich sind bei der BD Wiedergabe.

MfG
 
Hallo WindHund,

Könntest Du bitte mal die verwendete URL angeben. Denn auf die Avatar Trailer, die ich probiere, kann ich mit der gezeigten Methode gar nicht erst zugreifen.

Ich habe mittlerweile auch eine Reihe von Videos erfolgreich auf dem Zacate getestet. Die obigen drei Beispiele laufen tadellos.
 
Dr@;bt1189 schrieb:
Hallo WindHund,

Könntest Du bitte mal die verwendete URL angeben. Denn auf die Avatar Trailer, die ich probiere, kann ich mit der gezeigten Methode gar nicht erst zugreifen.

Ich habe mittlerweile auch eine Reihe von Videos erfolgreich auf dem Zacate getestet. Die obigen drei Beispiele laufen tadellos.
Ich hab den Link von dir genommen den du oben eingebunden hast:
"Es funktioniert beispielsweise bei dem Avatar Trailer nicht."

Hab Pause gedrückt und "show video info" aktiviert sowie auf Full HD (1080p) umgestellt.
Dann mit Play (Wiedergabe) den Trailer gestartet.

Hier die URL:
"http://www.youtube.com/watch?v=_i2RCBa3l-g&feature=player_detailpage"

Evt. muss ich noch etwas installieren, oder einstellen beim IE9 (v9.0.8112.16421). *noahnung*
Der neue Flash Player ist bereits installiert: 10,2,159,1)
 
Dann habe ich Dich offenbar mit meinen Ausführungen im Startpost verwirrt.

Die verlinkte URL ist die normale zum Video auf YouTube. Diese Adresse ist ja der Ausgangspunkt für die obige Anleitung. Wenn man bei diesem speziellen Video die Video-ID _i2RCBa3l-g entnimmt und in die modifizierte URL einfügt, erhält man diesen Link. Allerdings kann man auf diese Weise nicht auf das Video zugreifen, weshalb meine Methode scheitert. Nichts anders wollte ich mit dem Satz oben ausdrücken.

Probier die Beispielvideos im Spoiler. Die gehen bei mir alle - auch im IE.
 
WindHund;bt1192 schrieb:
Man achte auf die CPU/GPU Auslastung im AMD Systemmonitor.
Ich weiß leider nicht was ich falsch mache, aber bei den YouTube Videos gibt es bei mir keine GPU Hardwarebeschleunigung. *noahnung*

Hallo,

Du machst nichts falsch. Seit dem letzten Flash Player Update funktioniert es anscheinend nicht mehr. Ich hatte es noch mit der alten Version getestet. Den IE benutze ich nur sehr selten. Aktuell funktioniert es bei mir mit dem IE9 jedenfalls auch nicht.

Ich habe es gerade erfolgreich mit dem aktuellen Chrome 10 und dem Firefox 4 getestet. Im folgenden ein Screenshot vom Firefox bei laufendem Big Buck Bunny. Man beachte: Die APU läuft mit nur 800 MHz bei voller HD-Auflösung!




Ich habe in den letzten Wochen ein paar Browser-Benchmarks gemacht. Dabei sieht der IE9 meistens nicht so gut aus. Wirklich flink ist derzeit der Chrome. Wollte eventuell noch nen Blog dazu schreiben. Besteht denn Interesse?
 
Bin auch der Meinung das Chrome auf eher langsamen System die beste Wahl ist. Da ich einen Zacate Laptop besitze und mit den gleichen Problemen zu kämpfen hatte, habe ich eine einfache Chrome Extension geschrieben, die dafür sorgt, dass Youtube Videos vernünftig beschleunigt werden.

Wer dran interessiert ist, kann sich die Erweiterung hier laden:
http://home.arcor.de/s.ismail/yt_gpu.crx

Es verändert das Aussehen oder das Verhalten von Youtube nicht, der Effekt sollte jedoch spürbar sein und messbar sowieso. Mit eingebetteten Videos funktioniert es (noch) nicht. Vielleicht arbeite ich noch dran.

Werde es vllt. demnächst auch im offiziellen Chrome Store veröffentlichen. Wollte aber erstmal ein wenig Feedback einholen.
 
Nach meinen Tests ist mit der aktuellen Version des Flash Players (11.1.102.55) das im Blog beschriebene Problem (hoffentlich endgültig) Geschichte. Bei mir läuft die Hardware-Beschleunigung auch dann noch stabil, wenn ich mehr fach zwischen Vollbild- und Fenster-Modus hin und her schalte. *great*
 
Zurück
Oben Unten