我已经在谷歌上搜索了几个星期,尝试了所有不同的解决方案,但我既找不到可行的解决方案,也找不到令人满意的答案:为什么 Ubuntu/Linux 上播放 Youtube HTML5 视频会让 CPU 负载过高?因为我成立 相似的 问题,我知道不只有我一个人这样。
我有一块 Nvidia GeForce 660M 和一块 Core i7(8 核)上的 Intel Graphics。
在 Ubuntu 16.04(使用 Firefox 和 Chromium)上观看 1080p 视频时,CPU 负载在几分钟内达到 100%,视频变成幻灯片,使计算机完全无法使用。但使用 VLC 或 Totem 播放这些视频没有任何问题(这就是为什么到目前为止我发现的大多数解决方案都建议使用这种解决方法)。
在 Windows 上(在同一台笔记本电脑上)观看相同的视频与编辑 Word 文件在 CPU 负载方面并没有什么不同。
所以这意味着问题一定与浏览器与 Linux/Ubuntu 的结合有关。
是的,支持 HTML5:
是的,我已经安装了 Nvidia 驱动程序:
以下是chrome://gpu
我得到的信息:
因此,似乎无法使用硬件加速视频解码。我该如何启用它?有可能吗?如果不能:为什么不行?将来会不会有?我是否遗漏了其他配置选项?
现在是 2017 年,能够在一台不错的计算机上观看高质量的搞笑猫咪视频应该是很基本的事情!
答案1
我遇到了类似的问题。htop
在观看 YouTube 视频时,我的 CPU 占用率超过 100% 1080p
。
眼镜:
CPU: 7700k
GPU: Nvidia GTX 1080
Drivers: 384.69
我必须安装这些插件:
sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly
然后进入 Google Chrome 标志页面chrome://flags/
并启用选项:
WebRTC H.264 software video encoder/decoder Mac, Windows, Linux, Chrome OS
重新启动浏览器后,我的 CPU 使用率下降到了 30% 左右。
作为最后的手段,您可以随时Video Hardware Decode
使用命令行来禁用:
google-chrome --disable-accelerated-video-decode
以下是 Google Chrome 所有可能的命令行选项的列表: https://peter.sh/experiments/chromium-command-line-switches/
替代解决方案:
还有一件事让我的 CPU 变得很高。这是 YouTube 上的一个 js 脚本。我不得不在uBlock
插件中阻止它:
红色矩形表示来自某个脚本的请求过多mss_4.js
- 这导致 CPU 峰值。绿色矩形表示该脚本在uBlock
插件内被阻止,因此插件内不再mss_4.js
发出任何请求。
答案2
由于您的系统同时具有 Nvidia 和 Intel GPU,并且您使用的每个浏览器都存在此问题。这肯定是驱动程序的问题,而不是浏览器的问题。尽管 Chrome 不提供视频硬件解码,但这并没有帮助。您应该尝试仅使用在 Linux 上驱动程序更稳定的 Intel GPU。
@Quasdunk 报告说,切换到英特尔 GPU 显著降低了机器的负载,现在可以使用了。
如果你真的想使用 Nvidia GPU,你应该尝试使用此软件升级你的驱动程序苯甲酸。