✦エンジニアリング

ハードウェアビデオエンコーダーを比較:NVENC vs AMF vs QuickSync vs Apple VideoToolbox

4つのベンダー。4つの固定機能シリコンのブロック。仕事はひとつ。ピクセルのフレームを、5ミリ秒未満で、数キロバイトのH.265やAV1に変え、それを毎秒60回、1枚も落とさずに行うことです。NVIDIA、AMD、Intel、Appleが、低遅延のストリーミングで実際にどう違うのか、そしてRemioが実行時に、どのように適切なものを選ぶのかを紹介します。

リモートデスクトップでハードウェアエンコーダーが重要な理由

高速なCPUコア1つで、libx264で1080pのフレーム1枚をエンコードしてみてください。最近のAppleのMシリーズやRyzen 7000なら、ultrafastのプリセットで、およそ8〜12ミリ秒、画質を保とうとするものなら、もっとかかります。それなら許容できそうに聞こえますが、予算を思い出してください。60 FPSでは、1フレームあたり16.6ミリ秒です。そこに、キャプチャ、パケット化、ペーサーのキュー、ネットワークへの送出、デコード、描画を加えます。CPUでのエンコードは、遅くするだけではありません。遅延の予算をまるごと食いつぶし、1080p60を超えると、フレームを落とします。

ハードウェアエンコーダーは、同じ仕事に、固定機能のシリコンを専用に割り当てて解決します。NVIDIAは、このブロックをNVENCと呼びます。AMDはAMF(より正確には、AMFが動かすVCNエンジン)と呼びます。IntelはQuickSync(iGPUの中のMedia Engine)と呼びます。AppleはVideoToolbox(これはAPIで、シリコンは、MシリーズとAシリーズのチップにあるMedia Engine)と呼びます。4つとも、理由はひとつです。最近の画面、最近のGPU、最近のユーザーが期待する遅延とフレームレートの目標を、ソフトウェアのエンコードでは満たせないからです。

Remioに特有の事情として、エンコーダーで節約したすべてのミリ秒は、ユーザーが、ペーサー、ネットワーク、レンダラーで取り戻すミリ秒です。私たちの公開している遅延の予算は、LANで約8 msの処理(残りはディスプレイ自身の60 Hzのリフレッシュ周期)を目標にしており、エンコード時間は、最も大きな変数です。エンコーダーの選択と、その設定が、そこから先のすべてを左右します。

4つのベンダーを、ひと目で

それぞれを深く掘り下げる前に、何を比べているのかを理解しておくと役立ちます。これらは互換性のあるライブラリではなく、ダイの上にある物理的なブロックで、それぞれが独自のISA、独自のドライバースタック、独自の癖、そして独自の複数年のロードマップを持っています。対応するコーデック、生み出す画質、達成する遅延、消費電力、そして存在するプラットフォームが異なります。

NVENC — NVIDIAの、8世代にわたる洗練

NVENCは、ほとんどのストリーミングソフトウェアが、基準にして測定するエンコーダーです。ひとつには、NVIDIAに宣伝の予算があるためで、もうひとつには、このシリコンが、この10年、本当に優れていたためです。このブロックは、8つの世代を経ました。

低遅延の用途では、NVENCは、3つの関連するレート制御モードを公開しています。CBRにlow-latencyのチューニングとp1プリセット(最速)が、標準の構成です。出力レートが決まっていて、先読みは1フレーム、Bフレームなし。Remioは、Windowsでhevc_nvencを動かすとき、まさにこれを使います。Ada Lovelaceでの、1080p60 H.265のエンコード時間は、常に1〜3 msです。

歴史的な落とし穴がひとつあります。コンシューマー向けのNVENCは、長年、NVIDIAのドライバーによって、同時エンコードセッションが3つに制限されていました。その制限は、2023年に8に引き上げられ、その後事実上なくなりました。それを警告している古いフォーラムのスレッドを読んでいるなら、その警告はもう当てはまりません。

AMF — ついに追いついた、AMDの挑戦者

AMDのAMF(Advanced Media Framework)はAPIで、その下のエンジンは、2つの異なるアーキテクチャを経てきました。古いVCE(Video Coding Engine)は、2012年のGCN時代のカードに搭載され、エンコーダーの直接比較では、毎回弱点とされてきました。同じビットレートで、NVENCより明らかに画質が悪く、特に動きの多いコンテンツで顕著でした。AMDも、配信コミュニティも、それを知っており、ベンチマークも裏づけていました。

その状況は、Vegaで導入され、続くすべての世代で洗練されたVCN(Video Core Next)で変わりました。

低遅延のストリーミングでは、AMFは、ultralowlatencyの使用プリセット、speedの品質プリセット、cbrのレート制御モードを公開しています。Remioは、hevc_amfで、その3つすべてを使います。ストリーミングのアーキテクチャのノートに記載している、同じ3点のプリセットです。RDNA3での、1080p60 H.265のエンコード時間は、通常2〜4 msです。RDNA2は、約3〜5 msです。古いVCN 1.x時代のカードは、5〜7 msに近くなります。予算の範囲内ではありますが、キーフレームのスパイクに対する余裕は小さくなります。

5年のあいだ、AMDのエンコーダーは、笑い話の種でした。RDNA2がそれを直し、RDNA3がAV1で競争力を持たせました。ストリーミングエンコーダーの二強は、三強になり、それは誰にとっても良いことです。

QuickSync — 目立たない、普及の王者

QuickSyncは、おそらく、すでにお持ちのエンコーダーです。2011年のSandy Bridge以降の、グラフィックスを内蔵するすべてのIntelのCPUに搭載されています。10年以上にわたる、ノートPC、NUC、オフィスのデスクトップに、ハードウェアの映像エンコードが眠っていたのです。ユーザーが、ディスクリートのGPUが必要だと思い込んでいたせいで。そんな必要はありませんでした。

アーキテクチャは、IntelのiGPUの系譜とともに進化してきました。

熱の特性は、QuickSyncの静かな強みです。すでにSoC上にあるiGPUの中にあるため、使うことによる追加のコストは、エンコードのブロックだけです。ディスクリートGPUを起こす必要も、GDDR6のメモリコントローラーを動かす必要もありません。ThinkPadやNUCでは、QuickSyncは、システム全体で約4分の1の電力で、NVENCに匹敵する画質を出します。RemioのWindowsホストでは、QuickSyncは、NVENCとAMFに次ぐ、3番目の選択肢です。劣っているからではなく、ディスクリートのGPUを持つユーザーは、たいてい、iGPUを他の処理のために空けておきたいからです。

VideoToolbox — Appleシリコンの、統合されたMedia Engine

Appleは、NVIDIAのようには、自社のハードウェアエンコーダーにブランド名をつけて売り込みません。APIはVideoToolboxで、シリコンはMedia Engineという、Appleが設計したブロックで、すべてのMシリーズのMacと、A6以降のすべてのiPhone/iPadのSoCに搭載されています。

Media Engineは、SKUによって、搭載数が異なります。

各Media Engineは、H.264、H.265、ProResのエンコードとデコードを、ハードウェアで処理します。ProResのエンコードは、動画編集者にとっての目玉機能で、ほかのコンシューマー向けチップは対応していません。しかしストリーミングで重要なのは、効率の良いH.265 main10エンコードと、驚くほど低いエンコード遅延です。

注目すべき唯一の欠落は、出荷されているどのAppleシリコンにもAV1エンコードがないことです。Mシリーズのチップは、M3以降でAV1をデコードできますが、エンコードはできません。Macからのストリーミングでは、当面、H.265が実用的なデフォルトです。

Appleが本当に勝っているのは、電力効率です。M2 Proで、4K60のH.265を30 Mbpsでエンコードするとき、Media Engine全体の消費電力は、およそ3〜5ワットです。RTX 4070での、同等のNVENCの処理は、システム全体で35ワット近くを消費し、そのほとんどは、エンコーダーのブロックではなく、ディスクリートGPUのアイドル時の下限です。クライアントを待って、24時間365日、電源が入ったままのMac miniのホストにとって、これは、「電気代にほとんど表れない」と「はっきり表れる」の違いです。

並べて比較

4つのエンジンを、同じ軸で並べます。遅延の数値は、1080p60 H.265の超低遅延プリセット、Bフレームなし、1フレームのVBVで、Remioの構成です。画質は、8 MbpsのCBRでの、知覚的な大まかな順位で、絶対的な差は小さいです。

