我以前主要研究语音,语音中常用的RTCP包主要有SR/RR/SDES/BYE/APP/XR,主要由RFC 3611和RFC 3550定义。
而视频中常用的RTCP包比语音要多很多,语音的RTCP主要用于状态传递,统计数据。而视频中的RTCP更多赋予了控制功能,比如关键帧请求,码率控制等等。
本文不介绍语音中的RTCP,只介绍视频中的RTCP包。
第一类:关键帧请求
主要包括SLI/PLI/FIR,作用是在关键帧丢失无法解码时,请求发送方重新生成并发送一个关键帧。
这本质是一种重传,但是跟传输层的重传的区别是,它重传是最新生成的帧。
PLI 是Picture Loss Indication,SLI 是Slice Loss Indication。
发送方接收到接收方反馈的PLI或SLI需要重新让编码器生成关键帧并发送给接收端。
FIR 是Full Intra Request,这里面Intra的含义可能很多人不知道。
Intra的含义是图像内编码,不需要其他图像信息即可解码;