如何在 Ubuntu 或 Linux Mint 啟用 Chromium 硬體加速的視頻解碼 | Linux 中國

2021-02-07 Linux中國

你或許已經注意到了,在 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」 這個補丁[1]在一年多以前就提交給了 Chromium,但是它還沒有合併。

Chrome 有一個選項可以覆蓋軟體渲染列表(#ignore-gpu-blacklist),但是這個選項不能啟用硬體加速的視頻解碼。啟用這個選項以後,你或許會在訪問 chrome://gpu 時發現這些信息:「Video Decode: Hardware accelerated 「,然而這個並不意味著真的可以工作。在 YouTube 打開一個高清視頻並用諸如 htop 的工具查看 CPU 使用率(這是我在以上截圖中用來查看 CPU 使用率的)。因為 GPU 視頻解碼沒有真的被啟用,你應該看到較高的 CPU 使用率。下面有一個部分是關於檢查你是否真的在使用硬體加速的視頻解碼的。

文中使用的 Chromium 瀏覽器 Ubuntu 版啟用 VA-API 的補丁在這個地址[2]可以獲得

在 Ubuntu 和 Linux Mint 安裝和使用帶有 VA-API 支持的 Chromium 瀏覽器

每個人都該知道 Chromium 開發版本沒有理想中那麼穩定。所以你可能發現 bug,它可能會發生崩潰等情況。它現在可能正常運行,但是誰知道幾次更新以後會發生什麼。

還有,如果你想啟用 Widevine 支持(這樣你才能觀看 Netflix 視頻和 YouTube 付費視頻),Chromium dev 分支 PPA 要求你執行一些額外步驟。 如果你想要一些功能,比如同步,也是如此(需要註冊 API 密鑰還要在你的系統上設置好)。執行這些任務的說明在 Chromium 開發版本的 PPA[3] 中有詳細解釋。

對於 Nvidia 顯卡,vdpau 視頻驅動程序需要更新以便顯示 vaQuerySurfaceAttributes。所以 Nvidia 需要使用打過補丁的 vdpau-va-driver。值得慶幸的是,Chromium-dev PPA 提供了這個打過補丁的包。

帶有 VA-API 補丁的 Chromium 也可用於其它 Linux 發行版,在第三方倉庫,比如說 Arch Linux[4](對於 Nvidia 你需要這個[5]補丁過的 libva-vdpau-driver)。如果你不使用 Ubuntu 或 Linux Mint,你得自己找那些包。

1、安裝帶有 VA-API 補丁的 Chromium

有一個帶 VA-API 補丁的 Chromium Beta PPA,但是它缺少適用於 Ubuntu 18.04 的 vdpau-video。如果你需要,你可以使用這個 Beta PPA[6],而不是我在下面的步驟中使用 Dev PPA[7],不過如果你使用 Nvidia 顯卡,你需要從這個 Dev PPA 中下載安裝 vdpau-va-driver,並確認 Ubuntu/Linux Mint 不更新這個包(有點複雜,如果你準備根據下面步驟使用 Dev PPA 的話,不需要手動做這些)。

你可以添加 Chromium 開發分支 PPA[3],並在 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[8] 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[10] 選題:lujun9972 譯者:GraveAccent 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關焦點

  • 如何在 Ubuntu 和 Linux Mint 上啟用桌面共享
    在這篇文章中,我將向你展示如何在 Ubuntu 和 Linux Mint 中啟用桌面共享,並展示一些重要的安全特性。在 Ubuntu 和 Linux Mint 上啟用桌面共享1、在 Ubuntu Dash 或 Linux Mint 菜單中,像下面的截圖這樣搜索 desktop sharing,搜索到以後,打開它。
  • 如何在 Ubuntu/Linux Mint 中安裝最新 Linux內核
    Ubuntu / Linux Mint 中安裝 Linux Kernel 5.14經過幾周的開發,Linus Torvalds已經發布了Linux Kernel 5.14,並提供了新的特性、改進和更好的硬體支持。
  • Linux Mint vs Ubuntu:你應該如何選擇?
    如果你在Linux Mint和Ubuntu之間如何選擇感到困惑,那麼你來對地方了!Mint和Ubuntu是初學者中最受歡迎的兩種Linux發行版。
  • 安裝Linux Mint 17後要做的20件事
    萬一下載失敗,你可以使用下面的命令重新進行安裝。$ sudo dpkg-reconfigure pepperflashplugin-nonfree5. 安裝多媒體解碼受限的額外包可以幫你安裝大多數基本的解碼,可以讓你播放像mp3這樣的格式。它也會幫你安裝微軟字體。
  • 在 Linux Mint 安裝 Linux Kernel 4.12(穩定版)
    在某個硬體設備不正常工作時,可以嘗試執行升級,新的內核可能會解決此問題。 但同樣的,非必須地更新一個新的內核也可能導致不必要的回滾,例如,無網絡連接, 沒有聲音,甚至是無法正常啟動系統,所以安裝一個新的內核,請正確認識風險。最簡單的安裝任意內核方法 - 在Linux Mint 使用 UKUU[2]。
  • 如何在 Ubuntu 14.04 和 Linux Mint 17 中安裝 Kodi14(XBMC)
    有些人可能還不了解Kodi,它是一個媒體中心軟體,支持所有平臺,如Windows、Linux、 Mac, Android等。此軟體擁有全屏的媒體中心,可以管理所有音樂和視頻,不單支持本地文件還支持網絡播放,如Tube、Netflix、 Hulu, Amazon Prime和其他流媒體服務商。
  • 在 Ubuntu 和 Linux Mint 上安裝 Terminator 0.98
    TERMINATOR 0.98 的更改和新特性添加了一個布局啟動器,允許在不用布局之間簡單切換(用 Alt + L 打開一個新的布局切換器);添加了一個新的手冊(使用 F1 打開);保存的時候,布局現在會記住:最大化和全屏狀態窗口標題激活的標籤激活的終端每個終端的工作目錄
  • 如何在Ubuntu/Linux Mint中安裝最新Linux 5.2.5內核
    以下是如何在Ubuntu,Linux Mint中安裝它。或者,您可以通過終端命令(Ctrl + Alt + T)下載並安裝內核二進位文件:wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.2.5/linux-headers-5.2.5-050205_5.2.5-050205.201907310632_all.debwget -c https://kernel.ubuntu.com/
  • Linux Mint vs Ubuntu:你應該選擇哪個發行版?
    這意味著,如果你能搞清楚如何安裝其中一個發行版,就知道如何安裝另一個。安裝過程並不完全相同,但大同小異。這倒不是說Ubuntu和Linux Mint支持同樣的硬體。如果是Ubuntu,你可以任由安全啟動處於被啟用的狀態。大多數發行版默認情況下使用其中一種標準的Linux桌面界面。Ubuntu和Linux Mint都開發了各自的桌面界面Ubuntu使用Unity界面。這是一種只對Ubuntu來說很常見的基於Gnome的桌面環境。全局菜單和通知區佔據頂部的一個面板,應用程式駐留在屏幕一側的停靠欄上。
  • 藉助 Evolution Linux 的幫助來輕鬆安裝 Arch Linux
    不過,國外有大神為 Arch Linux 的安裝進行了優化,提供了更方便的安裝方式,這就是 Evolution Linux 項目,其官網是: http://www.evolutionlinux.com/ 。
  • Linux Mint 和 Fedora:應該使用哪一個?
    系統要求 & 硬體兼容性在選擇任何 Linux 發行版之前,你都應該看一下它的系統要求,並檢查硬體兼容性。在這方面,Linux Mint 和 Fedora 都需要至少 2GB 的內存、20GB 的磁碟空間,以及 1024 x 768 解析度的顯示器來獲得入門級的體驗。
  • Wowza 技術:在Linux系統(Ubuntu和SUSE)下,如何使用Intel Quick Sync 加速編碼?
    在Linux系統下的 Wowza Transcoder 增加了對Intel Quick Sync Video的支持,由此可以充分利用Intel核心處理器來實現硬體加速視頻編碼
  • uCareSystem:Ubuntu/Linux Mint 的一體化系統更新和維護工具
    debian stable ReleaseHit:4 https://deb.nodesource.com/node_6.x yakkety InReleaseHit:5 https://repo.skype.com/deb stable InReleaseHit:6 http://in.archive.ubuntu.com/ubuntu yakkety InRelease
  • 如何在 Ubuntu 20.04 中安裝 Linux Mint 的批量重命名工具
    linuxmi@linuxmi:~/www.linuxmi.com$ wget http://packages.linuxmint.com/pool/main/b/bulky/bulky_1.7_all.deb從上面的按鈕下載 .deb 包,然後雙擊通過 Ubuntu-install 安裝。
  • 如何在 Ubuntu 18.04 伺服器上安裝和配置 KVM | Linux 中國
    第一步:確認您的硬體是否支持虛擬化執行 egrep 命令以驗證您的伺服器的硬體是否支持虛擬化,linuxtechi@kvm-ubuntu18-04:~$ egrep -c '(vmx|svm)' /proc/cpuinfo1如果輸出結果大於 0,就意味著您的硬體支持虛擬化。
  • 簡捷安裝Tor瀏覽器到Ubuntu 14.04和Linux Mint 17中
    Tor項目有它自己的Tor瀏覽器,該瀏覽器基於Firefox並開啟了用戶隱私保護配置,並通過捆綁Tor和Vidalia工具進行匿名訪問。。雖然你可以下載Tor瀏覽器並使用源碼安裝,但是我們將介紹一種更為便捷的方式,來將它安裝到Ubuntu 14.04和Linux Mint 17中。
  • 如何在 Ubuntu 18.04 LTS 中獲取 Linux 5.0 內核 | Linux 中國
    你如何升級到這些小數點版本?答案很簡單。只需要像平時一樣更新你的 Ubuntu 系統,這樣你將在最新的小數點版本上了。你可以查看 Ubuntu 版本來了解正在使用的版本。我檢查了一下,因為我用的是 Ubuntu 18.04.3,我以為我的內核會是 5。當我查看 Linux 內核版本時,它仍然是基本內核 4.15。
  • 微軟愛上 Linux:當 PowerShell 來到 Linux 時
    Linux 中使用 PowerShell Core 6.0在這一節中,我們將會簡單介紹下 PowerShell;我們將會看到如何啟動 PowerShell,運行一些基礎命令,操作文件、目錄和進程。set-content tecmint.tex -value "TecMint Linux How Tos Guides"get-content tecmint.tex
  • 在 Ubuntu 和 Linux Mint 中輕鬆安裝 Android Studio | Linux 中國
    Android Studio 可以通過原始碼安裝,但在這篇文章中,我們將看到如何在 Ubuntu 18.04、16.04 和相應的 Linux Mint 變體中安裝 Android Studio。在繼續安裝 Android Studio 之前,請確保你已經在 Ubuntu 中安裝了 Java[2]。
  • 如何在 Ubuntu Linux 16.04 LTS 中使用多個連接加速 apt-get/apt
    我該如何加速在 Ubuntu Linux 16.04 或者 14.04 LTS 上從多個倉庫中下載包的 apt-get 或者 apt 命令?