サイマルキャスト

概要

サイマルキャスト (Simulcast) は配信時に一つの RTCPeerConnection から複数の画質の映像を配信する技術です。

注意

SDK 対応状況

この機能ではクライアント側で SDP を書き換える必要があります。 そのため利用する場合はかならず SDK を利用してください。

  • JavaScript SDK
    • 対応済みです
  • iOS SDK
    • 非対応です
    • 現時点では動作確認が取れておりません
  • Android SDK
    • 非対応です
    • 現時点では動作確認が取れておりません

配信ブラウザの対応状況

配信側は Chrome の最新バージョンまたは、Safarit TP 70 以降に対応しております。

視聴ブラウザの対応状況

視聴側は Chrome の最新バージョンと Safari TP 70 以降に対応しております。

映像コーデック

Chrome では VP8 のみ、Safarit TP 70 以降では VP8 と H.264 で動作します。

非対応機能

  • マルチストリームには対応していません
  • RTP 転送機能には対応しておりません
  • 録画機能には対応していません
  • RTP 拡張には最低限しか対応しておりません
  • RTX 機能には対応しておりません
  • ULPFEC 機能には対応しておりません

配信側の利用方法

シグナリング

シグナリングの "type": "connect" 時に "simulcast": true とすることで、有効になります。映像コーデックは VP8 を選択してください。

画質の種類

配信側の解像度とビットレートに依存して、サイマルキャストで配信する画質の数が変わります。

指定解像度 指定ビットレート low middle high
1920x1080 4000kbps 480x270 960x540 1920x1080
1280x720 2500kbps 480x270 640x360 1280x720
960x540 900kbps 320x180 960x540
640x360 500kbps 320x180 640x360
480x270 350kbps 480x270
320x180 150kbps 320x180

上記以外を指定した場合はそのあたりに近い配信画質になると考えてください。

視聴側の利用方法

シグナリング

シグナリングの "type": "connect" 時に "simulcast": true または "simulcast": {"quality": "low"} と指定します。 low の部分は middle または high が指定可能です。映像コーデックは VP8 を選択してください。

視聴側の画質変更 API

詳細は サイマルキャスト API をご確認ください

デモ機能

デモを用意してあります、 デモ機能 を有効にしてご使用ください。

Sora がインストールされているサーバの IP アドレスをここでは仮に 192.0.2.10 としています。

Sora にこの機能のサンプルを用意しています。また、今後は SDK からこの機能を使えるようにする予定です。

Sora を起動した後に http://192.0.2.10:5000/simulcast_pub.html へ接続してみてください。

Chrome では HTTPS が必須なのですか? も合わせて参考にしてください。

その後 http://192.0.2.10:5000/simulcast_sub.html へ接続してみてください。

後は simulcast_sub.html 側で画質を切り替えてみてください。