本文にスキップする
Version: 5.5

グループ通話でピアのビデオ解像度の設定

アプリケーションは、グループビデオ通話でPlanetKitPeerControlstartVideo()を呼び出し、特定のピアからビデオストリームをリクエストできます。ここでは、ビデオストリームをリクエストする際にビデオ解像度を設定する方法について説明します。

対応する通話タイプ対応するSDKバージョン
グループ通話(カンファレンス)すべてのバージョン
Note

PlanetKitPeerControlの使い方について詳しくは、グループビデオ通話のサンプルコードを参照してください。

概要

startVideo()を呼び出す際に、解像度のタイプを設定できます。使用可能な解像度タイプのうち、RECOMMENDEDはPlanetKitが状況に応じて自動で解像度を調整できるようにします。また、解像度のタイプにTHUMBNAILQVGAVGAまたはHDを使用して手動で解像度を設定することもできます。

LINE Planetは、適応型ビットレート機能に対応しています。ビデオの解像度は、ビットレート制御の対象であるため、推奨解像度(RECOMMENDED)または特定の解像度(HD、VGAなど)に設定しても、ネットワークの状況によって低い解像度に調整されたり、回復されたりすることがあります。

通常の場合、ビデオストリーム数が多いほど、CPUとメモリの使用量は増えます。また、解像度が高いほどより多くのネットワーク帯域幅が必要になります。CPUやメモリ、ネットワークを使いすぎると、ユーザーは低品質な通話を体験してしまいます。つまり、不適切な解像度でstartVideo()を呼び出した場合、ビデオ品質だけでなくオーディオ品質も低下する恐れがあります。

最適な品質を維持するために、PlanetKitはピア数に応じて適切な解像度を内部で定義します。ビュースタイルごとの推奨設定は次のとおりです。

  • グリッドビュー:すべてのピアをRECOMMENDEDに設定する
  • フォーカスビュー:特定のピア1つをHDに設定し、残りのピアはRECOMMENDEDに設定する

次のセクションでは、1つ以上のピアに対して解像度がRECOMMENDEDに設定されている場合、PlanetKitが定義する解像度の値を示します。ネットワーク環境によって、解像度が初期設定より一時的に低くなることがあります。

すべてを推奨解像度に設定する

グリッドビューのようなビュースタイルの場合、すべてのピアの解像度をRECOMMENDEDに設定することをお勧めします。この場合、PlanetKitは内部で次のように解像度を決定します。

iOSおよびAndroidmacOSおよびWindows
すべてRECOMMENDED設定ビデオピア1数 1-3:VGA
ビデオピア数 4-8:QVGA
ビデオピア数 9+:THUMB2
ビデオピア数 1-8:VGA
ビデオピア数 9-24:QVGA
ビデオピア数 25+:THUMB
画面共有3すべてTHUMBすべてTHUMB

1 ビデオピアとは、ビデオがリクエストされたピアのことです。ビデオピア数は参加者の総数と異なる場合があります。
2 THUMBは、サムネイルのサイズのことです。
3 画面を共有する際に残りのピアの解像度はサムネイルサイズに変更されます。

推奨解像度と特定の解像度を設定する

フォーカスビューのようなビュースタイルの場合、特定のユーザーに対して高い解像度を設定する必要があります。この場合、高解像度とRECOMMENDEDの組み合わせで構成され、PlanetKitは内部で次のように解像度を決定します。

iOSおよびAndroidmacOSおよびWindows
RECOMMENDED設定とHD設定HDに設定されたピア以外すべてTHUMBHDに設定されたピア以外すべてTHUMB
RECOMMENDED設定と特定の解像度を設定(HD以外)RECOMMENDEDに設定されたピア:
ビデオピア数 1-3:VGA
ビデオピア数 4-8:QVGA
ビデオピア数 9+:THUMB

特定の解像度に設定されたピアは、手動設定に従います。
RECOMMENDEDに設定されたピア:
ビデオピア数 1-8:VGA
ビデオピア数 9-24:QVGA
ビデオピア数 25+:THUMB

特定の解像度に設定されたピアは、手動設定に従います。
画面共有すべてTHUMBすべてTHUMB

特定の解像度を使用する

startVideo()を呼び出す際に、特定の解像度を設定することもできます。

以下は適切なビデオ解像度でstartVideo()を呼び出す例です。ここでは、上表の推奨のように、参加者が最大3人のときはVGAで表示し、4人以上のときはQVGAで表示することにします。

グループ通話ピアビデオ解像度設定シーケンス図

User-01とUser-02がグループ通話に参加してビデオをオンにします。グループ通話に参加する基本的な流れはグループ通話フローを参照してください。

User-03が参加すると、すべての参加者はonPeerListUpdatedイベントを通じて新しい参加者が誰なのかを知ることができます。また、onPeersVideoUpdatedイベントを通じてビデオを使用できる参加者リストも更新します。

イベントを送信する際にUser-03は、現在グループ通話に自分を含めて3人がいて、ビデオストリームも3つあることが分かります。アプリケーション設計により、User-03はVGA解像度で2つのビデオストリームをリクエストする必要があります。User-01とUser-02のためにそれぞれstartVideo()を呼び出します。

同様に、User-01とUser-2もUser-03がビデオをオンにした状態で参加したことが分かります。上図のようにUser-01とUser-02がUser-03のビデオをVGAで表示するためにstartVideo()を呼び出します。

しばらくしてからUser-04が参加します。User-03はグループ通話の参加者数が増えたことが分かったので、QVGAで表示する必要があります。したがって、User-03はUser-01とUser-02の解像度をQVGAに変更するようにstartVideo()を呼び出します。その後、User-04のQVGA解像度ビデオをリクエストするためにstartVideo()を呼び出します。

関連API

グループ通話でピアのビデオ解像度の設定に関連するAPIは、以下のとおりです。

関連ドキュメント