外观

外观

问题

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

我尝试卸载所有 Flash 并重新安装,但没有什么作用。

是什么原因造成视频闪蓝?

Ubuntu 11.10 64位

Ubuntu 12.04LTS 64位


外观

蓝光闪光视频

答案1

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

总结

自 12.10(Quantal)以来的 Ubuntu 最新版本包含该库的修补版本。如果您仍然遇到蓝屏问题(不包括蓝人乐团), 查看这个答案– 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 在大多数平台上都使用硬件视频加速。遗憾的是,Linux 中的加速功能不仅不受支持,而且基本上已损坏。Flash Player 在以下情况下会交换视频中的颜色:

  • 您正在使用相当新的 Nvidia GPU维吉尼亚州民主党支持。
  • 您正在使用当前版本的 Nvidia 二进制驱动程序(旧版本不支持 VDPAU)。
  • 您已libvdpau1安装包。
  • 网站上的播放器使用舞台视频– 这就是为什么只有 YouTube 和少数其他播放器受到影响。

Nvidia 的 Pierre-Loup Griffais 的解释

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

这不是 libvdpau 中的错误。libvdpau 只是一个包装器,允许视频播放器使用 VDPAU 解码(参见史蒂芬·沃伦的解释)。

这不是 Ubuntu 特有的错误。其他发行版也受到影响,例如

该漏洞很可能存在于 Flash Player 中– 尽管 Adob​​e 试图将责任归咎于 Nvidia 和不称职的用户。Adobe 的 bug 跟踪器上已经有多份报告,但都被拒绝,理由是“无法重现”:

Adobe 不会发布官方修复,因为基于 NPAPI 的 Flash Player仅接收安全补丁直到 2017 年。希望到那时我们就不再需要 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),你可以从以下位置安装修补的 libvdapu马克西姆·蒂科诺夫的 PPA使用以下命令:

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

该更改应在重启后生效(或可能更早)。

防止 Flash Player 查找 libvdpau

(通过Daniel Mario Vega 在 Launchpad 上

在您的系统中定位– 对于 Ubuntu,如果您安装了软件包,则libflashplayer.so位于 中,或者位于中。如果您找不到文件 (/usr/lib/adobe-flashplugin/adobe-flashplugin/usr/lib/flashplugin-installer/flashplugin-installerabout: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 开始,Google Chrome 附带了支持 PPAPI 的“Pepper”Flash Player 11.3(而不是 Firefox 等使用的 NPAPI 上的 11.2)。PepperFlash 似乎不受此问题的影响,因为它似乎使用了完整的硬件加速。

辣椒闪光可以与 Chromium 一起使用,但遗憾的是目前没有其他浏览器支持PPAPI。

禁用 Flash Player 的硬件加速

最简单、干扰最小的解决方法是禁用 Flash Player 的显示设置中的硬件加速– 右键单击​​ Flash,选择设置…

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

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

刷新后更改生效。

缺点:这会禁用 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

这将创建包含内容的 /etc/adobe/mms.cfg 文件EnableLinuxHWVideoDecode=1。这是强制 Flash Player 在 GPU 上解码视频的唯一方法,但 Adob​​e 并未正式支持该方法。

要撤消此操作,请运行:

sudo rm /etc/adobe/mms.cfg

删除 mms.cfg 文件。

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

更换 Flash 播放器

(根据建议Launchpad 上的 bowser

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

补丁 libvdpau (vdpau_trace hack)

有一个Nvidia 的非官方补丁通过破解 vdpau_trace 来修复 Flash Player 在 libvdpau 级别的错误。

请注意,上述由 Stephen Warren 提出的补丁在技术上更为出色,应该予以使用。

非解决办法

以下解决方案仅能部分起作用,或者可能存在一些注意事项。

在 YouTube 上启用 HTML5

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

降级至 Flash Player 11.1

已知漏洞FP 11.1 中的问题已在 11.2 中修复。如果你想冒险,你应该知道你会遇到什么。

如果你仍然想降级,请尝试仍然维护的 Flash Player 10.3 - 你可以Adobe 的档案

切换到不同的 GPU

似乎很少有 Nvidia GPU 不受影响,特别是 Quadro 2000 和 GeForce GT 430。两者都有VDPAU功能集C,但除此之外,大多数功能集 C GPU 也受到影响。如果您拥有上述任何 GPU,请告诉我们在启动板上该错误是否对您有影响。

答案2

更新:请看一下此解决方案进行适当的修复。这里提到的解决方案导致许多尝试过的人崩溃。

这是由于漏洞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 硬件加速。不幸的是,如果没有这个手动配置破解,可能不会有新的 Flash 版本来解决这个问题,因为引入此错误的 Flash 版本也是 Adob​​e 为 Linux 发布的最后一个 Flash 版本。

如果这导致不稳定,请删除之前创建的目录以恢复更改。

sudo rm -r /etc/adobe

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

OverrideGPUValidation=true

使用 sudo gedit /etc/adobe/mms.cfg 编辑该行。

答案3

修复(解决方法)

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

  • 谷歌浏览器
  • 火狐

这两个 Flash 插件都会导致 Flash 视频出现蓝色覆盖,因此请删除。

  • Adobe - flash插件
  • Flashplugin - 安装程序

解决方案(不如 Adob​​e Flash 插件那么实用,但可以工作)

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

可能的修复方法 1

已移除:

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

已安装:

adobe-flashplugin 重新启动了浏览器,它对我来说起作用了。

可能的修复 2

已安装:

  • libvdpau1

闪光灯设置

  • 禁用 Flash 中的硬件加速。

打开您的浏览器并导航到 Flash 视频(youtube、abobe flash 网站等)右键单击、设置并禁用硬件加速。

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

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

OBS:如果问题仍然存在,请重启机器。

答案4

对于 YouTube 来说,我的快速解决方法是加入他们的HTML5 测试版

它确实起了作用...而且据我所见,似乎只有 YouTube 受到了这个老漏洞再次出现的影响...

实际上最好开始使用 HTML5。你必须记住闪光在 Linux 方面,它正在走向衰落。那么我们所有人都将不得不使用谷歌浏览器仅此而已 :(

相关内容