如何在 Ubuntu 或 Linux Mint 启用 Chromium 硬件加速的视频解码
创始人
2024-03-02 00:12:06
0

你或许已经注意到了,在 Linux 上使用 Google Chrome 或 Chromium 浏览器在 YouTube 或其它类似网站观看高清视频会增加你的 CPU 使用率,如果你用的是笔记本,电脑会发热而且电池会很快用完。这是因为 Chrome/Chromium(Firefox 也是如此,但是 Firefox 的问题没有办法解决)在 Linux 上不支持硬件加速的视频解码。

这篇文章讲述了如何在 Linux 环境安装带有 VA-API 补丁的 Chromium 开发版,它支持 GPU 加速的视频解码,可以显著减少观看在线高清视频时的 CPU 使用率,这篇教程只适用于 Intel 和 Nvidia 的显卡,我没有 ATI/AMD 的显卡可以试验,也没有使用过这几种显卡。

这是 Chromium 浏览器在 Ubuntu18.04 中,在没有 GPU 加速视频解码的情况下播放一个 1080p 的 YouTube 视频:

这是带有 VA-API 补丁的 Chromium 浏览器在 Ubuntu18.04 中,在带有 GPU 加速视频解码的情况下播放同样的 1080p 的 YouTube 视频:

注意截图中的 CPU 使用率。两张截图都是在我老旧而依然强大的桌面计算机上捕捉的。在我的笔记本电脑上,没有硬件加速的 Chromium 带来更高的 CPU 使用率。

“只需 VA-API 即可在 Linux 启用 VAVDA、VAVEA 和 VAJDA” 这个补丁在一年多以前就提交给了 Chromium,但是它还没有合并。

