问题
从Ubuntu 11.10升级到Ubuntu 12.04后,无论是在浏览器还是播放器中播放的视频都是蓝色的。在11.10版本中也存在同样的问题。
我尝试卸载所有的Flash并重新安装,但没有任何改变。
是什么导致了蓝色的Flash视频?
Ubuntu 11.10 64位
Ubuntu 12.04LTS 64位
libflashplayer.so
,否则libvdpau将无法应用解决方法。
您还可以查看/etc/vdpau_wrapper.cfg
文件。在那里,您可以禁用libvdpau应用的解决方法。sudo add-apt-repository ppa:tikhonov/misc
sudo apt-get update
sudo apt-get install libvdpau1
cd /usr/lib/flashplugin-installer || cd /usr/lib/adobe-flashplugin/
sudo perl -pi.bak -e 's/libvdpau/lixvdpau/g' libflashplayer.so
请在评论前阅读整篇文章。
Flash Player自11.2版本以来在大多数平台上使用硬件视频加速。不幸的是,Linux上的加速不仅不受支持,而且基本上是无法使用的。以下情况下,Flash Player会交换视频中的颜色:
libvdpau1
软件包。请参见Nvidia的Pierre-Loup Griffais的解释。
这不是Nvidia驱动程序的错误。 Nvidia已经意识到这个问题,并且他们已经创建了一个解决方法。Nouveau驱动程序可能不受影响,因为视频解码支持尚未完成。
这不是libvdpau的错误。 libvdpau只是一个包装器,允许视频播放器使用VDPAU解码(参见Stephen Warren的解释)。
这不是特定于Ubuntu的错误。其他发行版也受到影响,例如Arch。
这个错误很可能出现在Flash Player中 - 尽管Adobe试图责怪Nvidia和无能的用户。在Adobe的错误跟踪器上有多份报告,所有这些报告都被拒绝为“无法重现”:
Adobe不会发布官方修复程序,因为基于NPAPI的Flash Player直到2017年才会接收安全补丁。希望到那时我们不再需要Flash Player。
自Ubuntu 12.10起,可在官方存储库中获得libvdpau 0.4.1-6
此版本的libvdpau包括Stephen Warren的解决方法,如下所述。
Stephen Warren为libvdpau创建了漂亮的补丁,它可以检测Flash Player并仅为其应用解决方法。该补丁可以使用/etc/vdpau_wrapper.cfg
文件进行控制。
libflashplayer.so
,并且必须在Firefox中启用插件包装器(在about:config
中,dom.ipc.plugins.enabled.libflashplayer.so
和dom.ipc.plugins.enabled
应设置为true
)。sudo add-apt-repository ppa:tikhonov/misc
sudo apt-get update
sudo apt-get install libvdpau1
更改应在重新启动后生效(或可能更早)。
(通过Launchpad上的Daniel Mario Vega)
在您的系统中找到libflashplayer.so
- 对于Ubuntu来说,如果您安装了adobe-flashplugin
软件包,则位于/usr/lib/adobe-flashplugin/
,或者对于flashplugin-installer
软件包,则位于/usr/lib/flashplugin-installer/
。
如果您在查找文件时遇到问题,请参考您的浏览器的about:plugins
页面(可能需要稍微调整Firefox的情况)。
运行以下命令 - 假设您已安装了flashplugin-installer
或adobe-flasplugin
:
cd /usr/lib/flashplugin-installer || cd /usr/lib/adobe-flashplugin/
sudo perl -pi.bak -e 's/libvdpau/lixvdpau/g' libflashplayer.so
最简单且最不侵入的解决方法是禁用Flash Player的在显示设置中的硬件加速 - 右键点击Flash,选择“设置”...
然而,这并不容易,因为在复合管理器(Compiz,标准Unity)下以及浏览器显示滚动条时,设置窗口无响应。
要禁用硬件加速,请在全屏播放任何视频(例如YouTube)之后打开“设置”窗口。或者您可以暂时切换到Unity 2D或其他非复合窗口管理器。
更改将在刷新后生效。
缺点:这会导致Flash Player的矢量和位图操作都禁用了硬件加速。某些Flash游戏和电影可能会性能更差和/或图形质量较差。
如果您想启用Flash Player的硬件加速功能,可以从系统中卸载libvdpau,这将有效地阻止Flash Player使用VDPAU。
运行:
sudo apt-get remove libvdpau1
缺点:桌面播放器(如Totem和Mplayer)也无法使用硬件视频解码。这将导致播放过程中CPU使用率较高。此外,视频播放性能可能会受到影响(例如帧丢失或完全静止的画面),特别是当您拥有较慢的CPU并且正在观看1080p的视频时。
大多数用户报告称,这导致Flash Player经常崩溃(可能是因为解码中的并发问题),但如果您感觉幸运,可以尝试一下。
这也是Flash-Aid附加组件所使用的相同方法。但不会改善情况。
运行:
sudo mkdir /etc/adobe
echo -e "EnableLinuxHWVideoDecode=1" | sudo tee /etc/adobe/mms.cfg > /dev/null
sudo rm /etc/adobe/mms.cfg
删除mms.cfg文件。
您可以尝试使用VDPAU_NVIDIA_NO_OVERLAY=1
环境变量进一步提高Flash Player的稳定性,请参考Nvidia论坛。
使用FlashVideoReplacer Firefox插件,Literna Mágica或其他解决方案来替换Flash中的标准播放器为嵌入式视频播放器插件(如Totem - totem-mozilla
- 或VLC - mozilla-plugin-vlc
)。没有Flash Player,没有问题。
有一个由Nvidia提供的非官方补丁,通过修改vdpau_trace来修复Flash Player在libvdpau级别上的bug。
需要注意的是,Stephen Warren提供的上述补丁在技术上更为优秀,应该优先使用。
以下解决方案只能部分地起作用,或者可能存在一些限制条件。
在http://www.youtube.com/html5上启用HTML5播放器并不适用于所有视频;有些YouTube视频无法在HTML5播放器上播放(例如由于缺乏广告支持)。然而,HTML5视频非常棒,你应该尽量使用它。
Flash Player 11.1存在已知漏洞,这些漏洞在11.2中得到了修复。如果你愿意冒险,你应该清楚自己要承担的风险。
如果您仍然想降级,请尝试仍在维护的Flash Player 10.3 - 您可以在Adobe's archive中获得。
似乎只有少数Nvidia GPU受影响,特别是Quadro 2000和GeForce GT 430。两者都具有VDPAU功能集C,但大多数功能集C的GPU也受到影响。 如果您拥有上述任何一种GPU,请告诉我们on Launchpad此错误是否影响您。
libflashplayer.so
文件的位置是在/usr/lib/mozilla/plugins/libflashplayer.so
,并且对Opera也适用。 - ulkas更新:请查看此解决方案以获得适当的修复。在此提到的解决方案会导致许多人崩溃。
这是由新版Flash中的错误引起的,Adobe拒绝修复。Launchpad上也有一个关于此问题的错误报告(LP:#967091)。只有在使用NVidia二进制驱动程序并安装了libvdpau时才会出现此错误。快速修复方法是向Flash配置添加一些额外设置。
sudo mkdir /etc/adobe
echo -e "EnableLinuxHWVideoDecode=1\nOverrideGPUValidation=true" | sudo tee /etc/adobe/mms.cfg > /dev/null
sudo rm -r /etc/adobe
OverrideGPUValidation=true
,通过使用sudo gedit /etc/adobe/mms.cfg进行编辑。问题: 所有网页浏览器的Flash播放器视频都是蓝色的
两个Flash插件导致Flash视频出现蓝色叠加层,因此需要移除。
解决方案(功能不如Adobe Flash插件强大,但可行)
移除:
安装:
adobe-flashplugin 重新启动浏览器,对我有效。
安装:
Flash设置
打开浏览器并导航到Flash视频(YouTube、Adobe Flash网站等),右键单击,选择设置,然后禁用硬件加速。
如果无法禁用硬件加速,请登录Unity 2D环境。
BUG: https://bugs.launchpad.net/ubuntu/+source/unity/+bug/968489
OBS:如果问题仍然存在,请重新启动机器。
libvdpau1
已经在我的Ubuntu 12.04 64位系统中安装好了。不过,禁用硬件加速对我来说解决了问题。我使用的是与@Derrick Coetzee相同的Nvidia驱动程序,但在Precise和Gnome Shell上。 - titaniumtux对于YouTube来说,我找到了一个快速解决方法,就是加入他们的HTML5测试版。
这个方法非常有效...从我所看到的情况来看,似乎只有YouTube受到了这个老问题的再次困扰...
实际上,最好开始使用HTML5。你必须记住,当涉及到Linux时,Flash已经走向了末路。然后我们都将不得不使用Google Chrome,而不是其他任何浏览器 :(
试试这个:
sudo apt-get purge flashplugin-installer
sudo apt-get install adobe-flashplugin
libflashplayer.so
(我的是flashplayer-alternative.so
)。所以我只需将flashplayer-alternative.so
重命名为libflashplayer.so
,然后它就开始工作了。如果在/proc/self/cmdline中找到"libflashplayer",并且在/etc/vdpau_wrapper.cfg中找到字符串"enable_flash_uv_swap=1",则应用此解决方法。