I am trying the simulcast feature and I was wondering how it was controlled
So on the producer (client) side, I set an array of
RTCRtpEncodingParameters in the
encodings property of the
But then is there anything else that should be done?
I see that there is the preferedLayer option on the consumer side but it’s optional and will take the highest by default, which is fine.
But then how will the consumers “know” when to swap to swap layers? Is it based on the
maxOutgoingBitrate of the transport? Is it based on the available bitrate?
Or should/can I manually decide, on the consumer in which conditions (or when) to change layer?
Preferred layers in the consumer will set maximum layers the consumer should receive. Then mediasoup will decide which layers will be sent to the endpoint based on estimated bandwidth (it will try to honor preferred layers if there is enough bandwidth for them, assuming that the producer is generating those layers).
Thanks for the clarification,
so there is nothing more to do that declaring the layers on the producer options except if I want to set a preferred layer, and it should just work out of the box? That sounds great.
Then mediasoup will decide which layers will be sent to the endpoint based on estimated bandwidth (it will try to honor preferred layers if there is enough bandwidth for them
So if I set a maximum outgoing bitrate on the sending RTC transport on the server, all the consumers on that transport will adapt to respect that bitrate cap?
Yes, as the documentation of that method says.