Adaptive Bitrate (Simulcast)
Simulcast enables Adaptive Bitrate (ABR) in video conferencing scenarios. This means 100ms SDKs can upgrade or downgrade video quality for remote tracks based on user preferences or network conditions.
Minimum Requirements
- SDK version 2.5.2 or higher
- Simulcast enabled in room template
100ms SDK Simulcast APIs
You interact with the simulcast feature by setting HMSRemoteVideoTrack
's setLayer
function. By default the layer is set to high i.e HMSLayer.HIGH Let's look at the track interface:
class HMSRemoteVideoTrack { /** * Public api to set layer to [HMSLayer.HIGH], [HMSLayer.LOW], [HMSLayer.MEDIUM] */ fun setLayer(HMSLayer: HMSLayer) /** * Public API to get layers definition */ fun getLayerDefinition() : List<HMSSimulcastLayerDefinition> /** * Public API to get the current selected HMSLayer */ fun getLayer() : HMSLayer } data class HMSSimulcastLayerDefinition( val resolution: HMSVideoResolution, val layer: HMSLayer ) enum class HMSLayer { LOW, MEDIUM, HIGH }
Here getLayerDefinition()
property holds an array of currently available layers for the track and layer
property is the currently selected layer. Within HMSSimulcastLayerDefinition
you get its resolution and the layer name such as high/medium/low.
Disabling Auto Simulcast
You can read more about it here
Have a suggestion? Recommend changes ->