3

I'm a newbie with RRTCC and I really dont understand how RRTCC adjusts incoming media bitrate. I tried to read Internet Draft of RRTCC but cannot figure it out: https://datatracker.ietf.org/doc/html/draft-alvestrand-rmcat-congestion-03

It calculates the estimated bandwidth based on delay and loss, so what's next? How it can directly control the sending rate to control congestion?

Community
  • 1
  • 1
Tam Hoang
  • 33
  • 1
  • 5

2 Answers2

6

I am one of the authors of the draft. If you are interested in understanding the design criteria you can also take a look at this paper:

G. Carlucci, L. De Cicco, S. Holmer, and S. Mascolo Analysis and Design of the Google Congestion Control for Web Real-time Communication (WebRTC) Proc. ACM Mmsys 2016, Klagenfurt, Austria, May 2016

which is available for download at http://c3lab.poliba.it/images/6/65/Gcc-analysis.pdf.

Luca DC
  • 91
  • 1
  • 2
5

The RTP receiver doesn't directly control the sending rate. It just sends status information to the RTP sender, which is the only one capable of controlling its own sending rate.

draft-alvestrand-rmcat-congestion has been replaced by draft-ietf-rmcat-gcc so I recommend that you use the later one.

In section 2. System model it explains that the RTP receiver should also act as a RTCP sender, in order to send REMB messages to the RTP sender. These messages should be sent by the RTP receiver as soon as it detects any congestion, and then keep sending it at a rate of once per second even if no congestion is happening. Then the RTP sender uses the information in the received message to decide if the transmission bitrate can be raised or should be immediately lowered.

Community
  • 1
  • 1
j1elo
  • 1,029
  • 8
  • 21