自從裝了 DG2 之後,不斷地嘗試各種軟體的 Encode/ Decode 功能,除了 mpv 之外,最常使用的軟體就是 Web Browser 了。
我的主力 Browser 是 Firefox,次之是用 Brave 來應付 Firefox 不正常的部份。截至該篇文章的軟體版本如下:
- Firefox 111.0.1
- Brave 1.49.128
目前 Browser 都是透過 vaapi 來進行 hardware decode,目前 Firefox 只要是 vaapi 支援的格式,都能順利硬體解碼(h264, VP9, AV1)。
Brave (Chromium like) 目前只支援 h264, VP9,希望未來能補齊。
Firefox 設定
在 URL 上輸入 about:config,確認以下的設定,設定完成後重開 Firefox。
"media.ffmpeg.vaapi.enabled", true;" "media.ffvpx.enabled", false; "media.navigator.mediadatadecoder_vpx_enabled", true;" "media.rdd-vpx.enabled", false; "gfx.webrender.all", true;
重開後,再開啟一個 terminal,並執行 intel_gpu_top,同時 Firefox 瀏覽 youtube,在觀看影片的同時確認一下 intel_gpu_top 的 “VIDEO”那一欄是否有變動。如果會有數字變化,表示您的 Firefox 的 HW Decode 有正常啟動。
而我自已寫了一個 script 來快速設定
#!/bin/bash # #FF_CONF=~/.mozilla/firefox/fr56ktsi.default-release/prefs.js FF_CONF="$1" if [ -z ${FF_CONF} ]; then echo "no config. please specifiy prefs.js path." exit -1 fi echo "user_pref(\"media.ffmpeg.vaapi.enabled\", true);" >> ${FF_CONF} echo "user_pref(\"media.ffvpx.enabled\", false);" >> ${FF_CONF} echo "user_pref(\"media.navigator.mediadatadecoder_vpx_enabled\", true);" >> ${FF_CONF} echo "user_pref(\"media.rdd-vpx.enabled\", false);" >> ${FF_CONF} echo "user_pref(\"gfx.webrender.all\", true);" >> ${FF_CONF}
開啟一個 terminal 後,執行剛剛的 script,目的檔是個人的 firefox profile 目錄下的 prefs.js,使用前記得先關閉 Firefox,設定好後再開啟 Firefox.
Brave (Chromium lik) 設定
首先要確認您的 Browser 版本,因為我在設定 Brave 的時候一直失敗,結果 Brave 有更新後,同樣的設定竟然就成功 HW Decode 了,所以先確認您的版本是否跟我一樣。
這裡我們以指令的方式開啟,在 Terminal 輸入
/usr/bin/brave-browser \ --use-gl=egl \ --ignore-gpu-blocklist \ --enable-features=VaapiVideoDecoder \ --disable-features=UseChromeOSDirectVideoDecoder
開啟 browser 後,在 URL 上輸入 "chrome//gpu",檢視看看是否跟附圖一樣:
再次打開 youtube,開啟影片撥放,確認 intel_gpu_top 的 Video 欄位是否有變化,如果有的話就先恭囍您能正常 decode。
沒有留言:
張貼留言