🔧(frontend) enable adaptive stream optimizations
Adaptive stream is a key optimization in large room. Enabled adaptive stream to automatically manage the quality of subscribed video tracks, optimizing for bandwidth and CPU usage. When video elements are visible, it adjusts the resolution based on the size of the largest visible element. If no video elements are visible, it temporarily pauses the track until they are visible again. Additionally, introduced support for custom pixel density, which defaults to `2` for high-density screens (devicePixelRatio ≥ 3) or `1` for standard screens. Setting it to `screen` allows the pixel density to match the actual screen's devicePixelRatio, optimizing video clarity on ultra-high-definition displays. This ensures a balance between streaming quality and resource consumption. This might also significantly increase the bandwidth consumed by people streaming on high definition screens. It needs to be battle tested. OpenTalk uses a adaptiveStream equals true, while LiveKit demo app uses 'screen' value. I followed OpenTalk choice, I was scared 'screen' value creates performance issues for user with high resolution screen in poor network conditions.
This commit is contained in:
committed by
aleb_the_flash
parent
0104cabc5e
commit
0eb283b75a
@@ -65,6 +65,7 @@ export const Conference = ({
|
||||
|
||||
const roomOptions = useMemo((): RoomOptions => {
|
||||
return {
|
||||
adaptiveStream: true,
|
||||
publishDefaults: {
|
||||
videoCodec: 'vp9',
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user