グループ通話でピアのビデオ解像度の設定
アプリケーションは、グループビデオ通話でPlanetKitPeerControl
のstartVideo()
を呼び出し、特定のピアからビデオストリームをリクエストできます。ここでは、ビデオストリームをリクエストする際にビデオ解像度を設定する方法について説明します。
対応する通話タイプ | 対応するSDKバージョン |
---|---|
グループ通話(カンファレンス) | すべてのバージョン |
PlanetKitPeerControl
の使い方について詳しくは、グループビデオ通話のサンプルコードを参照してください。
概要
startVideo()
を呼び出す際に、解像度のタイプを設定できます。使用可能な解像度タイプのうち、RECOMMENDED
はPlanetKitが状況に応じて自動で解像度を調整できるようにします。また、解像度のタイプにTHUMBNAIL
、QVGA
、VGA
またはHD
を使用して手動で解像度を設定することもできます。
LINE Planetは、適応型ビットレート機能に対応しています。ビデオの解像度は、ビットレート制御の対象であるため、推奨解像度(RECOMMENDED)または特定の解像度(HD、VGAなど)に設定しても、ネットワークの状況によって低い解像度に調整されたり、回復されたりすることがあります。
推奨解像度を使用する
通常の場合、ビデオストリーム数が多いほど、CPUとメモリの使用量は増えます。また、解像度が高いほどより多くのネットワーク帯域幅が必要になります。CPUやメモリ、ネットワークを使いすぎると、ユーザーは低品質な通話を体験してしまいます。つまり、不適切な解像度でstartVideo()
を呼び出した場合、ビデオ品質だけでなくオーディオ品質も低下する恐れがあります。
最適な品質を維持するために、PlanetKitはピア数に応じて適切な解像度を内部で定義します。ビュースタイルごとの推奨設定は次のとおりです。
- グリッドビュー:すべてのピアを
RECOMMENDED
に設定する - フォーカスビュー:特定のピア1つをHDに設定し、残りのピアは
RECOMMENDED
に設定する
次のセクションでは、1つ以上のピアに対して解像度がRECOMMENDED
に設定されている場合、PlanetKitが定義する解像度の値を示します。ネットワーク環境によって、解像度が初期設定より一時的に低くなることがあります。
すべてを推奨解像度に設定する
グリッドビューのようなビュースタイルの場合、すべてのピアの解像度をRECOMMENDED
に設定することをお勧めします。この場合、PlanetKitは内部で次のように解像度を決定します。
iOSおよびAndroid | macOSおよび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およびAndroid | macOSおよびWindows | |
---|---|---|
RECOMMENDED 設定とHD設定 | HDに設定されたピア以外すべてTHUMB | HDに設定されたピア以外すべて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は、以下のとおりです。