この文書では、RICOH Live Streaming に搭載された「適応的送信モード機能」について、メリットと使い方を含めてご紹介しています。
「適応的送信モード機能」は、多様な状況においても快適なビジュアルコミュニケーションを継続的に提供することを目的とした「DMC(Dynamic Media 制御)機能」の一部です。
本機能ではユーザーの利用環境におけるネットワーク状況に応じて、ユーザーが手動調整することなく、適宜自動で映像送信パラメータ(解像度、フレームレート)を調整します。
調整モードはユーザーの用途や状況に応じて、複数のモードから選択可能です。
この調整により、ネットワーク状況が変化してもユーザーの目的に応じた映像配信を自動で維持でき、映像遅延や通話切断などが起きにくくなります。
例えば、屋外で移動しながら THETA 配信するといったネットワーク状況の大きな変動が想定される場面で活躍する機能です。
※現在は Android SDK (Theta のみ) に対応しています。
本機能により以下のことができます。
「DMC(Dynamic Media 制御)機能」が、ユーザー利用環境のネットワーク状況を把握し、常時利用可能な送信ビットレートを推定・調整します。「適応的送信モード機能」はこの推定した送信ビットレートに応じて、解像度やフレームレートの設定を適宜自動で変更します。この設定は推定した送信ビットレートにより数段階のテーブルに分かれており、適切な解像度とフレームレートの組み合わせが選択されます。解像度は 2K か 4K 、フレームレートは 1fps ~ 30fps の範囲で設定されます。
「適応的送信モード機能」有効時には、都度推定した送信ビットレートを元に自動的に内部ターゲット設定が決定されます。また、決定されたターゲット設定まで段階的に変更されます。
RICOH Live Streaming Client SDK にて、適応的送信モードを 4 つご用意しています。
| モード名 | 説明 |
|---|---|
| NONE | Client SDK 独 自の自動制御なし(libwebrtc によるメディア制御のみ行う) |
| BALANCED | 解像度/フレームレートの優先度を RICOH Live Streaming に任せる |
| BEST_RESOLUTION | Client SDK により可能な限り 4K 解像度を優先するメディア制御を行う |
| BEST_FRAMERATE | Client SDK により可能な限りフレームレートを優先するメディア制御を行う |
いずれのモードでも libwebrtc によるメディア制御は行われますが、NONE 以外のモードでは、RICOH Live Streaming Client SDK 独自のメディア制御が行われます。
本機能を有効にするには適応的送信モードを NONE 以外に設定します。
具体的方法について、以下に記載します。
モードの変更はアプリケーション側で以下 Client SDK API を呼び出してください。 API の詳細については、Client SDK API 外部仕様をご参照ください。
changeAdaptiveSendingMode(適応的送信モードを設定する)setAdaptiveSendingCapturer(適応的送信用の Capturer を設定する)※ 本機能を有効にする(モードを NONE 以外に設定する)場合、事前に setAdaptiveSendingCapturer() を用いた capturer 設定が必要です。
※ 本機能の有効時(モード をNONE 以外に設定時)には、 changeVideoSendBitrate() はエラーになります。
以下は、BALANCED モード設定時の実装例です。
mClient?.setAdaptiveSendingCapturer(capturer)
mClient?.changeAdaptiveSendingMode(AdaptiveSendingOption.Builder(AdaptiveSendingMode.BALANCED).build())本機能を有効にした場合、解像度やフレームレートは自動的に適切な設定に調整されます。そのため、changeVideoSendFramerate()などによる手動での設定は必要ありません。手動で設定した場合、その設定は本機能の自動制御により上書きされますのでご注意ください。
本文書では「適応的送信モード機能」について、メリットと有効化方法を含めてご紹介しました。この機能を活用して、より快適に RICOH Live Streaming を利用できるようになれば幸いです。
この情報は役に立ちましたか?