サイマルキャスト機能¶
概要¶
サイマルキャストは複数画質の映像を同時に配信する仕組みです。
サイマルキャストの詳細については Sora の サイマルキャスト機能 <https://sora-doc.shiguredo.jp/SIMULCAST> をご確認ください。
サイマルキャスト機能を利用する¶
サイマルキャスト機能を利用するには SoraMediaOption.enableSimulcast() を実行します。
サイマルキャストで 受信する映像の画質 を指定する rid は SimulcastRid
で指定します。
サイマルキャストが利用可能な映像コーデック¶
Android SDK は Sora で利用可能な全てのコーデックでサイマルキャストが利用可能です。
VP8
VP9
AV1
H264
H265
送受信を指定¶
val capturer = CameraCapturerFactory.create(this)
val option = SoraMediaOption().apply {
// 映像、音声の送受信の設定を行います
// 音声の送受信をおこなっているためマルチストリーム機能が自動的に有効になります
enableVideoUpstream(capturer!!, egl.eglBaseContext)
enableAudioUpstream()
enableVideoDownstream()
enableAudioDownstream()
// サイマルキャスト機能を有効にします
enableSimulcast()
// 受信する画質 (rid) を指定することが可能です
// enableSimulcast(SimulcastRid.R0)
// 映像コーデックを指定します
videoCodec = SoraVideoOption.Codec.VP8
// 3 段階の画質に対応するためにビットレートを高めに指定します
videoBitrate = 5000
}
// Sora との接続後、カメラ起動時に解像度とフレームレートを指定します
// 3 段階の画質に対応するためにカメラの解像度を高めに指定します
capturer?.startCapture(1920, 1080, 30)
送信のみを指定¶
val capturer = CameraCapturerFactory.create(this)
val option = SoraMediaOption().apply {
// 映像、音声の送受信の設定を行います
// 音声の送受信をおこなっているためマルチストリーム機能が自動的に有効になります
enableVideoUpstream(capturer!!, egl.eglBaseContext)
enableAudioUpstream()
// 明示的にマルチストリーム機能を有効にします
enableMultistream()
// サイマルキャスト機能を有効にします
enableSimulcast()
// 配信する映像コーデックを指定します
videoCodec = SoraVideoOption.Codec.VP8
// 3 段階の画質に対応するためにビットレートを高めに指定します
videoBitrate = 5000
}
// Sora との接続後、カメラ起動時に解像度とフレームレートを指定します
// 3 段階の画質に対応するためにカメラの解像度を高めに指定します
capturer?.startCapture(1920, 1080, 30)