How to enable chrome to send 4 simulcast streams instead of only 3

715 views
Skip to first unread message

Prashant Laheri

unread,
Nov 25, 2020, 3:47:24 AM11/25/20
to discuss-webrtc
Hi Folks,

I am encoding the 4 simulcast streams like below but chrome sends only 3.
How to enable chrome/browser to send 4 simulcast streams without reducing the count to 3?

chrome Debug Logs:

[22568:29187:1124/001230.930248:WARNING:simulcast.cc(242)] Reducing simulcast layer count from 4 to 3
[22568:29187:1124/001230.930348:INFO:video_stream_encoder.cc(724)] ReconfigureEncoder:
Simulcast streams:
0: 160x90 fps: 15 min_kbps: 30 target_kbps: 99 max_kbps: 120 max_fps: 15 max_qp: 56 num_tl: 2 active: true
1: 320x180 fps: 30 min_kbps: 150 target_kbps: 272 max_kbps: 272 max_fps: 30 max_qp: 56 num_tl: 2 active: true
2: 640x360 fps: 30 min_kbps: 600 target_kbps: 640 max_kbps: 640 max_fps: 30 max_qp: 56 num_tl: 2 active: true

From application SDK I am encoding like below:

this.simulcast = new Simulcast({numOfLayers: 4});
...
var videoSender = self.pc.getSenders().find(function(stream){return stream.track.kind === "video";});
var parameters = videoSender.getParameters();
//90p
                            parameters.encodings[0].maxBitrate = browserMediaConfig.profile90p.maxBitrate;
                            parameters.encodings[0].maxFramerate = browserMediaConfig.profile90p.maxFramerate;
                            parameters.encodings[0].scaleResolutionDownBy = browserMediaConfig.profile90p.scaleResolutionDownBy;
                            parameters.encodings[0].scalabilityMode = 'L1T3';

                            //180p
                            parameters.encodings[1].maxBitrate = browserMediaConfig.profile180p.maxBitrate;
                            parameters.encodings[1].maxFramerate = browserMediaConfig.profile180p.maxFramerate;
                            parameters.encodings[1].scaleResolutionDownBy = browserMediaConfig.profile180p.scaleResolutionDownBy;
                            parameters.encodings[1].scalabilityMode = 'L1T3';

                            // 360p
                            parameters.encodings[2].maxBitrate = browserMediaConfig.profile360p.maxBitrate;
                            parameters.encodings[2].maxFramerate = browserMediaConfig.profile360p.maxFramerate;
                            parameters.encodings[2].scaleResolutionDownBy = browserMediaConfig.profile360p.scaleResolutionDownBy;
                            parameters.encodings[2].scalabilityMode = 'L1T3';

                            // 720p
                            parameters.encodings[3].maxBitrate = browserMediaConfig.profile720p.maxBitrate;
                            parameters.encodings[3].maxFramerate = browserMediaConfig.profile720p.maxFramerate;
                            parameters.encodings[3].scalabilityMode = 'L1T3';

Note: We use VP8, so is there any restriction to send only 3 simulcast streams?

Thanks,
Prashant Laheri

Prashant Laheri

unread,
Jan 11, 2021, 2:54:50 AM1/11/21
to discuss-webrtc
Hi Team,

Does anyone have any idea on this limitation of chromium?

Thanks,
Prashant Laheri

Florent Castelli

unread,
Jan 11, 2021, 5:14:38 AM1/11/21
to discuss...@googlegroups.com
This is not supported by Chrome at the moment and the hard limit is 3 simulcast streams.

--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/0816d4d0-2d4f-4660-b9d5-9351d5ccafe2n%40googlegroups.com.

Roman Lakhtadyr

unread,
Jan 13, 2021, 2:56:16 PM1/13/21
to discuss-webrtc
Does Chrome or Chromium support disabling/enabling simulcasting layers on the fly?

Philipp Hancke

unread,
Jan 13, 2021, 3:06:12 PM1/13/21
to discuss...@googlegroups.com
it does, https://webrtchacks.com/suspending-simulcast-streams/ is a pretty good description

--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages