videocalling
Illustration of サイマルキャスト(Simulcast) in video calling

サイマルキャスト(Simulcast)

技術

同じビデオストリームの複数バージョンを異なる品質で送信する手法。

サイマルキャストとは?

サイマルキャスト(「同時放送」の略)は、WebRTCでクライアントが同じビデオストリームを異なる解像度とビットレートで複数回エンコードして送信する技術です。例えば、クライアントは720p(高品質)、360p(中品質)、180p(低品質)の3つのストリームを同時に送信することがあります。

この技術は多人数ビデオ会議にとって重要で、メディアサーバー(SFU)が各参加者の利用可能な帯域幅とデバイス機能に基づいて最も適切なストリームバージョンを選択的に転送できるようにします。

なぜサイマルキャストが重要なのか

サイマルキャストなしのグループ通話では、1人の参加者の帯域幅が低い場合、送信者が全員に対して品質を下げるか、低帯域幅の人がビデオを見られないことになります。サイマルキャストを使用すると:

  • ユーザーA(高帯域幅)は720pストリームを受信。
  • ユーザーB(低帯域幅)は180pストリームを受信。
  • ユーザーC(モバイルデバイス)はバッテリーとデータを節約するために360pストリームを受信。

全員が接続で処理できる最高の品質を得られ、他の人に影響を与えません。

サイマルキャストとSVCの比較

SVC(スケーラブルビデオコーディング)はサイマルキャストの代替手段です。サイマルキャストが独立したストリームを送信するのに対し、SVCは複数のレイヤー(ベースレイヤーとエンハンスメントレイヤー)を持つ単一のストリームを送信します。SVCは帯域幅効率が高い場合がありますが、サイマルキャストは送信者の計算コストが低く、パケットロスに対してより堅牢であるため、WebRTCでは一般的に好まれます。

WebRTCでの動作

サイマルキャストが有効になると、ブラウザのエンコーダーは通常3つのレイヤー(空間レイヤー)を生成します。SFUは3つすべてを受信します。受信者がビデオトラックをサブスクライブすると、SFUはどのレイヤーを転送するかを決定します。SFUはレイヤー間を即座に切り替えることができます。例えば、ユーザーがビデオを最小化したりネットワークが劣化した場合、SFUは即座に低品質ストリームに切り替えます。