サイマルキャスト機能

警告

サイマルキャスト機能はプレビュー版のため正式版では仕様が変更される可能性があります

概要

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

注意

SDK 対応状況

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

  • JavaScript SDK

    • 対応済みです

  • iOS SDK

    • 非対応です

    • 現時点では動作確認が取れておりません

    • 対応要望は GitHub Issues へお願いします

  • Android SDK

    • 非対応です

    • 現時点では動作確認が取れておりません

    • 対応要望は GitHub Issues へお願いします

配信ブラウザの対応状況

Firefox は配信に対応していません

配信側は Chrome と Safari と Edge (Chromium ベース) の最新バージョンに対応しております。

視聴ブラウザの対応状況

視聴側は Chrome と Safari 、Firefox と Edge (Chromium ベース) の最新バージョンに対応しております。

映像コーデック

映像コーデックは Chrome と Safari と Firefox と Edge (Chromium ベース) の最新バージョンで VP8 と H.264 が利用可能です。

非対応機能

  • マルチストリームには対応していません

  • RTP 転送機能には対応しておりません

  • 録画機能には対応していません

  • RTP 拡張には最低限しか対応しておりません

  • RTX 機能には対応しておりません

  • ULPFEC 機能には対応しておりません

a=rid / a=simulcast ベースへの対応状況

詳細はサポートまでお問い合わせください

現時点では対応しておりませんが、今後対応していく予定です。

配信側の利用方法

シグナリング開始時に指定が可能です。

シグナリング開始時

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

画質の種類

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

指定解像度

指定ビットレート

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" 時に "video": {"simulcast": true} または "video": {"simulcast": {"quality": "low"}} を指定することで、有効になります。 low の部分は middle または high が指定可能です。 映像コーデックは VP8 または H264 を選択してください。

視聴側の画質変更 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 側で画質を切り替えてみてください。