サイマルキャスト機能

概要

サイマルキャストは複数画質の映像を同時に配信する仕組みです。

サイマルキャストの詳細については 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)
© Copyright 2018-2023, Shiguredo Inc. Created using Sphinx 8.0.2