GPU 高速化

GPU で、エンコードもデコードも高速に

対応 GPU があれば、動画の変換(エンコード)と再生処理(デコード)をハードウェアで高速化。CPU 負荷を抑え、同時変換や高解像度でもなめらかに配信します。GPU が無くても CPU で動作するので、後から追加しても構いません。

GPU 高速化とは

MumoStream Server は、スマホでそのまま再生できない形式(MKV・HEVC など)を HLS に変換(トランスコード)して配信します。この変換と再生時のデコードは CPU でも動きますが、対応 GPU があればハードウェアにオフロードして大幅に高速化できます。

  • エンコード(変換)とデコード(再生処理)の両方をハードウェアで処理します。
  • CPU 負荷を抑え、同時変換数を増やしても余裕を保てます。省電力にも有利です。
  • GPU が無い・未対応の環境では、自動的に CPU(ソフトウェア)処理で動作します。

CPU vs GPU

エンコード(変換)の相対スループット ― 右ほど高速
CPU(ソフトウェア)1
NVIDIA NVENC9
Intel QSV7
AMD AMF7
Linux VAAPI6

相対値(CPU = 1 を基準とした目安)

デコード(再生処理)の相対スループット ― 右ほど高速
CPU(ソフトウェア)1
NVIDIA NVDEC8
Intel QSV7
AMD6
Linux VAAPI6

相対値(CPU = 1 を基準とした目安)

CPU(ソフトウェア) NVIDIA(NVENC/NVDEC) Intel QSV AMD(AMF) Linux VAAPI

ハードウェアエンコードは高速・省 CPU が利点です。一方、同じビットレートでの画質は、ソフトウェアエンコード(libx264 など)のほうが有利な場合があります。用途に応じて使い分けてください。
グラフは相対的な傾向を示すイメージです。実際の性能は GPU の世代・モデル、コーデック(H.264/HEVC)、解像度、設定、素材により大きく異なります。

対応バックエンド

検出した GPU に応じて、次のハードウェアバックエンドを利用します。H.264/HEVC のハードウェアエンコーダを自動で検出します。

NVIDIA NVENC / NVDECNVIDIA GPU 向け。Windows・Linux。
Intel QuickSync(QSV)Intel GPU(CPU 内蔵グラフィックスを含む)向け。Windows・Linux。
VAAPILinux の Intel/AMD 向け(DRM レンダーノード経由)。
AMD AMFAMD GPU 向け。Windows。

ハードウェアアクセラレーションの有効化

管理画面の「システム」から有効にできます(既定は無効)。

  1. 管理画面の「システム > ハードウェアアクセラレーション」を開きます。
  2. 検出された GPU/バックエンドを確認します。
  3. 有効化し、デバイスを「自動(auto)」または特定のデバイスから選びます。

利用できない状況では自動的にソフトウェア処理へ切り替わるため、設定ミスで再生できなくなる心配はありません。検出結果は約 60 秒キャッシュされます。

注意点

  • 既定は無効です。必要なときに有効化してください。
  • ご利用の環境によっては、ハードウェアアクセラレーションを使用できない場合があります。すべての環境での利用を保証するものではありません。
  • 環境やメディアの種類によっては、有効化しても十分な効果を得られない場合があります。
  • 効果があるのはトランスコード(HLS 変換・ダウンロード変換)です。MP4 などそのまま再生できる素材は、変換せず元から高速に配信されます。
  • 画質を最優先する場合は、同じビットレートではソフトウェアエンコードのほうが有利なことがあります。
  • GPU は後から追加できます。導入後に検出されれば、設定で有効化できます。