Strategy for Unbalanced Bandwidth with Saturated Egress

Hi folks – sadly, a good friend passed away unexpectedly and he had recently deployed MediaSoup… so I have been thrust into WebRTC without any background to try to manage this system and others.

This system is quite busy and is oftentimes saturating 250Mbps egress on the server, which is the limit of the connection so we’re being throttled in whatever way the data center chooses. As a first step, I think it would be a good idea to put my own limits in place on the network connection. My hope is to provoke some rate limiting and congestion control in the sending cameras. (I need to buy some time to add more servers/bandwidth.)

Since it is our egress that is saturated, my belief is that the INGRESS is where I really need to put limits. LESS IN = LESS OUT, right? Basically, simulate a smaller ingress pipe that is proportionally sized to produce the desired egress rate. Or go further and to per stream limits. Is this a reasonable strategy? Or should my focus be on the egress side?

Obviously it would be better to try to be more elegant and explicit in telling the cams what to do, or cascading servers and MediaSoup, but I am hoping this might at least give me some time and have more utility than the limiting my data center is currently doing in whatever way they do.

Thanks in advance for any advice.

First, our most sincere condolences for the loss.

Second, there are many ways you can limit the egress BW in mediasoup. Note that you can know the bitrate for all transports at any time 1, so you can proactively act at any time given the current bitrate.

In order to limit the BW of the egress you can either:

  1. pause certain producers (video producers for example).
  2. pause certain consumers (video consumers for example).
  3. stop forwarding high spatial/temporal layers to consumers (if simulcast or SVC is used)
1 Like