Flash视频显示为蓝色


245

问题

从Ubuntu 11.10更新到Ubuntu 12.04后,无论是在浏览器中还是在播放器中播放,所有视频仍为蓝色。11.10中也会发生相同的问题。

我尝试卸载所有Flash,然后重新安装,但没有区别。

是什么引起蓝色Flash视频?

Ubuntu 11.10 64位

Ubuntu 12.04LTS 64位


看起来像什么

蓝色Flash影片


Answers:


187

这里有一些误导和错误的建议,因此让我们总结一下问题所在和解决方案。

TL; DR

自12.10(定量)以来的最新版本的Ubuntu包含该库的修补版本。如果仍然遇到蓝色视频问题(不包括Blue Man Group),请查看此答案 -Flash Player的库名称必须为libflashplayer.solibvdpau,否则将无法解决。您还可以查看/etc/vdpau_wrapper.cfg文件。在那里,您可以禁用libvdpau应用的解决方法。

如果您具有Oneiric(11.10)或Precise(12.04),请安装修补的libvdpau:

sudo add-apt-repository ppa:tikhonov/misc
sudo apt-get update
sudo apt-get install libvdpau1

否则,您可以修改Flash Player的库:

cd /usr/lib/flashplugin-installer || cd /usr/lib/adobe-flashplugin/
sudo perl -pi.bak -e 's/libvdpau/lixvdpau/g' libflashplayer.so

请先阅读整篇文章,然后再发表评论。

问题

从11.2版开始的Flash Player在大多数平台上都使用硬件视频加速。不幸的是,Linux中的加速不仅不被支持,而且实质上被破坏了。Flash Player在以下情况下交换视频中的颜色:

  • 您正在使用具有VDPAU支持的全新Nvidia GPU 。
  • 您正在使用Nvidia二进制驱动程序的当前版本(较旧的版本不支持VDPAU)。
  • 您已libvdpau1安装软件包。
  • 网站上的播放器使用舞台视频 -这就是为什么只有YouTube和其他播放器受到影响的原因。

请参阅Nvidia的Pierre-Loup Griffais的解释

这不是Nvidia驱动程序中的错误。Nvidia意识到了这个问题,他们已经创建了一种解决方法。Nouveau驱动程序可能不会受到影响,因为视频解码支持尚未完成

这不是libvdpau中的错误。libvdpau只是一个包装,允许视频播放器使用VDPAU解码(请参见Stephen Warren的说明)。

这不是Ubuntu特有的错误。其他分布也会受到影响,例如Arch

该错误很可能是在Flash Player中产生的 -尽管Adobe试图将Nvidia和不称职的用户归咎于该错误。关于Adobe的bugtracker的报告很多,但均被拒绝为“ CannotReproduce”:

由于基于NPAPI的Flash Player 在2017年之前收到安全补丁,因此Adobe不会提供官方修复程序。希望那时我们不再需要Flash Player。

解决方法

使用libvdpau 0.5

自Ubuntu 12.10起在官方存储库中可用 libvdpau 0.4.1-6

此版本的libvdpau包括Stephen Warren所描述的变通办法,如下所述。

查看发布公告

安装修补的libvdpau(适当的修补程序)

Stephen Warren为libvdpau创建了不错的补丁,该补丁可检测Flash Player并仅对其应用变通方法。可以使用/etc/vdpau_wrapper.cfg文件控制补丁。

已修补的libvdpau可以修复颜色,并允许Flash Player使用VDPAU进行硬件覆盖,这仍然可以提供一些性能优势。

为了使包装器正常工作,它需要识别Flash的使用。因此,必须命名Flash库,libflashplayer.so并且必须在Firefox中启用插件包装(在中about:configdom.ipc.plugins.enabled.libflashplayer.so并且dom.ipc.plugins.enabled应设置为true)。

对于Precise(12.04)和Oneiric(11.10),可以使用以下命令从Maxim Thikonov的PPA安装修补的libvdapu :

sudo add-apt-repository ppa:tikhonov/misc
sudo apt-get update
sudo apt-get install libvdpau1

