RTCP 反馈的详细格式
RTCP 反馈消息是 RTP/AVPF 配置文件(RFC 4585)定义的核心扩展机制,它让接收端能够及时地向发送端报告丢包、带宽估计、关键帧请求等信息,从而实现实时通信中的拥塞控制和错误恢复。一、整体结构概览所有的 RTCP 反馈消息都遵循通用 RTCP 包头 + 反馈控制信息的结构。c// RTCP 反馈消息通用包头格式 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |V=2|P| FMT | PT = 205/206 | length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of packet sender | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of media source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : Feedback Control Information (FCI) : : :1.1 关键字段详解字段长度含义V (Version)2 bitsRTCP 版本号,固定为 2P (Padding)1 bit填充位,为 1 表示包尾有填充字节FMT (Feedback Message Type)5 bits反馈消息的子类型,具体含义取决于 PT 值PT (Payload Type)8 bits包类型。205 = 传输层反馈(RTPFB),206 = 负载特定反馈(PSFB)length16 bitsRTCP 包长度(以 32 位字为单位,包含头部,再减 1)SSRC of packet sender32 bits发送此反馈包的参与者的 SSRCSSRC of media source32 bits所反馈的媒体流的 SSRC(某些消息中不使用,设为 0)FCI可变反馈控制信息,内容取决于 FMTPT 的两种类型:PT = 205 (RTPFB):与传输层相关的反馈,如丢包重传、拥塞控制PT = 206 (PSFB):与特定载荷相关的反馈,如关键帧请求二、核心反馈消息类型详解2.1 关键帧请求类当接收端解码失败或加入会议时,需要请求新的关键帧。以下是三种常见的请求机制:消息类型PTFMT用途语义差异PLI (Picture Loss Indication)2061因解码失败请求关键帧因解码失败/丢包导致画面损坏时使用