Unlock next-gen video quality with Daily Adaptive Bitrate, combining ultra-reliable calls and the best visual experience your network can offer — automatically adjusting in real time to your changing needs.
Overview
Video calls must be reliable. With traditional simulcast technology, achieving reliability requires conservative preconfigured settings — which means users may get a sub-par visual experience. Increasing the bitrate improves quality but risks call reliability. The root of the quality-reliability trade-off is how traditional simulcast works: a sender has a predefined number of layers (usually three) with settings statically configured before the call. If a network issue arises, the only options are to reduce frame rate or drop to a lower layer. Example with static simulcast: You configure three layers:| Layer | Max bitrate | Resolution | Max framerate |
|---|---|---|---|
| High | 700 kbps | 640x360 | 30 fps |
| Medium | 200 kbps | 427x240 | 15 fps |
| Low | 100 kbps | 320x180 | 15 fps |
- Send video at 540p @ 30fps (~800 kbps)
- Receive video at 720p @ 30fps (~2 Mbps)
Usage
daily-js and react-native-daily-js
Adaptive Bitrate is enabled by default for alldaily-js and react-native-daily-js clients — this includes both Daily Prebuilt and custom call object apps. No additional configuration is required.
To disable it, set enable_adaptive_simulcast to false on the domain or room.
Minimum supported versions:
daily-js:0.60.0or laterreact-native-daily-js:0.61.0or later
daily-android, daily-ios, and python
Adaptive Bitrate is not enabled by default for native SDK clients. To enable it:- Set
enable_adaptive_simulcasttotrueon the domain or room. - Set
allowAdaptiveLayers: truein your client’ssendSettings. [ Android docs | iOS docs | Python docs ] - Use the VP8 video codec — Adaptive Bitrate is only supported with VP8 on native clients.
daily-android:0.18.0or laterdaily-ios:0.18.0or laterdaily-python:0.18.0or later
Multi-party Adaptive Bitrate
Multi-party Adaptive Bitrate is off by default for all clients. Enable it via theenable_multiparty_adaptive_simulcast domain property or room property.
Caveats
- Daily Adaptive Bitrate works for camera video only.
- In 1:1 calls, when a third participant joins, standard simulcast is automatically enabled. When the call drops back to two participants, Adaptive Bitrate re-enables automatically.
- Works best on Chrome and Safari (desktop and mobile). Firefox users can join, but will send video using 3-layer simulcast.