更改应在重新启动后(或更快)生效。

阻止Flash Player查找libvdpau

(通过Launchpad上的Daniel Daniel Mario Vega

找到libflashplayer.so你的系统- Ubuntu的,它无论是在/usr/lib/adobe-flashplugin/如果你有adobe-flashplugin安装的软件包,或/usr/lib/flashplugin-installer/用于flashplugin-installer包装。about:plugins如果找不到文件,请咨询您的浏览器(对于Firefox,可能需要稍作调整)。

运行以下命令-假设您已安装flashplugin-installeradobe-flasplugin

 cd /usr/lib/flashplugin-installer || cd /usr/lib/adobe-flashplugin/
sudo perl -pi.bak -e 's/libvdpau/lixvdpau/g' libflashplayer.so

更改在重新启动浏览器后生效。

这将修改Flash Player的二进制文件,以搜索不存在的“ lixvdpau”库而不是“ libvdpau”。因此,它将完全不会尝试使用VDPAU演示。

如果遇到任何问题,该命令将为二进制文件创建libflashplayer.so.bak备份。

每次有Flash Player更新时,您都需要运行此命令,因为您的更改将被覆盖。

通过这种解决方法,您可以保持硬件加速,安装libvdpau1,与修补libvdpau相比,它很容易应用。

结合使用Google Chrome和PepperFlash

从20版开始,谷歌浏览器随附支持PPAPI的“ Pepper” Flash Player 11.3(而不是Firefox等使用的NPAPI上的11.2)。PepperFlash似乎不受此问题影响,因为它似乎使用了完整的硬件加速。

PepperFlash 可以与Chromium一起使用,但是很遗憾,当前没有其他浏览器支持PPAPI。

禁用Flash Player的硬件加速

最简单,侵入性最小的修复方法是在“显示设置”中禁用Flash Player的硬件加速 –右键单击Flash,选择“设置”。

但是,这并不容易,因为“设置”窗口在复合管理器(Compiz,标准Unity)下没有响应,并且浏览器显示滚动条。

要禁用硬件加速,请以全屏模式打开任何视频(例如,在YouTube上),然后打开“设置…”窗口。或者,您可以临时切换到Unity 2D或其他非复合WM。

更改在刷新后生效。

缺点:即使对矢量和位图操作,这也会禁用Flash Player中的硬件加速。某些Flash游戏和电影可能具有较差的性能和/或较差的图形。

卸载libvdpau

如果要在Flash Player中启用硬件加速,则可以从系统中卸载libvdpau,这实际上会阻止Flash Player使用VDPAU。

跑:

sudo apt-get remove libvdpau1

缺点:台式机播放器(如Totem和Mplayer)也将无法使用硬件视频解码。这将导致回放期间更高的CPU使用率。此外,视频播放性能可能会受到影响(例如,丢帧或完全冻结的图片),尤其是在CPU速度较慢且正在观看1080p视频的情况下。

启用Flash Player硬件视频解码

大多数用户报告说,这会导致Flash Player崩溃非常频繁(可能是由于解码中的并发问题),但是如果您感到幸运,请尝试一下。

这也是Flash-Aid插件使用的相同方法。它不会使它变得更好。

跑:

sudo mkdir /etc/adobe
echo -e "EnableLinuxHWVideoDecode=1" | sudo tee /etc/adobe/mms.cfg > /dev/null

这将创建包含EnableLinuxHWVideoDecode=1内容的/etc/adobe/mms.cfg文件。这是实际迫使Flash Player在GPU上解码视频的唯一方法,而Adobe并未正式支持它。

要撤销此操作,请运行:

sudo rm /etc/adobe/mms.cfg

删除mms.cfg文件。

您可以尝试使用VDPAU_NVIDIA_NO_OVERLAY=1环境变量进一步提高Flash Player的稳定性,请参阅Nvidia论坛

更换Flash播放器

(如Bowser在启动板上的建议)

使用FlashVideoReplacer Firefox附加组件,LiternaMágica或其他解决方案,可以用嵌入式视频播放器插件(例如Totem – totem-mozilla–或VLC – mozilla-plugin-vlc)替换Flash中的标准播放器。没有Flash Player,没问题。

修补libvdpau(vdpau_trace hack)

Nvidia有一个非官方的补丁程序,它通过入侵vdpau_trace在libvdpau级别上修复了Flash Player的错误。

注意,斯蒂芬·沃伦(Stephen Warren)所说的补丁在技术上是优越的,应该改用它。

非解决方法

以下解决方案将仅部分起作用,或者可能有一些警告。

在YouTube上启用HTML5

无法在http://www.youtube.com/html5上启用HTML5播放器,但不适用于所有视频;某些YouTube视频仅不适用于HTML5播放器(例如,由于缺乏广告支持)。但是HTML5视频很棒,您仍然应该使用它。

降级到Flash Player 11.1

FP 11.1中存在已知的漏洞,已在11.2中修复。如果您想冒险,您应该知道自己正在经历什么。

如果您仍然想降级,请尝试仍保留的Flash Player 10.3 –您可以在Adobe的存档中获取它。

切换到其他GPU

似乎很少有Nvidia GPU不会受到影响,尤其是Quadro 2000和GeForce GT430。它们都具有VDPAU功能集C,但其他大多数功能集C GPU也都受到了影响。如果您有上述任何GPU,请在Launchpad上告诉我们此错误是否影响您。


8
非常有用和翔实的文本。我已经通过从提到的存储库launchpad.net/~tikhonov/+archive/misc中找到的deb中提取libvdpau.so.1.0.0 到我的/ usr / lib64-完美中,从而解决了openSUSE 12.2中的问题。谢谢!
RushPL

较新的GPU肯定存在该错误(功能集C)。我是其中之一。
维克多

1
@Victor是的,我注意到了;这是一种理论,这是错误的。奇怪的是,两个特定(且非常不同)的GPU没有受到影响,我更倾向于认为记者错过了一些东西,例如他们没有安装libvdpau(有关Quatro 2000的负面报道来自Adobe的代表)。
2012年

4
感谢您抽出宝贵的时间来解决问题,并为每个解决方案提供说明。应用libpauv1补丁对我来说非常有用,我只需要重新启动浏览器即可应用该解决方案。谢谢!
dusktreader 2012年

1
我去了Prevent Flash Player from finding libvdpau解决方案,并确认它可以工作。libflashplayer.so文件所在的位置/usr/lib/mozilla/plugins/libflashplayer.so也适用于歌剧
ulkas 2014年

94

更新:请查看此解决方案以获取适当的修复。此处提到的解决方案会导致许多尝试过的用户崩溃。

这是由Adobe拒绝修复的新Flash版本中的错误引起的。在Launchpad上还有一个bug报告,对此进行了讨论(LP:#967091)。仅当您使用NVidia二进制驱动程序并安装了libvdpau时,才会出现该错误。一种快速解决方案是向Flash配置添加一些其他设置。

sudo mkdir /etc/adobe
echo -e "EnableLinuxHWVideoDecode=1\nOverrideGPUValidation=true" | sudo tee /etc/adobe/mms.cfg > /dev/null

这样可以解决问题,同时仍具有VDPAU硬件加速功能。不幸的是,如果没有此手动配置破解,可能不会有新的Flash版本来解决此问题,因为引入此错误的Flash版本也是Adobe将为Linux发布的最后一个Flash版本。

如果这导致您不稳定,请通过删除之前创建的目录来还原更改。

sudo rm -r /etc/adobe

或者您可以尝试将/etc/adobe/mms.cfg文件缩小为

OverrideGPUValidation=true

通过使用sudo gedit /etc/adobe/mms.cfg进行编辑。


谢谢您,这为我在Ubuntu 11.10(adobe-flashplugin 11.2.202.228-0oneiric1)上解决了该问题。这不是适用于Linux的Flash的最新版本,它将进行安全更新,并且更高版本将与Google Chrome捆绑在一起。
Mateusz Stachowski

16
在mms.cfg中启用这些功能会使Flash定期崩溃。
blujay 2012年

4
是的,解决了蓝色问题,但经常崩溃,因此毫无用处
Hubro 2012年

3
这样可以解决偏蓝色的问题,但对我来说却不稳定。
foh1981 2012年

1
此命令也使Flash插件经常崩溃。您如何还原?
RockScience 2012年

51

修复(解决)

问题: 所有网络浏览器的Flash Player视频均为蓝色

  • 谷歌浏览器
  • 火狐浏览器

这两个Flash插件都会导致Flash视频显示为蓝色叠加层,因此请删除。

  • Adobe-Flashplugin
  • Flashplugin-安装程序

解决方案(不像Adobe Flash插件那样起作用,但是可以使用)

  • 安装lightspark(以及所有浏览器插件)或
  • 安装gnash(以及所有浏览器插件)

可能的解决方法1

已移除:

  • gnash浏览器插件
  • gightspark浏览器插件
  • 用于Unix的视频解码和演示API(库)libvdpau1
  • flashplugin-安装程序

已安装:

adobe-flashplugin重新启动浏览器,它对我有用。

可能的修复2

已安装:

  • libvdpau1

闪光灯设置

  • 在Flash中禁用硬件加速。

打开浏览器并右键单击Flash Flash视频(youtube,abobo flash网站等),设置并禁用硬件加速。

如果无法禁用硬件加速,请登录到Unity 2D环境。

错误:https//bugs.launchpad.net/ubuntu/+source/unity/+bug/968489

OBS:如果坚持不懈。重新启动机器。


1
对我来说,仅安装libvdpau1就可以了,而其他几种解决方案都没有。我正在使用NVIDIA驱动程序295.33运行Ubuntu 11.10。
D Coetzee 2012年

libvdpau1已经在Ubuntu 12.04 64位上为我安装了。无论如何,禁用硬件加速对我来说是成功的诀窍。我正在使用与@Derrick Coetzee相同的Nvidia驱动程序,但是使用Gnome Shell进行精确操作。
titaniumtux

4
我似乎无法单击该选项以禁用硬件加速。
RolandiXor

1
对于我测试过的所有站点,删除libvdpau1都可以在Firefox和Chrome中使用。如果有帮助,我有Nvidia 440 GT卡。
路易斯·阿尔瓦拉多

4
如果您无法取消选中Flash设置中的“硬件加速”选项,请全屏尝试–转到YouTube,全屏打开任何视频,然后打开Flash设置(右键单击>设置…);窗口应该响应。如果浏览器的窗口具有滚动条,则在复合WM下设置对话框将无响应。
2012年

14

好的,这是我解决该问题的经验(在Ubuntu 12.04 64位,nVidia驱动程序上):

  • 删除flashplugin-installer并安装adobe-flashplugin(未修复

这一直有效,直到重新启动。但是由于我使用的是64位,所以我一直使用adobe-flashplugin(我觉得它效果最好)。

  • 更改驱动程序版本(未修复

最初我有nvidia-current-updates,我将其更改为nvidia-current。这没有解决。Synaptic表示驱动程序版本相同,截至撰写本文为止(295.33)。

  • 在Firefox中安装Flash-Aid加载项(已修复,但不稳定

只要我激活了硬件加速选项(不要与下面的选项混淆!),它就可以工作。我是从存储库安装Flash插件还是从Adobe安装Beta都没有关系。但是,在修复淡蓝色调时,该插件变得非常不稳定,并且在与Flash对象交互时不断崩溃。

  • 在YouTube上激活HTML5视频(已在YouTube修复

虽然我在YouTube视频上只遇到了这个问题,但我不确定其他网站和视频是否会受到影响。根据此处其他人的建议,如果您想在Youtube.com上激活或停用HTML5视频,请访问youtube.com/html5。

  • 通过右键单击Flash视频来禁用硬件加速(已修复)

这是最适合我的方法(但根据该线程中pst007x的建议,我必须使用Unity 2D登录)。淡蓝色消失了,视频稳定了。我担心CPU工作量会增加,但是在有硬件加速和没有硬件加速的情况下,我都看不到任何变化(为此我使用了来自Google频道的1080p视频),它开始时占40%左右,而当视频时下降至20%已满载。


9

对于YouTube,我对此的快速解决方案是加入其HTML5 beta版

它的确奏效了……从我的眼中看来,似乎只有YouTube受到了这个老虫的影响,再次抬起了丑陋的头……

实际上,最好是开始使用HTML5。您必须记住,Linux即将淘汰Flash。然后,我们所有人都必须使用Google Chrome浏览器,而无需进行其他操作:(


2
不适用于带有广告的视频
waspinator 2012年

4

在删除Flash Player之后,我解决了这个问题,然后通过从Adobe网站下载Flash并通过Ubuntu Software Center安装它来手动安装Flash。


3

我通过将NVIDIA驱动程序回滚到173版来解决此问题(使用基于Ubuntu Oneiric的Linux Mint Lisa)。

更新:不幸的是,NVIDIA驱动程序173版在MP4视频中产生的蓝色色调与Flash视频中推荐(更新)的NVIDIA驱动程序版本相同。有点令人生气:我可以喝咖啡太冷或太甜。

另一个更新:通过访问“首选项”并将“色相”滑块一直向右推,我能够解决Totem中的MP4问题。辣而不是太甜。


3

尝试这个:

sudo apt-get purge flashplugin-installer
sudo apt-get install adobe-flashplugin

+1不久前(10.04),我遇到了同样的问题,我很确定这就是我解决的方法。
亚伦

2
不幸的是,问题仍然存在。
enedene

2
OK,然后尝试使用此处的说明禁用Flash硬件加速。
沙洛爵士(SirCharlo)2012年

我在YouTube上也遇到了同样的问题。Vimeo似乎有效。切换到HTML5可解决Youtube上的问题。我通过清除flashplugin-installer并安装adobe-flashplugin临时修复了该问题,但是重新启动后问题仍然存在。至于停用硬件加速,自从前一段时间以来,这对我来说是不可能的。我无法与弹出窗口进行互动(自11.10起,现在是12.04,是一个问题)。
foh1981 2012年

右键点击youtube视频,设置,禁用硬件加速功能。那是一个不幸的解决方案,但是直到Adobe决定修复它,这才是可行的解决方案。
enedene 2012年

2

如果您安装了带有最新版本Flash的Nvidia驱动程序,则可能会出现问题。尝试右键单击Flash视频,然后从设置中禁用硬件加速。它为我工作。


1

我也有同样的问题。我正在使用Linux 3.2.0-24通用(32位),Flash(最新)版本11.2.202.236和Mozilla Firefox。

我试图取消全局设置中的加速-它没有解决问题。我尝试为X屏幕重置Nvidia驱动程序设置。

电影播放器​​中的颜色完全没有问题,可以在互联网上播放一些视频,但是YouTube视频不是。

创建mms.cfg文件有效。但是,它淘汰了媒体播放器和miro播放(那里的视频和电影变成蓝色)。

然后,我遵循了这一点:

  1. 打开gstreamer-properties(Alt+ F2,输入gstreamer-properties)。转到视频选项卡。将默认输出插件更改为“ X Window System(X11 / XShm / Xv)”。将设备设为“默认”。测试并关闭包装盒。

1

升级后,我再次遇到此问题。我想通了,对于enable_flash_uv_swap在选项/etc/vdpau_wrapper.cfg工作,Flash库文件(或符号连接)具有被命名为libflashplayer.so(我的是flashplayer-alternative.so)。因此,我刚重命名flashplayer-alternative.solibflashplayer.so,它开始起作用。

有关更多信息,请参见[ANNOUNCE] libvdpau 0.5

如果在/ proc / self / cmdline中找到“ libflashplayer”,并且在/etc/vdpau_wrapper.cfg中找到了字符串“ enable_flash_uv_swap = 1”,则将应用此解决方法。


0

我使用Flash-Aid,它立即将其修复。


1
我无法禁用硬件加速。.当我右键单击Flash文件菜单时,但无法取消选中设置菜单中的任何内容。鼠标无法起作用,而键盘只能将其关闭。.我试图为Flash安装Flash-Aid。安装Flash Beta版可以解决颜色问题,但它非常不稳定

使用Unity 2D环境登录,然后在此处进行更改。然后照常登录。那对我有用。
pst007x 2012年

急救工具为我修复了该问题,但几分钟后,它需要再次修复,然后再修复,然后…并不断地进行
keepitsimpleengineer 2012年

该附件已被其作者删除...
Serge Stroobandt 2014年

0

好。这是修复程序,它为我做到了,我相信它应该为每个人都做得到!

sudo apt-get remove libvdpau1
sudo apt-get install flashplugin-installer

之后,请执行以下操作:

sudo mkdir /etc/adobe
echo -e "EnableLinuxHWVideoDecode=1\nOverrideGPUValidation=true" | sudo tee /etc/adobe/mms.cfg > /dev/null

1
卸载libvdpau1后,无需执行mms.cfg的第二步。再次,所有卸载libvdpau1的建议都应带有强烈的警告:您正在删除硬件视频解码支持,并且视频播放的性能可能会受到影响
jnv 2012年

是的,但是对于某些图形卡,这是启用闪存的唯一方法。什么是不使用Flash浏览Internet?
entonjackson 2012年

绝对不是唯一的方法,请阅读:askubuntu.com/a/131040/19674
jnv 2012年

0

卸载libvdpau1为我解决了此问题。目前...


1
....但是您不能再在gpu上加速视频解码了
Egil,

你是什​​么意思?例如?
2012年

2
vdpau表示用于Unix的视频解码和演示API,这是用于将视频解码卸载到gpu的库。没有它,视频将在主处理器上的软件中解码。
埃吉尔

0

对于NVIDIA用户。我现在已经测试了3个视频卡。所有Nvidia。因此,对于拥有Nvidia 8600 GT,Nvidia 9500或Nvidia 440 GT(可能是所有Nvidia卡)的任何人。您只需要删除libvdpau1软件包。然后,只需启动Firefox或Chrome,一切都会很好。

sudo apt-get remove libvdpau1 并做了。

经过测试的youtube(有/没有加入HTML5)可以双向运行。

还测试了vimeo和TED。一切看起来都应该。

仅当您拥有良好的CPU时才应使用此选项,因为删除此软件包会将视频解码发送到CPU而不是GPU。无论如何,如果您具有双核或更高的双核,即使使用1080p视频也不会有问题。


0

在11.2.202.228更新中似乎存在问题,而以下是直到Adobe解决该问题的最快,最合理的修复程序:

sudo apt-get remove flashplugin-installer 
wget https://launchpad.net/ubuntu/+archive/partner/+files/adobe-flashplugin_11.1.102.63.orig.tar.gz    
tar xzvf *.tar.gz

找到libflashplayer.so适合您的体系结构的。

cp /usr/lib/flashplugin-installer/libflashplayer.so libflashplayer.so.bak

将新副本复制libflashplugin.so到上面的目录,覆盖并重新启动浏览器。


0

解决此问题的另一种方法(每次都对我有用)是:

播放Flash视频时,右键单击它-> 设置->取消选中“启用硬件加速”->刷新页面


-1

此问题是由NVIDIA驱动程序引起的。确保使用显示Recommended系统 > 其他驱动程序下的驱动程序。那件事发生在我身上,现在我的视频中没有蓝雾了。


这没有为我解决。在撰写本文时,版本在12.04(295.33)中相同。昨天,当我对此进行测试时,nvidia-current(推荐)实际上是版本295.33,而nvidia-current-updates是版本295.20。
foh1981 2012年

没用

信息错误。这不是驱动程序中的错误,而是Flash中的新错误。
blujay 2012年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.