動的に映像の送信ビットレートを変更して通信量を抑えたい
THETA pluginのサンプルではsetTargetBitrate
を実行して、動的に映像の送信ビットレートを変更することができるようになっています。ネットワークの状況や閲覧者の端末操作の状況などに応じて、アプリケーションの判断で動的にビットレートを変更するといったことが可能です。setTargetBitrate
によって一時的に映像の送信ビットレートを抑えると、通信量料金は実際の通信量に応じて抑えられますが、Room帯域幅予約料金についてはご利用になる範囲での最大値に基づいた料金となります。(Room帯域幅予約設定値は、各拠点の映像/音声/画面共有を最高品質で配信するために、各拠点の送信ビットレートの最大値に合わせた設定が必要です。)
- THETA pluginのサンプルでは、
BITRATES
に送信ビットレートのリストが格納されており、無線ボタンの短押しでsetTargetBitrate
を実行して送信ビットレートを変更するようになっています。
サンプルコードの一部抜粋
private val BITRATES = IteratorUtils.loopingIterator(listOf(
15_000_000, // 15Mbps
10_000_000, // 10Mbps
5_000_000, // 5Mbps
1_000_000, // 1Mbps
0 // Auto
))
setKeyCallback(object : KeyCallback {
override fun onKeyDown(keyCode: Int, keyEvent: KeyEvent) {
if (keyCode == KeyReceiver.KEYCODE_WLAN_ON_OFF) {
val bitrate = BITRATES.next()
mThetaVideoEncoderFactory!!.setTargetBitrate(bitrate)
LOGGER.debug("Target bitrate set to {}", bitrate)
notificationAudioSelf()
}
}
}