Hier gibt es einige irreführende und einige falsche Empfehlungen. Lassen Sie uns also zusammenfassen, worin das Problem besteht und welche Lösungen es gibt.
TL; DR
Die neuesten Versionen von Ubuntu seit 12.10 (Quantal) enthalten eine gepatchte Version der Bibliothek. Wenn Sie immer noch auf Probleme mit Blue Video stoßen (NICHT einschließlich der Blue Man-Gruppe ), lesen Sie diese Antwort. Der Bibliotheksname des Flash Players muss libflashplayer.so
ansonsten lauten. Libvdpau wendet die Problemumgehung nicht an. Sie können sich auch die /etc/vdpau_wrapper.cfg
Datei ansehen . Dort können Sie die von libvdpau angewendeten Workarounds deaktivieren.
Wenn Sie Oneiric (11.10) oder Precise (12.04) haben, installieren Sie die gepatchte libvdpau:
sudo add-apt-repository ppa:tikhonov/misc
sudo apt-get update
sudo apt-get install libvdpau1
Andernfalls können Sie die Bibliothek von Flash Player ändern:
cd /usr/lib/flashplugin-installer || cd /usr/lib/adobe-flashplugin/
sudo perl -pi.bak -e 's/libvdpau/lixvdpau/g' libflashplayer.so
Lesen Sie den gesamten Beitrag, bevor Sie ihn kommentieren.
Das Problem
Flash Player seit Version 11.2 verwendet auf den meisten Plattformen die Hardware-Videobeschleunigung. Leider wird die Beschleunigung in Linux nicht nur nicht unterstützt, sondern ist im Wesentlichen kaputt. Flash Player tauscht Farben in Videos unter den folgenden Bedingungen aus:
- Sie verwenden eine relativ neue Nvidia-GPU mit VDPAU- Unterstützung.
- Sie verwenden die aktuelle Version des Nvidia-Binärtreibers (ältere Versionen unterstützen VDPAU nicht).
- Sie haben das
libvdpau1
Paket installiert.
- Der Player auf der Website verwendet Stage Video - daher sind nur YouTube und wenige andere Player betroffen.
Siehe die Erklärung von Pierre-Loup Griffais aus Nvidia .
Dies ist kein Fehler in Nvidia-Treibern. Nvidia ist sich dieses Problems bewusst und es wurde bereits eine Problemumgehung erstellt. Der Nouveau-Treiber ist wahrscheinlich nicht betroffen, da die Unterstützung für die Videodekodierung noch nicht abgeschlossen ist .
Dies ist kein Fehler in libvdpau. libvdpau ist nur ein Wrapper, mit dem Videoplayer die VDPAU-Dekodierung verwenden können (siehe Stephen Warrens Erklärung ).
Dies ist kein Ubuntu-spezifischer Fehler. Andere Distributionen sind ebenfalls betroffen, zB Arch .
Der Fehler ist sehr wahrscheinlich in Flash Player - obwohl Adobe versucht, Nvidia und inkompetente Benutzer verantwortlich zu machen. Es gab mehrere Berichte über den Bugtracker von Adobe, die alle als "CannotReproduce" abgelehnt wurden:
Es wird keine offizielle Korrektur von Adobe geben, da der NPAPI-basierte Flash Player bis 2017 nur Sicherheitspatches erhält . Wir hoffen, dass wir den Flash Player bis dahin nicht benötigen.
Die Problemumgehungen
Verwenden Sie libvdpau 0.5
Verfügbar in offiziellen Repositories seit Ubuntu 12.10 libvdpau 0.4.1-6
Diese Version von libvdpau enthält eine Problemumgehung von Stephen Warren, die im Folgenden beschrieben wird.
Siehe die Release-Ankündigung
Installiere gepatchtes libvdpau (richtiges Patch)
Stephen Warren hat einen netten Patch für libvdpau erstellt , der Flash Player erkennt und nur für diesen Workarounds anwendet. Der Patch kann über eine /etc/vdpau_wrapper.cfg
Datei gesteuert werden .
Das gepatchte libvdpau korrigiert Farben und ermöglicht es Flash Player, VDPAU für die Hardwareüberlagerung zu verwenden, was dennoch einige Leistungsvorteile bietet.
Damit der Wrapper funktioniert, muss er die Verwendung von Flash erkennen. So hat die Flash - Bibliothek benannt werden libflashplayer.so
und der Plugin - Wrapper hat in Firefox aktiviert werden (in about:config
, dom.ipc.plugins.enabled.libflashplayer.so
und dom.ipc.plugins.enabled
soll festgelegt werden true
).
Für Precise (12.04) und Oneiric (11.10) können Sie die gepatchte libvdapu von Maxim Thikonovs PPA mit den folgenden Befehlen installieren :
sudo add-apt-repository ppa:tikhonov/misc
sudo apt-get update
sudo apt-get install libvdpau1
Die Änderung sollte nach dem Neustart (oder möglicherweise früher) wirksam werden.
Verhindert, dass Flash Player libvdpau findet
(Via Daniel Mario Vega auf dem Launchpad )
Suchen Sie libflashplayer.so
in Ihrem System - für Ubuntu ist es entweder in, /usr/lib/adobe-flashplugin/
wenn Sie adobe-flashplugin
Paket installiert haben, oder /usr/lib/flashplugin-installer/
für flashplugin-installer
Paket. Wenden Sie sich an Ihren Browser, about:plugins
wenn Sie Probleme haben, die Datei zu finden ( möglicherweise ist eine kleine Anpassung bei Firefox erforderlich).
Führen Sie die folgenden Befehle aus - vorausgesetzt, Sie haben entweder flashplugin-installer
oder installiert adobe-flasplugin
:
cd /usr/lib/flashplugin-installer || cd /usr/lib/adobe-flashplugin/
sudo perl -pi.bak -e 's/libvdpau/lixvdpau/g' libflashplayer.so
Die Änderung wird nach dem Neustart des Browsers wirksam.
Dadurch wird die Binärdatei von Flash Player so geändert, dass nach nicht vorhandener Bibliothek "lixvdpau" anstelle von "libvdpau" gesucht wird. Daher wird nicht versucht, die VDPAU-Präsentation überhaupt zu verwenden.
Der Befehl erstellt eine libflashplayer.so.bak-Sicherung der Binärdatei, falls Probleme auftreten.
Sie müssen diesen Befehl bei jedem Flash Player-Update ausführen, da Ihre Änderung überschrieben wird.
Mit dieser Problemumgehung können Sie die HW-Beschleunigung beibehalten, libvdpau1 installiert haben und es ist sehr einfach anzuwenden, verglichen mit dem Patchen von libvdpau.
Verwenden Sie Google Chrome mit PepperFlash
Seit Version 20 wird Google Chrome mit "Pepper" Flash Player 11.3 mit PPAPI-Unterstützung ausgeliefert (anstelle von 11.2 für NPAPI, das von Firefox et al. Verwendet wird). PepperFlash scheint von diesem Problem nicht betroffen zu sein, da anscheinend die volle Hardwarebeschleunigung verwendet wird.
PepperFlash kann mit Chromium verwendet werden , aber leider unterstützt derzeit kein anderer Browser PPAPI.
Deaktivieren Sie die Hardwarebeschleunigung von Flash Player
Die einfachste und am wenigsten aufdringliche Lösung besteht darin, die HW-Beschleunigung von Flash Player in den Anzeigeeinstellungen zu deaktivieren. Klicken Sie mit der rechten Maustaste auf Flash, und wählen Sie Einstellungen.
Dies ist jedoch nicht so einfach, da das Fenster Einstellungen unter Composite Manager (Compiz, Standard Unity) nicht mehr reagiert und der Browser Bildlaufleisten anzeigt.
Zum Deaktivieren der Hardwarebeschleunigung öffnen Sie ein beliebiges Video (z. B. auf YouTube) im Vollbildmodus und öffnen Sie dann das Fenster Einstellungen…. Sie können auch vorübergehend zu Unity 2D oder einem anderen nicht zusammengesetzten WM wechseln.
Die Änderung wird nach der Aktualisierung wirksam.
Der Nachteil: Dadurch wird die HW-Beschleunigung in Flash Player auch für Vektor- und Bitmap-Vorgänge deaktiviert. Einige Flash-Spiele und -Filme haben möglicherweise eine schlechtere Leistung und / oder schlechtere Grafiken.
Deinstallieren Sie libvdpau
Wenn Sie die HW-Beschleunigung in Flash Player aktivieren möchten, können Sie libvdpau vom System deinstallieren, wodurch Flash Player effektiv daran gehindert wird, VDPAU zu verwenden.
Lauf:
sudo apt-get remove libvdpau1
Der Nachteil: Desktop-Player (wie Totem und Mplayer) können auch keine Hardware-Videodecodierung verwenden. Dies führt zu einer höheren CPU-Auslastung während der Wiedergabe. Auch die Leistung der Videowiedergabe kann beeinträchtigt sein (z. B. ausgelassene Frames oder vollständig eingefrorenes Bild), insbesondere wenn Sie eine langsamere CPU haben und 1080p-Videos ansehen.
Aktivieren Sie die Flash Player-Hardware-Videodekodierung
Die meisten Benutzer haben berichtet, dass dies zu sehr häufigen Abstürzen von Flash Player führt (wahrscheinlich aufgrund von Problemen bei der gleichzeitigen Dekodierung). Wenn Sie Glück haben, sollten Sie es versuchen.
Dies ist auch die gleiche Methode, die das Flash-Aid-Addon verwendet . Es wird es nicht besser machen.
Lauf:
sudo mkdir /etc/adobe
echo -e "EnableLinuxHWVideoDecode=1" | sudo tee /etc/adobe/mms.cfg > /dev/null
Dadurch wird die Datei /etc/adobe/mms.cfg mit EnableLinuxHWVideoDecode=1
Inhalt erstellt. Dies ist die einzige Möglichkeit, Flash Player zum Dekodieren von Videos auf einer GPU zu zwingen. Diese Funktion wird von Adobe nicht offiziell unterstützt.
Um dies rückgängig zu machen, führen Sie Folgendes aus:
sudo rm /etc/adobe/mms.cfg
um die mms.cfg Datei zu entfernen.
Sie können versuchen, die Stabilität von Flash Player mit VDPAU_NVIDIA_NO_OVERLAY=1
Umgebungsvariablen weiter zu verbessern (siehe Nvidia-Foren) .
Ersetzen Sie Flash-Player
(Wie von Bowser auf Launchpad empfohlen )
Verwenden Sie das FlashVideoReplacer Firefox-Add-on, Literna Mágica oder eine andere Lösung, um Standard-Player in Flash durch eingebettete Video-Player-Plug-ins (wie Totem - totem-mozilla
- oder VLC - mozilla-plugin-vlc
) zu ersetzen . Kein Flash Player, kein Problem.
Patch libvdpau (vdpau_trace hack)
Es gibt einen inoffiziellen Patch von Nvidia, der den Fehler in Flash Player auf Libvdpau-Ebene durch Hacken von vdpau_trace behebt.
Beachten Sie, dass der oben erwähnte Patch von Stephen Warren technisch überlegen ist und stattdessen verwendet werden sollte.
Die Nicht-Workarounds
Die folgenden Lösungen funktionieren nur teilweise oder weisen einige Einschränkungen auf.
Aktivieren Sie HTML5 bei YouTube
Das Aktivieren des HTML5-Players unter http://www.youtube.com/html5 funktioniert nicht bei allen Videos. Einige YouTube-Videos sind nur für HTML5-Player nicht verfügbar (z. B. aufgrund mangelnder Anzeigenunterstützung). Allerdings ist HTML5-Video fantastisch und Sie sollten es trotzdem verwenden.
Downgrade auf Flash Player 11.1
In FP 11.1 sind Sicherheitslücken bekannt, die in 11.2 behoben wurden. Wenn Sie es riskieren wollen, sollten Sie wissen, worauf Sie sich einlassen.
Wenn Sie immer noch ein Downgrade durchführen möchten, versuchen Sie es mit Flash Player 10.3, der immer noch verwaltet wird. Sie können ihn im Archiv von Adobe herunterladen
Wechseln Sie zu einer anderen GPU
Es scheint, dass nur sehr wenige Nvidia-GPUs nicht betroffen sind, insbesondere Quadro 2000 und GeForce GT 430. Beide sind mit VDPAU-Feature-Set C ausgestattet , ansonsten sind auch die meisten GPUs mit Feature-Set C betroffen. Wenn Sie eine der oben genannten GPUs haben, teilen Sie uns bitte auf dem Launchpad mit, ob dieser Fehler Sie betrifft.