Chrome 有一个选项可以覆盖软件渲染列表(#ignore-gpu-blacklist),但是这个选项不能启用硬件加速的视频解码。启用这个选项以后,你或许会在访问 chrome://gpu 时发现这些信息:“Video Decode: Hardware accelerated “,然而这个并不意味着真的可以工作。在 YouTube 打开一个高清视频并用诸如 htop 的工具查看 CPU 使用率(这是我在以上截图中用来查看 CPU 使用率的)。因为 GPU 视频解码没有真的被启用,你应该看到较高的 CPU 使用率。下面有一个部分是关于检查你是否真的在使用硬件加速的视频解码的。

文中使用的 Chromium 浏览器 Ubuntu 版启用 VA-API 的补丁在这个地址可以获得

在 Ubuntu 和 Linux Mint 安装和使用带有 VA-API 支持的 Chromium 浏览器

每个人都该知道 Chromium 开发版本没有理想中那么稳定。所以你可能发现 bug,它可能会发生崩溃等情况。它现在可能正常运行,但是谁知道几次更新以后会发生什么。

还有,如果你想启用 Widevine 支持(这样你才能观看 Netflix 视频和 YouTube 付费视频),Chromium dev 分支 PPA 要求你执行一些额外步骤。 如果你想要一些功能,比如同步,也是如此(需要注册 API 密钥还要在你的系统上设置好)。执行这些任务的说明在 Chromium 开发版本的 PPA 中有详细解释。

对于 Nvidia 显卡,vdpau 视频驱动程序需要更新以便显示 vaQuerySurfaceAttributes。所以 Nvidia 需要使用打过补丁的 vdpau-va-driver。值得庆幸的是,Chromium-dev PPA 提供了这个打过补丁的包。

带有 VA-API 补丁的 Chromium 也可用于其它 Linux 发行版,在第三方仓库,比如说 Arch Linux(对于 Nvidia 你需要这个补丁过的 libva-vdpau-driver)。如果你不使用 Ubuntu 或 Linux Mint,你得自己找那些包。

1、安装带有 VA-API 补丁的 Chromium

有一个带 VA-API 补丁的 Chromium Beta PPA,但是它缺少适用于 Ubuntu 18.04 的 vdpau-video。如果你需要,你可以使用这个 Beta PPA,而不是我在下面的步骤中使用 Dev PPA,不过如果你使用 Nvidia 显卡,你需要从这个 Dev PPA 中下载安装 vdpau-va-driver,并确认 Ubuntu/Linux Mint 不更新这个包(有点复杂,如果你准备根据下面步骤使用 Dev PPA 的话,不需要手动做这些)。

你可以添加 Chromium 开发分支 PPA,并在 Ubuntu 或 Linux Mint(及其它基于 Ubuntu 的发行版,如 elementary,以及 Ubuntu 或 Linux Mint 的风味版,如 Xubuntu、Kubuntu、Ubuntu MATE、Linux Mint MATE 等等)上安装最新的 Chromium 浏览器开发版:

sudo add-apt-repository ppa:saiarcot895/chromium-dev
sudo apt-get update
sudo apt install chromium-browser

2、安装 VA-API 驱动

对于 Intel 的显卡,你需要安装 i965-va-driver 这个包(它可能早就安装好了)

sudo apt install i965-va-driver

对于 Nvidia 的显卡(在开源的 Nouveau 驱动和闭源的 Nvidia 驱动上,它应该都有效), 安装 vdpau-va-driver

sudo apt install vdpau-va-driver

3、在 Chromium 启用硬件加速视频选项

复制这串地址,粘贴进 Chromium 的 URL 栏: chrome://flags/#enable-accelerated-video (或者在 chrome://flags 搜索 Hardware-accelerated video )并启用它,然后重启 Chromium 浏览器。

在默认的 Google Chrome / Chromium 版本,这个选项不可用,但是你可以在启用了 VP-API 的 Chromium 版本启用它。

4、安装 h264ify Chrome 扩展

YouTube(可能还有其它一些网址也是如此)默认使用 VP8 或 VP9 编码解码器,许多 GPU 不支持这种编码解码器的硬件解码。h264ify 会强制 YouTube 使用大多数 GPU 都支持的 H.264 而不是 VP8/VP9。

这个扩展还能阻塞 60fps 的视频,对低性能机器有用。

你可以在视频上右键点击,并且选择 Stats for nerds 以查看 Youtube 视频所使用额编码解码器,如果启用了 h264ify 扩展,你可以看到编码解码器是 avc / mp4a。如果没有启用,编码解码器应该是 vp09 / opus。

如何检查 Chromium 是否在使用 GPU 视频解码

在 YouTube 打开一个视频,然后,在 Chromium 打开一个新的标签页并将以下地址输入 URL 栏:chrome://media-internals

chrome://media-internals 标签页中,点击视频的 URL(为了展开它), 往下滚动查看 Player Properties 的下面,你应该可以找到 video_decoder 属性。如果video_decoder 的值是 GpuVideoDecoder ,这说明当前在另一个标签页播放的 YouTube 视频正在使用硬件加速的的视频解码。

如果它显示的是 FFmpegVideoDecoderVpxVideoDecoder ,说明加速视频解码无效或者你忘记安装或禁用了 h264ify 这个 Chrome 扩展。

如果无效,你可以通过在命令行运行 chromium-browser ,通过查看是否有 VA-API 相关的错误显示出来以调试。你也可以运行 vainfo(在 Ubuntu 或 Linux Mint 上安装:sudo apt install vainfo)和 vdpauinfo (对于 Nvidia,在 Ubuntu 或 Linux Mint 上安装:sudo apt install vdpauinfo)并且查看是否有显示任何错误。


via: https://www.linuxuprising.com/2018/08/how-to-enable-hardware-accelerated.html

作者:Logix 选题:lujun9972 译者:GraveAccent 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

快手抄百度昆仑芯作业,可灵...
文 | 竞合人工智能 最近资本市场最有意思的一个传闻,就是快手要...
2026-05-17 16:13:06
快手为何计划分拆可灵AI?
文|投资时间网 李路 当漫剧百强榜中AI仿真人短剧的占比从7%激...
2026-05-14 17:38:53
AI+Python数据分析...
教学大纲 01 课程性质和目的 数据分析与可视化为数据科学与大数据...
2026-05-06 20:23:25
力压Seedance 2....
快科技4月9日消息,本周,一个名为HappyHorse-1.0的神...
2026-04-09 15:16:53
AI魔改——当技术狂欢触碰...
一场为期1个月的专项治理,浇灭了“AI魔改”视频肆意蔓延的野火。国...
2026-04-08 19:24:48

热门资讯

为什么计量 IT 的生产力如此... 在某些行业里,人们可以根据一些测量标准判定一个人的生产力。比如,如果你是一个零件制造商,可以通过一个...
硬核观察 #885 苹果 AR... 苹果 AR 眼镜被无限期推迟据报道,由于技术上的挑战,苹果公司已经无限期推迟了其轻型增强现实(AR)...
值得收藏的 27 个机器学习的... 机器学习 ( Machine Learning ) 有很多方面,当我开始研究学习它时,我发现了各种各...
PHP最佳实践(译) 简介PHP是一门复杂的语言,经过多年折腾,使其不同版本之间高度不一致,有时还有些bug。 每个版本都...
8个有趣的Linux提示与技巧... 我们时不时给你带来关于Linux的提示与技巧。和这个系列保持一致,这里有8个我们从读者收到最有趣的提...
8 个提升你的隐私防护的开源密... 使用一些顶级开源密码管理器,确保你的登录凭证安全无虞。密码管理器是一项非常有用的实用程序。在你想寻找...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
KDE4.11 Beta1 正...   KDE 项目工作组刚刚发布了 KDE Software Compilation 4.11 Bet...