[筆記] WebRTC VP8 視頻封包的解析
WebRTC媒体流中,从RTP视频流接收到的封包,封包包含RTP header头部以及RTP payload,其中RTP的payload内含是VP8视频内容。将封包刨除RTP header后的VP8内容,其包含两部分:Payload descriptor和Payload data部分。Payload descriptor用来描述每笔收到的RTP封包中的VP8画面资料,descriptor后面就带着VP8的资料。
🔰 底下是 Payload descriptor 的部分
90代表 VP8 第一个header,栏位意义如下
X |
0 |
N |
S |
0 |
PID |
X:1代表后面还有option
S:1代表VP8第一个partition
PID:0~7,第一个为0
80代表option
I |
L |
T |
K |
000 |
I:1代表后面有I行,带着picture ID
CC-B5 代表picture ID,当M=0,ID为7-bit。M=1,ID为15-bit,ID随机产生。
M |
Picture ID |
🔰 底下是 Payload data 的 header 部分
70 - C7 - 00 这三个byte代表意义,如下
Size0
|
H |
Ver |
P |
Size1 |
|||
Size2 |
Size = 0 * 2048 + 0xC7 * 8 + 3 = 0x63B =
1595 后面有1595 bytes
P:0代表key frame,1代表inter frame
H:0代表不显示,1代表显示
9D - 01 - 2A:是 magic number
0x80 0x02:代表宽度Width 0x0280 = 640
0xE0 0x01:代表高度Height 0x01E0 = 480
留言