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

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

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

動画割り当てリクエスト

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

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

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

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

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

会議の参加者数が SSRC の数を超える場合、Meet はストリームを時間とともに置き換えて、最も関連性の高い参加者に一致させます。

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

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

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

考慮事項

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

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

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

  • 正確な解像度を一致させることが常に可能とは限りません。

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