如何在 Ubuntu 或 Linux Mint 启用 Chromium 硬件加速的视频解码
2017-09-12 00:00
716 查看
你或许已经注意到了,在 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 有一个选项可以覆盖软件渲染列表(
文中使用的 Chromium 浏览器 Ubuntu 版启用 VA-API 的补丁在这个地址可以获得
还有,如果你想启用 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,你得自己找那些包。
你可以添加 Chromium 开发分支 PPA,并在 Ubuntu 或 Linux Mint(及其它基于 Ubuntu 的发行版,如 elementary,以及 Ubuntu 或 Linux Mint 的风味版,如 Xubuntu、Kubuntu、Ubuntu MATE、Linux Mint MATE 等等)上安装最新的 Chromium 浏览器开发版:
在默认的 Google Chrome / Chromium 版本,这个选项不可用,但是你可以在启用了 VP-API 的 Chromium 版本启用它。
这个扩展还能阻塞 60fps 的视频,对低性能机器有用。
你可以在视频上右键点击,并且选择
在
如果它显示的是
如果无效,你可以通过在命令行运行
via: https://www.linuxuprising.com/2018/08/how-to-enable-hardware-accelerated.html
作者:Logix 选题:lujun9972 译者:GraveAccent 校对:wxy
这篇文章讲述了如何在 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-devsudo apt-get updatesudo apt install chromium-browser
2、安装 VA-API 驱动
对于 Intel 的显卡,你需要安装i965-va-driver这个包(它可能早就安装好了)
对于 Nvidia 的显卡(在开源的 Nouveau 驱动和闭源的 Nvidia 驱动上,它应该都有效), 安装sudo apt install i965-va-driver
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 视频正在使用硬件加速的的视频解码。
如果它显示的是
FFmpegVideoDecoder或
VpxVideoDecoder,说明加速视频解码无效或者你忘记安装或禁用了 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
相关文章推荐
- 如何在 Ubuntu 或 Linux Mint 启用 Chromium 硬件加速的视频解码
- 如何在 Ubuntu 启用 Radeon 开源驱动的 UVD 硬件解码
- 如何在 Ubuntu 和 Linux Mint 上启用桌面共享
- 如何在 Ubuntu 和 Linux Mint 上启用桌面共享
- 音视频编解码问题:javaCV如何快速进行音频预处理和解复用编解码(基于javaCV-FFMPEG)
- 如何禁用Ubuntu下的图形界面X11。设置成手动启用
- 如何在(Linux mint)ubuntu中安装中文输入法
- 请教:Android正播放视频时的解码输出流如何获取?
- x265探索与研究(三):如何播放*.265格式的视频或解码视频流
- opencv如何对视频进行编解码
- android 解码出来的视频frame数据,是如何一步步的传递到显示端的(使用 GPU offline 合成)
- 如何启用 Ubuntu 中的 root 帐号
- 高版本Windows系统如何安装A卡(启用photoshop cs4的硬件加速)
- 【视频处理工程】8、关于DXVA视频解码硬件加速(1):Decoder如何调用IAMVideoAccelerator接口
- ubuntu中如何启用root用户
- 如何启用Ubuntu的root帐号
- x265探索与研究(三):如何播放*.265格式的视频或解码视频流
- Ubuntu linaro(Lubuntu ARM) (Cubieboard CC-A80) 如何安装新版 Chromium
- 如何在Ubuntu上启用夜灯保护眼睛
- ubuntu 15.04 系统中如何启用、禁用客人会话