スポットライト機能

概要

スポットライト機能は、直近で話をした話者の画質を優先して配信する機能です。

スポットライト機能の詳細は Sora のドキュメント を参照してください。

スポットライト機能を利用する

スポットライト機能を利用するには SoraMediaOption.enableSpotlight() を指定します。 引数でスポットライト機能の設定と、スポットライトで サイマルキャスト機能 を有効にするかどうかを指定します。

スポットライト機能を有効にすると、自動で マルチストリーム機能 が有効になります。

送受信を指定

val capturer = CameraCapturerFactory.create(this)

val mediaOption = SoraMediaOption().apply {
    // 映像と音声を送受信する
    enableVideoUpstream(capturer!!, egl!!.eglBaseContext)
    enableVideoDownstream(egl!!.eglBaseContext)
    enableAudioUpstream()
    enableAudioDownstream()

    // スポットライト機能の設定
    val spotlight = SoraSpotlightOption()

    // 最大アクティブ配信数
    spotlight.spotlightNumber = 3

    // スポットライトがフォーカスされている映像、フォーカスされていない映像の rid (オプション)
    // 映像を受信しない設定も可能
    spotlight.spotlightFocusRid = SoraVideoOption.SpotlightRid.R1
    spotlight.spotlightUnfocusRid = SoraVideoOption.SpotlightRid.NONE

    // スポットライト機能を有効にする
    // マルチストリームが自動で有効になる
    enableSpotlight(spotlight)

    // サイマルキャスト機能を無効化した状態でスポットライト機能を利用する場合は enableSimulcast に false を設定する
    // enableSpotlight(spotlight, false)

    // 映像コーデックを指定します
    videoCodec = SoraVideoOption.Codec.VP8
}

...
// Sora との接続後、カメラ起動時に解像度とフレームレートを指定する
// 解像度: VGA, フレームレート: 30
capturer?.startCapture(640, 480, 30)
© Copyright 2018-2023, Shiguredo Inc. Created using Sphinx 7.2.6