SFU 利用時の API への設定方法

ビットレート等の設定は、大きく以下の 2 つの設定に分かれます

  • Room 帯域幅予約設定
    • AccessToken の RoomSpec に設定
    • Room への初接続時に Room 単位で設定
    • Room 全体でどれだけのデータを同時に送受信する予定があるかを設定
  • 各接続の設定
    • ClientSDK の connect API の option の中にある SendingOption/ReceivingOption で設定
    • Connection 単位で接続開始時に設定
    • 各接続毎に解像度、用途、動作環境に応じて設定
      • Codec 設定
      • メディア受信の要否
      • 送信優先度
      • ビットレート上限

Room 帯域幅予約設定

  • AccessToken の room_spec.bitrate_reservation_mbps に設定
  • 同時に同じ Room に入室する全ての Connection は同じ RoomSpec を指定しなければならない
  • 現バージョンでは接続中は途中変更不可
  • 設定可能な Room 帯域幅予約設定値はRICOH Live Streaming Access Token 外部仕様参照

各接続の設定

  • Connect option の option.sending.video に下記を設定
    • codec : codec 種別
      • iOS Safari, THETA Plugin の接続では h264 を推奨
      • h264 の HW Codec を搭載していない Android 環境の場合は vp8 設定が必須
    • priority: 送信優先度(「通常送信」 or 「高画質送信」)
      • 「Room 帯域幅予約設定」に合わせる必要が生じた際、“normal”の接続から先にビットレートが低下
      • THETA、現場カメラ、画面/資料共有等「重要な映像データを送る接続」は“high”を強く推奨
      • 各参加者のビデオ映像等、映像品質がそれほど重要でないものは”normal”設定を推奨
      • “high”となっている接続だけでも「Room 帯域幅予約」を超過する場合は”high”の品質も低下
  • Connect option の option.sending.video に下記を設定
    • maxBitrateKbps: ビットレート上限
      • 十分に大きい「Room 帯域幅予約設定」の場合でも、この設定値が送信ビットレートの上限

「通常送信」と「高画質送信」の違い

  • 接続時に「通常送信」 or 「高画質送信」を設定することができます
  • 「高画質送信」は「通常送信」より優先してビットレートや帯域幅が割り当てられます
  • スマホや THETA などから高解像度の映像をできるだけ高品質に他拠点へ配信したい場合には「高画質送信」を設定します

優先度の違い

※上記の場合、「高画質送信」の ①② は優先され、固定で送受信される。 「通常送信」の ➂④ は変動し、合計値が 2Mbps で送受信される。