RTP in WebRTC
RTCP
0. SR/RR, Send Report/Receive Report
1. FIR, Full Intra Request, 申请一个I-Frame, 用于新用户加入的时候, 申请一个I-Frame 作为解码的起点
2. PLI, Picture Loss Indicator, 丢帧提醒, 用于解码遇到错误时候, 给源端的一个Indicator, 普通源端要生成一个I-Frame 来恢复对端的解码
3. SLI, Slice Loss Indicator, Slice 丢失提醒, 解码时遇到Frame 不完整,检测到Slice丢失的时候给源端的一个 Indicator, 发送端需要尝试帮助对端修复这个Lost Slice
4. RPSI, Reference Picture Selection Indicator, 解码失败的时候要求编码器用一个比较早的参考帧作为当前新编码的帧的参考, 如果编码器可以支持的话, 这种方式比重新生成I-Frame更好
5. TSTR, Temporal-Spatial Trade-off Request, 流畅或者清晰度优先选择。 是解码端向编码端的请求。
6. TMMBR, Temporary Maxinum Media Stream Bit Rate Request, 解码端对当前的连接带宽做评估后, 用这个请求要求编码端产生的码率匹配此限制
7. REMB, Remote Estimated Max Bitrate, 跟TMMBR有点相似, 这个也是解码端对当前连接带宽评估后, 对编码端所产生的码率的限制
8. NACK, Negative ACK, 丢包提醒, 编码端可以根据解码端的NACK的信息, 决定是否要执行RTP Retransmission
RTP Head Extension
1. Rapid Synchronisation RTCP的SR也可以提供AV-Sync的基准,不过这个要倚赖SR的发送间隔, 使用RTP Header Extension 可以更加快速的获取AV-Sync的基准
2. Client to Mixer Audio Level
3. Mixer to Client Audio Level
4. Media Stream Indication
5. Coordination of Video Orientation