pst*_*07x 246 flash nvidia vdpau
从 Ubuntu 11.10 更新到 Ubuntu 12.04 后,无论是在浏览器还是播放器中播放,所有视频仍然是蓝色的。同样的问题也出现在 11.10 中。
我曾尝试卸载所有 Flash 并重新安装,但没有任何区别。
出现蓝色 Flash 视频的原因是什么?
Ubuntu 11.10 64 位
Ubuntu 12.04LTS 64 位
jnv*_*jnv 187
这里有一些误导和一些错误的建议,所以让我们总结一下问题是什么,有什么解决方案。
自 12.10 (Quantal) 以来的最新版本 Ubuntu 包含该库的修补版本。如果您仍然遇到蓝色视频问题(不包括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
Run Code Online (Sandbox Code Playgroud)
否则,您可以修改 Flash Player 的库:
cd /usr/lib/flashplugin-installer || cd /usr/lib/adobe-flashplugin/
sudo perl -pi.bak -e 's/libvdpau/lixvdpau/g' libflashplayer.so
Run Code Online (Sandbox Code Playgroud)
在评论之前阅读整篇文章。
Flash Player 自 11.2 版起在大多数平台上使用硬件视频加速。不幸的是,Linux 中的加速不仅不受支持,而且基本上被破坏了。Flash Player 在以下条件下交换视频中的颜色:
libvdpau1
安装了软件包。参见Nvidia 的 Pierre-Loup Griffis 的解释。
这不是 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 并仅对其应用变通方法。可以使用 file.patch 控制补丁/etc/vdpau_wrapper.cfg
。
修补后的 libvdpau 修复了颜色并允许 Flash Player 将 VDPAU 用于硬件覆盖,这仍然提供了一些性能优势。
要使包装器工作,它需要识别 Flash 的使用。因此必须命名 Flash 库,libflashplayer.so
并且必须在 Firefox 中启用插件包装器(在 中about:config
,dom.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
Run Code Online (Sandbox Code Playgroud)
更改应在重新启动后(或可能更早)生效。
(通过Launchpad 上的 Daniel Mario Vega)
libflashplayer.so
在你的系统中找到——对于 Ubuntu,它要么在/usr/lib/adobe-flashplugin/
你adobe-flashplugin
安装/usr/lib/flashplugin-installer/
了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
Run Code Online (Sandbox Code Playgroud)
更改在重新启动浏览器后生效。
这将修改 Flash Player 的二进制文件以搜索不存在的“lixvdpau”库而不是“libvdpau”。因此,它根本不会尝试使用 VDPAU 演示。
该命令会创建二进制文件的 libflashplayer.so.bak 备份,以防您遇到任何问题。
每次有 Flash Player 更新时,您都需要运行此命令,因为您的更改将被覆盖。
使用此解决方法,您可以保持硬件加速,安装 libvdpau1,与修补 libvdpau 相比,它非常容易应用。
从版本 20 开始,Google Chrome 随附支持 PPAPI 的“Pepper”Flash Player 11.3(而不是 Firefox 等人使用的 NPAPI 上的 11.2)。PepperFlash 似乎不受此问题的影响,因为它似乎使用了全硬件加速。
PepperFlash可以与 Chromium 一起使用,但遗憾的是目前没有其他浏览器支持 PPAPI。
最简单且侵入性最小的修复方法是在显示设置中禁用 Flash Player 的硬件加速——右键单击 Flash,选择设置...
然而,这并不容易,因为设置窗口在复合管理器(Compiz,标准 Unity)下没有响应,并且如果浏览器显示滚动条。
要禁用硬件加速,请全屏打开任何视频(例如在 YouTube 上),然后打开“设置...”窗口。或者您可以暂时切换到 Unity 2D 或其他非复合 WM。
更改在刷新后生效。
缺点:即使对于矢量和位图操作,这也会禁用 Flash Player 中的硬件加速。某些 Flash 游戏和电影的性能和/或图形可能更差。
如果您想在 Flash Player 中启用硬件加速,您可以从系统中卸载 libvdpau,这有效地阻止了 Flash Player 使用 VDPAU。
跑:
sudo apt-get remove libvdpau1
Run Code Online (Sandbox Code Playgroud)
缺点:桌面播放器(如 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
Run Code Online (Sandbox Code Playgroud)
这将创建包含EnableLinuxHWVideoDecode=1
内容的 /etc/adobe/mms.cfg 文件。这是实际强制 Flash Player 在 GPU 上解码视频的唯一方法,Adobe 不正式支持它。
要撤消此操作,请运行:
sudo rm /etc/adobe/mms.cfg
Run Code Online (Sandbox Code Playgroud)
删除 mms.cfg 文件。
您可以尝试通过VDPAU_NVIDIA_NO_OVERLAY=1
环境变量进一步提高 Flash Player 的稳定性,请参阅Nvidia 论坛。
(根据Launchpad 上的bowser推荐)
使用FlashVideoReplacer Firefox 插件、Literna Mágica或其他解决方案将 Flash 中的标准播放器替换为嵌入式视频播放器插件(如 Totem – totem-mozilla
– 或 VLC – mozilla-plugin-vlc
)。没有 Flash Player,没问题。
Nvidia有一个非官方补丁,它通过破解 vdpau_trace 在 libvdpau 级别修复了 Flash Player 的错误。
请注意,Stephen Warren 的上述补丁在技术上更胜一筹,应该改用。
以下解决方案只能部分起作用,或者它们可能有一些注意事项。
在http://www.youtube.com/html5 上启用 HTML5 播放器不适用于所有视频;某些 YouTube 视频仅对 HTML5 播放器不可用(例如由于缺乏广告支持)。但是 HTML5 视频很棒,无论如何您都应该使用它。
FP 11.1 中存在已知漏洞,这些漏洞已在 11.2 中修复。如果你想冒险,你应该知道你在做什么。
如果您仍想降级,请尝试仍在维护的 Flash Player 10.3 – 您可以在Adobe 的存档中获取
似乎很少有 Nvidia GPU 不受影响,尤其是 Quadro 2000 和 GeForce GT 430。两者都有VDPAU 功能集 C,但除此之外,大多数功能集 C GPU 也会受到影响。如果您有任何上述 GPU,请在 Launchpad 上告诉我们此错误是否影响您。
mni*_*ess 94
更新:请查看此解决方案以获得正确的修复。此处提到的解决方案导致许多尝试过的人崩溃。
这是由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
Run Code Online (Sandbox Code Playgroud)
这解决了问题,同时仍然具有 VDPAU 硬件加速。不幸的是,如果没有这个手动配置黑客,可能不会有新的 Flash 版本来解决这个问题,因为引入这个错误的 Flash 版本也是 Adobe 为 Linux 发布的最后一个 Flash 版本。
如果这导致您不稳定,请通过删除您之前创建的目录来恢复更改。
sudo rm -r /etc/adobe
Run Code Online (Sandbox Code Playgroud)
或者您可以尝试将 /etc/adobe/mms.cfg 文件减少到
OverrideGPUValidation=true
使用 sudo gedit /etc/adobe/mms.cfg 进行编辑。
pst*_*07x 52
问题: 所有网络浏览器的 Flash 播放器视频都是蓝色的
两个 flash 插件都会导致 flash 视频出现蓝色覆盖,因此请删除。
解决方案(功能不如adobe flash plug in,但可以用)
删除:
安装:
adobe-flashplugin 重新启动浏览器,它对我有用。
安装:
闪光灯设置
打开浏览器并导航到 Flash 视频(youtube、abobe flash 站点等),右键单击,设置并禁用硬件加速。
如果您无法禁用硬件加速,请登录 Unity 2D 环境。
BUG:https : //bugs.launchpad.net/ubuntu/+source/unity/+bug/968489
OBS:在坚持的情况下。重新启动机器。
foh*_*swe 14
好的,这是我解决这个问题的经验(在 Ubuntu 12.04 64 位,nVidia 驱动程序上):
这一直有效,直到重新启动。但是我保留了 adobe-flashplugin,因为我使用的是 64 位(我觉得它效果最好)。
起初我有 nvidia-current-updates,我把它改成了 nvidia-current。这并没有解决它。Synaptic 表示驱动程序版本在撰写本文时相同 (295.33)。
只要我激活了硬件加速选项,这就会起作用(不要与下面的选项混淆!!)。我是从存储库安装 Flash 插件还是从 Adobe 安装测试版都没有关系。然而,在修复蓝色色调时,该插件在与 Flash 对象交互时变得非常不稳定并不断崩溃。
虽然我只在 Youtube 视频上遇到过这个问题,但我不能确定其他网站和视频不会受到影响。根据此处其他人的建议,如果您想在 Youtube.com 上激活或停用 HTML5 视频,请访问 youtube.com/html5。
这是最适合我的方法(但我必须按照本线程中 pst007x 的建议使用 Unity 2D 登录)。淡蓝色消失了,视频稳定了。我担心 CPU 工作负载会增加,但在使用和不使用硬件加速的测试中,我看不到任何变化(为此我使用了来自 Googles 频道的 1080p 视频),它从大约 40% 开始,然后在视频播放时下降到 20%已满载。
小智 9
无论如何,我对 YouTube 的快速解决方法是加入他们的HTML5 beta。
它奏效了......从我所见,似乎只有 YouTube 受到这个老虫子再次抬起它丑陋的脑袋的影响......
实际上最好开始使用 HTML5。你必须记住,当谈到 Linux 时,Flash即将淘汰。然后我们都将不得不使用谷歌浏览器而不是别的:(