THETA 利用環境のネットワーク状況に応じて、映像送信パラメータを適宜自動で調整する(適応的送信モード機能)

はじめに

この文書では、RICOH Live Streaming に搭載された「適応的送信モード機能」について、メリットと使い方を含めてご紹介しています。

「適応的送信モード機能」の概要とメリット

「適応的送信モード機能」は、多様な状況においても快適なビジュアルコミュニケーションを継続的に提供することを目的とした「DMC(Dynamic Media 制御)機能」の一部です。

本機能ではユーザーの利用環境におけるネットワーク状況に応じて、ユーザーが手動調整することなく、適宜自動で映像送信パラメータ(解像度、フレームレート)を調整します。
調整モードはユーザーの用途や状況に応じて、複数のモードから選択可能です。
この調整により、ネットワーク状況が変化してもユーザーの目的に応じた映像配信を自動で維持でき、映像遅延や通話切断などが起きにくくなります。 例えば、屋外で移動しながら THETA 配信するといったネットワーク状況の大きな変動が想定される場面で活躍する機能です。
※現在は Android SDK (Theta のみ) に対応しています。

本機能により以下のことができます。

  • 手動での設定変更方法が分からない、もしくは、そもそも設定の存在を知らないというユーザーでも、利用中のネットワーク状況に応じた適切な設定で利用できます。
  • 利用中にネットワーク状況が変動した場合でも、適切な設定を維持できます。
  • 解像度やフレームレートのどちらを優先するかなど、ユーザーの目的に合わせてモード選択できます。

「適応的送信モード機能」の仕様詳細

「DMC(Dynamic Media 制御)機能」が、ユーザー利用環境のネットワーク状況を把握し、常時利用可能な送信ビットレートを推定・調整します。「適応的送信モード機能」はこの推定した送信ビットレートに応じて、解像度やフレームレートの設定を適宜自動で変更します。この設定は推定した送信ビットレートにより数段階のテーブルに分かれており、適切な解像度とフレームレートの組み合わせが選択されます。解像度は 2K か 4K 、フレームレートは 1fps ~ 30fps の範囲で設定されます。

動的動作

「適応的送信モード機能」有効時には、都度推定した送信ビットレートを元に自動的に内部ターゲット設定が決定されます。また、決定されたターゲット設定まで段階的に変更されます。

選択できるモードの種類

RICOH Live Streaming Client SDK にて、適応的送信モードを 4 つご用意しています。

モード名説明
NONEClient SDK 独自の自動制御なし(libwebrtc によるメディア制御のみ行う)
BALANCED解像度/フレームレートの優先度を RICOH Live Streaming に任せる
BEST_RESOLUTIONClient SDK により可能な限り 4K 解像度を優先するメディア制御を行う
BEST_FRAMERATEClient 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 を利用できるようになれば幸いです。

この情報は役に立ちましたか?