GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu 20.04 / 18.04以降でFirefoxのハードウェアビデオアクセラレーション(VA-API)を有効にする

このチュートリアルでは、Firefoxでハードウェアビデオアクセラレーション(VA-API)を有効にする方法を示します。これにより、Firefoxはビデオカードを使用してビデオをデコード/エンコードし、電力を節約します。

ハードウェアビデオアクセラレーションは、ビデオをエンコードおよびデコードするグラフィックカードを作成するコンピューターテクノロジであり、CPUの負荷を軽減して電力を節約します。そして、CPUと比較して、GPUは通常仕事でより効率的です。

Ubuntu Linuxでこれを実現するには、次のようないくつかの方法があります。

  • Video Acceleration API(VA-API)–Intelによって開発されたオープンソースAPI。
  • ビデオデコードおよびプレゼンテーションAPIforUnix(VDPAU)–NVIDIAによって開発されたオープンソースAPI。
  • NVENC / NVDEC –NVIDIA独自のAPI。

VA-APIは、Intel、AMD、およびNVIDIA(オープンソースのNouveauドライバーを介して)GPUをサポートします。また、MPVは、利用可能な場合、デフォルトでビデオ再生にva-apiハードウェアアクセラレーションを使用するなど、ソフトウェアによって広くサポートされています。

VDPAU APIはAMDとNVIDIAの両方をサポートしていますが、FirefoxまたはChromiumではサポートされていません。また、NVENC /NVDECはNVIDIAGPUにのみ使用されますが、通常、ハードウェアビデオアクセラレーションにはVA-APIを使用します。

IntelGPUを介したFirefoxポップアップビデオのエンコード/デコード

VA-APIの確認:

注:VA-APIは、上記のように独自のドライバーを介してNVIDIAでは機能しません。 「AdditionalDrivers」ユーティリティを使用してNVIDIA独自のドライバをインストールした場合、これはNVIDIA Prime設定で「Intel(省電力)」モードを選択した場合にのみ機能します。

VA-APIは、Ubuntuですぐに使用できる場合があります。まず、スタートメニューからターミナルを開くことができます([アクティビティ]をクリックしてターミナルを検索します)。

次に、vainfoをインストールします コマンドによるパッケージ化:

sudo apt install vainfo

そしてそれを実行してVA-API情報を確認します:

vainfo

ドライバーとサポートされているプロファイルを出力します。 VAEntrypointVLD この形式のデコードサポートを意味します、VAEntrypointEncSlice エンコーディングサポートを意味します。

コマンドがエラーを出力した場合は、コマンドを使用してドライバーのインストールを試みることができます:

  • NVIDIA nouveauおよびAMDの場合、次のコマンドを実行します:
    sudo apt install mesa-va-drivers
  • Gen 8以降のIntelハードウェアの場合、次のコマンドでインストールします:
    sudo apt install intel-media-va-driver

    また、古いIntelハードウェアの場合は、i965-va-driverをインストールします。 代わりにaptinstallコマンドを使用します。

環境変数を設定することにより、使用するドライバーを選択できます。たとえば、i965ドライバを使用するには、「exportLIBVA_DRIVER_NAME=i965」を設定します。値は、NVIDIAの場合は「nouveau」、AMDGPUの場合は「radeonsi」に設定することもできます。

FirefoxでVA-APIを有効にする:

Firefoxはバージョン80以降VA-APIサポートを追加しましたが、デフォルトでは有効になっていません。次の手順を1つずつ実行することで、手動で有効にできます。

まず、Firefoxを開き、URLバーのabout:configに移動します。 「リスクを受け入れて続行」をクリックします。次に、次のキーを検索し、それらを1つずつ有効または無効にします。

  • media.ffmpeg.vaapi.enabled trueに設定
  • media.ffvpx.enabled falseに設定 。
  • media.rdd-vpx.enabled falseに設定 。
  • media.navigator.mediadatadecoder_vpx_enabled trueに設定 。
  • ページがクラッシュする場合は、security.sandbox.content.levelを設定してみてください 0へ 。

次に、環境変数を設定します(現在のユーザーのみ)。ターミナルを開き、コマンドを実行してプロファイルファイルを編集します:

gedit ~/.profile

ファイルが開いたら、最後に次の行を追加します。

  • (オプション)上記のようにva-apiドライバーを指定します(それに応じてiHDを置き換えます):
    export LIBVA_DRIVER_NAME=iHD

    vainfoの場合、これをスキップできます エラーなしで出力します!

  • Diable RDDサンドボックス:
    export MOZ_DISABLE_RDD_SANDBOX=1
  • Xorgセッションの場合、Ubuntu 18.04 / Ubuntu 20.04のデフォルト:
    export MOZ_X11_EGL=1
  • Waylandセッションの場合、Ubuntu 21.04以降のデフォルト:
    export MOZ_ENABLE_WAYLAND=1

最後に、ログアウトして再度ログインします。Firefoxを開いてビデオを再生し、結果を確認してください。

ハードウェアビデオアクセラレーションが機能しているかどうかを確認します:

ビデオの再生中に、topコマンドを使用して、VA-APIを有効にする前後のCPU使用率を確認できます。 Intel GPUの場合、intel_gpu_top 継続的に監視するコマンド。

ターミナルを開き、コマンドを実行して最初にツールをインストールします:

sudo apt install intel-gpu-tools

次に、コマンドを実行します:

sudo intel_gpu_top

Firefoxでビデオの再生を開始すると、VA-APIが機能し始めると、ビデオバーがビジー(0%以上)になっていることがわかります。

AMD GPUの場合、GPUアクティビティを監視するために使用できる別のコマンドラインツール「radeontop」があります。

YouTubeビデオの場合、ビデオコーデックがハードウェアでサポートされていない場合があります。回避策として、h264ifyまたはenhanced-h264ify拡張機能を試して、YouTubeがVP8/VP9ではなくH.264ビデオをストリーミングするようにします。

それで全部です。お楽しみください!

元の記事


Ubuntu
  1. UbuntuのFirefox「クローン」?

  2. FirefoxはUbuntuでハードウェアアクセラレーションをサポートしていますか?

  3. Raspberry Pi OS (RPi 4) の Chromium でハードウェア アクセラレーションを有効にする方法

  1. Virtualbox 5.1.2 for Ubuntu 14.04.5?

  2. UnityLauncherはUbuntu12.04でFirefoxの汎用アイコンを使用しますか?

  3. Ubuntuのグーグルクロームでwebglを有効にする

  1. Ubuntu18.04でSSHを有効にする方法

  2. Ubuntuに最適なDVDプレーヤー

  3. UbuntuのFirefoxでWebglを有効にする方法