Only 2 out of 3 simulcast layers are available

Hello.
I think that Mediasoup SFU has some issue related to simulcast layers.
The highest layer is not available despite it’s been announced.

From the user perspective it looks like this:
image

This is absolutely fresh version of ‘mediasoup-demo’. I’ve built it today. So no outdated code.
In the code layers are announced as:

// Used for simulcast webcam video.
const WEBCAM_SIMULCAST_ENCODINGS =
[
	{ scaleResolutionDownBy: 4, maxBitrate: 500000 },
	{ scaleResolutionDownBy: 2, maxBitrate: 1000000 },
	{ scaleResolutionDownBy: 1, maxBitrate: 5000000 }
];

So the last layer is dead. It is seen from the outbound bitrate (see WebRTC internals screens below).

I use modern Chrome:
Version 91.0.4472.114 (Official Build) (64-bit)
Tried both Linux and Mac. No luck so far.

I made search on forum and my problem is similar to this one. And I’ve seen the answer (the last part).

I pretty well know about this possibility, but I think that it is not the case here. The network is perfect and CPU is not busy.

On the same machine if i use Janus echo test with unified plan enabled, all 3 layers are alive and I can switch them as expected.
https://janus.conf.meetecho.com/echotest?simulcast2=true

If you need some additional information, please let me know. I am eager to help.

As you can see one of the layers is pretty much dead.

I know that blaming mediasoup is the easiest path but actually it’s the browser who decides how many layers to send depending on video source resolution, CPU usage and uplink capability.

1 Like

For some reason it works as expected if I use online demo
https://v3demo.mediasoup.org