項目 NVENC(Ada) AMF(RDNA3) QuickSync(Arc / Gen12以降) VideoToolbox(M3以降)
H.264ありありありあり
H.265(HEVC)ありありありあり(main10)
AV1エンコードありありありなし
ProResエンコードなしなしなしあり
最大解像度8K H.2658K H.2658K(Arc)、4K(iGPU)8K H.265
1080p H.265での最大FPS~480~360~360~600(M3 Max)
エンコード時間、1080p60 H.2651〜3 ms2〜4 ms2〜4 ms2〜3 ms
消費電力、4K60 H.265システム全体で~35 Wシステム全体で~30 Wシステム全体で~8 W(iGPU)~5 W
画質の順位 @ 8 Mbps CBR同率1位同率2位同率2位同率1位
プラットフォームWindows、LinuxWindows、LinuxWindows、Linux、macOS(Intel Mac)macOS、iOS、iPadOS、tvOS
同時セッション数無制限無制限無制限無制限

率直にまとめると、リモートデスクトップのストリーミングが実際に使う設定(CBR、低遅延、Bフレームなし)では、4つとも、十分な余裕を持って足りています。差別化の要素は、AV1への対応(NVIDIA / AMD / Intelにあり、Appleにはなし)、電力効率(Apple、次にIntelのiGPU、そのほか)、そしてプラットフォームでの提供状況(WindowsのホストでVideoToolboxを、MacでNVENCを選ぶことはできません)です。

Remioが実行時に選ぶもの

Remioは、起動時にホストの能力を調べ、決まった優先順位でエンコーダーを選びます。WindowsホストとMacホストは、同じ選択のロジックに従います。

Windowsホストの場合:

  1. NVENC(hevc_nvenc / h264_nvenc):NVIDIAのGPUがあり、ドライバーが応答すれば、最初に選ばれます。最も広い範囲のハードウェア世代で、一貫して低遅延のエンコーダーであるため、優先されます。
  2. AMF(hevc_amf / h264_amf):VCNを搭載したAMDのディスクリートGPUやAPUがあれば、2番目に選ばれます。usage=ultralowlatency、quality=speed、rc=cbrで設定します。
  3. QuickSync(hevc_qsv / h264_qsv):IntelのiGPUがあれば、3番目に選ばれます。私たちのパイプラインでは機能的に同等ですが、ディスクリートのGPUが使えるなら、iGPUは空けておくほうを優先します。
  4. libx264のCPUフォールバック:ハードウェアエンコーダーがどれも応答しない場合にだけ選ばれます。遅延の予算に収めるため、720p60か1080p30に制限されます。

Appleのホストの場合:VideoToolboxが唯一の選択肢で、私たちが望む唯一のものです。対応するすべてのMac(macOS 15以降)のMedia Engineは、H.265 main10を、そのまま処理します。フォールバックの経路は必要ありません。

コーデックの優先順位は、まずハードウェアH.265、次に万能のフォールバックとしてH.264です。これは、すべてのプラットフォームで、エンドツーエンドです。Remioは、現時点でAV1を使いません(そのためのホストでのエンコード、クライアントでのデコード、コーデックのネゴシエーションが、パイプラインにありません)。技術的にはAV1ができるハードウェアでも、H.265を貫きます。LANでのボトルネックは、ビットレートではなく、エンコードの遅延だからです。

画質と遅延のトレードオフ

どのハードウェアエンコーダーも、同じいくつかのつまみを公開しており、どのつまみも、画質と遅延を、同じ方向に引き換えにします。Remioの構成は、遅延のダイヤルの、最も攻めた端にあります。リモートデスクトップは、定義上、リアルタイムのアプリケーションで、20 msより古いフレームは、理想よりわずかにぼやけたフレームより悪いからです。

このパターンは、4つのベンダーすべてで一貫しています。リアルタイムの低遅延は、制約付きの最適化です。オフラインのエンコードでは、先読みとBフレームが買ってくれる、数パーセントの画質を諦めるかわりに、リアルタイムの操作が求める、予測可能な遅延を手に入れます。出荷されているすべてのストリーミング製品、つまりRemio、Parsec、NVIDIA GeForce NOW、Xbox Cloud Gamingが、同じ方向に、同じ引き換えをしています。

ユーザーであるあなたが、実際に気にすべきこと

最後まで飛ばして読んだ方へ:最近のどのGPUのハードウェアエンコーダーでも、リモートデスクトップには十分です。

リアルタイムの構成での差は、どんな妥当なベンチマークのノイズの下限よりも小さいのです。Pascal世代のGTX 1060のユーザーは、RTX 4090のユーザーと同じRemioの体験を得ます。どちらも、約8 msの処理遅延(残りはディスプレイ自身の60 Hzのリフレッシュ周期)で、120 FPSのパイプラインを飽和させ、どちらも、LANのビットレートでは区別のつかない出力を生みます。

例外を、影響が出る頻度の順に挙げます。

それらの極端なケースを除けば、正しい答えは、いちばんシンプルなものです。どのみち買うGPUを使えばいいのです。最近のすべてのベンダーが、同じ能力、同じ低遅延のプリセット、同じ画質の範囲に収束しています。Remioが実行時に適切なものを選ぶので、考える必要はありません。リモートデスクトップのセッションを開いた、本来の目的、つまりコードを書く、動画を編集する、サーバーを直す、カフェから修正を反映する、といったことに取りかかってください。

それが、固定機能のシリコンの、まさに肝心なところです。ただ動いて、意識しなくなるのです。

✦質問

よくある質問

どのハードウェアエンコーダーが、最も低遅延ですか?
NVENC、AMF、QuickSync、Apple VideoToolboxの4つとも、低遅延モードで、Bフレームを無効にし、1フレームのVBVバッファーに設定すれば、1080p60で、1フレームあたり5ミリ秒未満のエンコード時間を実現できます。実際にいちばん安定しているのは、Mシリーズのシリコン上のApple VideoToolboxと、Ada LovelaceのNVENCで、私たちの測定では、どちらも、1080p60 H.265で、2〜3ミリ秒を常に達成しています。
AV1のハードウェアエンコードは、もう使う価値がありますか?
AV1のハードウェアエンコードは、同じ体感の品質で、H.265に比べておよそ25〜30パーセント、H.264に比べて50パーセントのビットレートの削減をもたらします。制約のあるネットワーク(遅いWi-Fi、モバイルデータ)では、意味があります。LANでは、ボトルネックが帯域ではなくエンコードの遅延なので、実用上の違いはありません。Remioは、現在、エンドツーエンドでハードウェアH.265を、万能のフォールバックとしてH.264を提供しています。AV1は、対応するハードウェアでも、まだパイプラインにありません。
Appleシリコンは、ディスクリートGPUのエンコーダーと、本当に競り合えますか?
はい。しかも、エネルギー効率ではしばしば勝ちます。M2以降のAppleの統合されたMedia Engineは、4K60 H.265を、およそ3〜5ワットでエンコードします。同じ処理を行う、ディスクリートGPUのNVENCエンジンの、10分の1を大きく下回ります。画質は、同じビットレートでNVENCに匹敵し、遅延も同等です。AppleがAV1エンコードにまだ対応していないことが、主な欠点です。
RemioはWindowsで、どのエンコーダーを使いますか?
Remioは、NVENC、AMF、QuickSync、CPUフォールバック(libx264)の順に、自動で検出します。H.265のhevc_amfまたはhevc_nvencを、ultralowlatencyプリセット、Bフレームなし、1フレームのVBVバッファー、8 MbpsのCBRで、LANでは30 Mbpsまで適応させて使うのを優先します。3つのハードウェアの経路すべてに、同じ構成の考え方を適用します。変わるのは、FFmpegのコーデック名と、いくつかのベンダー固有のプリセットの文字列だけです。
Remioが、デフォルトでH.264よりH.265を優先するのはなぜですか?
H.265は、H.264のおよそ半分のビットレートで、同じ体感の品質に達します。これは、キーフレームのスパイクや、リレーされたセッションにとって重要です。ハードウェアでのH.265のエンコードとデコードは、Remioが対象にしている、最近のすべてのApple、Intel、AMD、NVIDIAのチップで、いまや標準です。H.264は、非常に古いハードウェアと、H.265のネゴシエーションに失敗する、少数の接続のための、万能のフォールバックとして残っています。
リモートデスクトップで、どのハードウェアエンコーダーを持っているかは重要ですか?
ほとんどのユーザーにとっては、重要ではありません。この6年に出荷された、あらゆるハードウェアエンコーダー、つまりPascal世代のNVENC、VCN 2.0以降のAMF、Skylake以降のQuickSync、あらゆるAppleシリコンのMacなら、LANでの約8 msの処理(残りはディスプレイ自身の60 Hzのリフレッシュ周期)で、Remioの120 FPSのパイプラインを飽和させます。違いは、周辺にあります。遅いネットワークでのAV1、ノートPCでの消費エネルギー、非常に低いビットレートでの画質です。どのみち買うGPUを選べば、エンコーダーは問題ありません。
Remioアプリのアイコン

仕事は、シリコンに任せよう。

Remioは、NVENC、AMF、QuickSync、VideoToolboxを自動で検出し、お使いのハードウェアにいちばん速い経路を選びます。無料、アカウント不要、LANでの処理は約8 ms。

無料で使えるアカウント不要30秒でペアリング