Meet Media API で動画の割り当てを管理する

会議に接続すると、リクエストされた音声がすぐに送信され、利用可能になります。ただし、動画を受信するには、クライアントがまず各動画ストリームのキャンバスを定義する必要があります。

キャンバスは、クライアントが動画ストリームをどのように使用するかを Meet が理解するのに役立ちます。キャンバスでは、解像度(ピクセル単位、例: 1280 × 720)、フレームレート(FPS)を指定し、割り当てプロトコルを選択します。割り当てプロトコルは、参加者の数が SSRC の数よりも多い場合に、Google Meet が動画ストリームを選択する方法を指定します。

動画の割り当てリクエスト

動画を受信するために、クライアントはまず VideoAssignment データチャネルを介して 動画割り当て リクエストを送信し、ネゴシエートされた動画ストリームのキャンバスを定義します。

動画割り当てデータチャネルを介して動画割り当てリクエストを送信します。
図 1. 動画割り当てデータチャネルを介して動画割り当てリクエストを送信します。

Meet がリクエストを受け取ると、次のような要素に基づいて「関連性の高い」参加者の動画の選択が開始されます。

  • 参加者は話していますか?
  • 参加者がプレゼンテーションしているかどうか。
  • 参加者が画面共有を行っているか。

次に、Meet は「最も関連性の高い」参加者を利用可能な動画 SSRC にマッピングし、キャンバス パラメータを可能な限り一致させて動画の送信を開始します。

会議の参加者数が SSRC の数を超えている場合、Meet は関連性の高い参加者に合わせてストリームを徐々に置き換えます。

Meet サーバーはリクエストを受信し、動画ストリームを割り当てます。
図 2. Meet サーバーはリクエストを受信し、動画ストリームを割り当てます。

Meet が動画割り当てリクエストを適用すると、VideoAssignment データチャネル全体にリソース更新が push されます。このアップデートには、SSRC からキャンバスへのマッピングが含まれています。このマッピングを使用して、クライアントは各 SSRC の動画ストリームの解像度と FPS を識別できます。逆に、クライアントは特定の解像度と FPS を探すときに使用する SSRC を認識しています。

動画割り当てデータチャネルを介してリソースの更新を送信します。
図 3. 動画割り当てデータチャネルを介してリソース更新を送信します。

考慮事項

  • SSRC とキャンバスの関連付けは Meet が決定します。クライアントはリクエストでこれを指定しません。

  • Meet は SSRC を決定論的に割り当てません。たとえば、最初の SSRC が「最も関連性の高い」参加者であると想定しないでください。

  • クライアントは、必要な解像度を超える解像度をリクエストしないでください。たとえば、モデルが 480p のみを使用している場合は、1080p の動画をリクエストしないでください。

  • 解像度を完全に一致させることは、必ずしも可能とは限りません。

  • クライアントは、過剰な動画割り当てリクエストを送信しないでください。これらはスロットリングされるか、無視されます。