Flashvideo显示为蓝色

问题

从Ubuntu 11.10更新到Ubuntu 12.04后,无论是在浏览器还是播放器中播放,所有video仍为蓝色。 同样的问题也出现在11.10中。

我试图卸载所有Flash并重新安装,但它没有任何区别。

导致蓝色Flashvideo的原因是什么?

Ubuntu 11.10 64bit

Ubuntu 12.04LTS 64位


它看起来像什么

蓝色Flash视频

这里有一些误导和一些错误的建议,所以让我们总结问题是什么以及有什么解决方案。

TL; DR

自12.10(Quantal)以来最新版本的Ubuntu包含该库的修补版本。 如果您仍遇到蓝色video问题(不包括Blue Man Group ),请查看此答案 – Flash Player的库名必须为libflashplayer.so否则libvdpau将不会应用此解决方法。 您还可以查看/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在大多数平台上使用硬件video加速。 不幸的是,Linux中的加速不仅没有得到支持,而且基本上都被打破了。 Flash Player在以下条件下交换video中的颜色:

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

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

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

这不是libvdpau中的错误。 libvdpau只是一个允许video播放器使用VDPAU解码的包装器(参见Stephen Warren的解释 )。

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

这个错误很可能在Flash Player中 – 虽然Adobe试图责怪Nvidia和无能的用户。 关于Adobe的bugtracker有多个报道,所有这些都被拒绝为“CannotReproduce”:

Adobe将不会有官方修复,因为基于NPAPI的Flash Player在2017年之前只收到安全补丁 。希望到那时我们不需要Flash Player。

解决方法

使用libvdpau 0.5

自Ubuntu 12.10 libvdpau 0.4.1-6起可在官方存储库中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.sodom.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

