zhuker
4/21/2020 - 6:32 PM

WebRTC FAQ

WebRTC FAQ

What are RTCP messages useful for, I still have yet to find anything useful for RTCP messages lol?

A: they are super useful! check this out.

you are sending rtp packets with video like so:

[1, 2, 3] , [4, 5], [6] ...

[1,2,3] is an I-frame

now browser receives the following packets:

[2, 3], [4, 5], [6]

obviously it can’t decode first frame, but what’s worse it can’t decode [4,5] and [6] because they are dependent P-frames so browser sends RTCP NACK [1] which means: hey send me packet with sequence number 1 again

you receive the rtcp nack

take 1 from your rtp jitter buffer (a fancy way to say "a short list of packets you already sent") you resend 1 to browser now browser can decode all three frames

But other than NACKs, I wonder what RTCP messages are useful for?

  • PLI - browser sends PLI (picture loss indicator) when it can't decode video for any reason, normally it means you should encode an extra I-frame and send it as soon as possible
  • REMB - browser sends REMB rtcp packet to suggest a new bitrate to sender