(通过启动板上的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相比,它非常容易应用。

将Apple Chrome与PepperFlash一起使用

从版本20开始,Google Chrome附带“Pepper”Flash Player 11.3并支持PPAPI(而不是Firefox等人使用的NPAPI上的11.2)。 PepperFlash似乎不受此问题的影响,因为它似乎使用完全硬件加速。

PepperFlash 可以与Chromium一起使用 ,但遗憾的是其他浏览器目前还不支持PPAPI。

禁用Flash Player的硬件加速

最简单,最少侵入性的修复是在显示设置中禁用Flash Player的硬件加速 – 右键单击​​Flash,选择设置…

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

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

刷新后更改生效。

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

卸载libvdpau

如果要在启用Flash Player的情况下启用硬件加速,可以从系统中卸载libvdpau,这有效地阻止了Flash Player使用VDPAU。

跑:

 sudo apt-get remove libvdpau1 

缺点:桌面播放器(如Totem和Mplayer)也无法使用硬件video解码。 这将导致播放期间更高的CPU使用率。 此外,video播放性能可能会受到影响(例如丢帧或完全冻结的图片),特别是如果你的CPU速度较慢而且正在观看1080pvideo。

启用Flash Player硬件video解码

大多数用户报告说这会导致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上解码video的唯一方法,而且Adobe没有正式支持它。

要撤消此操作,请运行:

 sudo rm /etc/adobe/mms.cfg 

删除mms.cfg文件。

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

替换Flash播放器

( 按启动板上的bowser推荐)

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

补丁libvdpau(vdpau_trace hack)

Nvidia有一个非官方的补丁,它通过黑客攻击vdpau_trace来解决Flash Player在libvdpau级别上的错误。

请注意,Stephen Warren的上述补丁在技术上更优越,应该使用。

非解决方法

以下解决方案仅部分有效,或者可能有一些注意事项。

在YouTube上启用HTML5

在http://www.youtube.com/html5上启用HTML5播放器不适用于所有video; 某些YouTubevideo不适用于HTML5播放器(例如,由于缺乏广告支持)。 然而,HTML5video非常棒,无论如何你都应该使用它。

降级到Flash Player 11.1

FP 11.1中存在已知的漏洞 ,这些漏洞在11.2中已得到修复。 如果你想冒风险,你应该知道你正在进入什么。

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

切换到不同的GPU

似乎很少有Nvidia GPU不受影响,特别是Quadro 2000和GeForce GT 430.两者都有VDPAUfunction集C ,但大多数function集C GPU也受到影响。 如果您有任何上述GPU,请在Launchpad上告诉我们这个错误是否会影响您。

更新:请查看此解决方案以获得正确的解决方案。 这里提到的解决方案导致许多尝试它的人崩溃。

这是由Adobe拒绝修复的新Flash版本中的错误引起的。 Launchpad上还有一个讨论这个的错误报告(LP: #967091 )。 只有在使用NVidia二进制驱动程序并安装了libvdpau时才会出现该错误。 快速修复是为Flash配置添加一些额外设置。

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

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

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

 sudo rm -r /etc/adobe 

或者你可以尝试将/etc/adobe/mms.cfg文件减少到

OverrideGPUValidation=true

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

修复(解决)

问题:所有网络浏览器的Flash播放器video均为蓝色

  • 谷歌浏览器
  • 火狐

两个闪存插件都会导致Flashvideo显示为蓝色覆盖,因此请删除。

  • Adobe – flashplugin
  • Flashplugin – 安装程序

解决方案(不像adobe flash插件那样function但是有效)

  • 安装lightspark(以及任何浏览器插件)或
  • 安装gnash(加上任何浏览器插件)

可能的修复1

删除:

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

安装:

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

可能的修复2

安装:

  • libvdpau1

Flash设置

  • 禁用Flash中的HW加速。

打开浏览器并导航到flashvideo(youtube,abobe flash site等),右键单击,设置并禁用硬件加速。

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

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

OBS:如果持续存在。 重启机器。

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

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

这工作直到重新启动。 但是我保持adobe-flashplugin,因为我是64位(我得到的印象是它最好)。

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

起初我有nvidia-current-updates,我将其更改为nvidia-current。 这没有解决它。 Synaptic指出驱动程序版本是相同的,截至撰写本文时(295.33)。

  • 在Firefox中安装Flash-Aid附加组件( 修复它排序,但不稳定

只要我激活硬件加速选项(不要与下面的选项混淆!!),这就有效。 如果我从存储库安装Flash插件或从Adobe安装测试版,则无关紧要。 但是,在修复蓝色色调时,插件在与Flash对象交互时变得非常不稳定并且不断崩溃。

  • 在Youtube上激活HTML5video(在Youtube上修复

虽然我只是在Youtubevideo上遇到此问题,但我无法确定其他网站和video是否受到影响。 根据其他人的建议,如果您想在Youtube.com上激活或停用HTML5video,请访问youtube.com/html5。

  • 通过右键单击Flashvideo禁用硬件加速(修复)

这对我来说效果最好(但我必须根据pst007x在此主题中的建议使用Unity 2D登录) 。 蓝色色调消失了,video也很稳定。 我担心CPU工作量会增加但是在使用和不使用硬件加速的测试中我都看不到任何变化(我在1080p中使用了Googles频道的video),它开始时大约40%并且在video时下降到20%满载。

无论如何,我对YouTube的快速解决方法是加入他们的HTML5测试版 。

它起了作用……从我所看到的情况来看,似乎只有YouTube受到了这个丑陋的丑陋再次抬头的老虫的影响……

实际上最好开始使用HTML5。 你必须记住,当涉及到Linux时, Flash正在逐渐消失。 那么我们都必须使用谷歌Chrome ,没有别的:(

我删除了Flash播放器后解决了这个问题,然后通过从Adobe网站下载闪存并通过Ubuntu软件中心安装Flash来手动安装闪回。

我解决了这个问题(使用Linux Mint Lisa,它基于Ubuntu Oneiric),将NVIDIA驱动程序推回到版本173。

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

另一个更新:通过访问“首选项”并将“Hue”滑块一直推到右侧,我能够修复Totem中的MP4问题。 热,不太甜。

试试这个:

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

如果您使用最新版本的Flash安装了Nvidia驱动程序,则可能会出现问题。 尝试右键单击Flashvideo并从设置中禁用硬件加速。 它对我有用。

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

我试图在全局设置中取消加速 – 它没有修复它。 我尝试重置我的X屏幕的Nvidia驱动程序设置。

电影播放器​​的颜色完全没有问题,我可以在互联网上播放的video还可以,但不是YouTubevideo。

创建mms.cfg文件工作。 然而它淘汰了媒体播放器和miro播放(video和电影在那里变蓝)。

然后我跟着这个:

  1. 打开gstreamer属性( Alt + F2 ,输入gstreamer-properties )。 切换到video标签。 将默认输出插件更改为“X Window System(X11 / XShm / Xv)”。 制作设备 – ‘默认’。 测试并关闭盒子。

升级后我又遇到了这个问题。 我发现,对于/etc/vdpau_wrapper.cfg中的enable_flash_uv_swap选项,Flash库文件(或符号链接)必须命名为libflashplayer.so (我的是flashplayer-alternative.so )。 所以我刚刚将flashplayer-alternative.so重命名为libflashplayer.so ,它开始工作了。

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

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

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

好。 这是修复,它为我做了,我敢肯定它应该为每个人做!

 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 

卸载libvdpau1可以解决这个问题。 目前…

对于NVIDIA用户。 我现在测试了3个video卡。 所有Nvidia。 因此对于拥有Nvidia 8600 GT,Nvidia 9500或Nvidia 440 GT(可能都是Nvidia卡)的人来说。 您只需要删除libvdpau1包。 然后启动Firefox或Chrome,一切都应该是好的。

sudo apt-get remove libvdpau1并完成。

经过测试的youtube有/无加入HTML5并且可以双向工作。

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

只有拥有良好的CPU才能使用此选项,因为删除此软件包会将video解码发送到CPU而不是GPU。 无论如何,如果你有双核或更好,即使使用1080pvideo你也不会有问题。

它似乎是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于您的体系结构的libflashplayer.so

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

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

另一种解决这个问题的方法(每次都对我有用)如下:

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

问题是由NVIDIA驱动程序引起的。 确保使用“ 系统” >“ 其他驱动程序”下显示的Recommended 驱动程序 。 这发生在我身上,现在我的video中没有出现蓝色阴霾。

请参阅Ubuntu 12.04中的修复Youtubevideo蓝色问题 ,并按照说明安装新的VDPAU1,它将正确解决问题。