SEI
补充增强信息单元 :
SEI 属于 [RTP header] + 单一NAL单元模式 ,所以RTP包结构如下
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|X| CC |M| PT | sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| synchronization source (SSRC) identifier |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| contributing source (CSRC) identifiers |
| .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|F|NRI| type | |
+-+-+-+-+-+-+-+-+ |
| |
| Bytes 2..n of a Single NAL unit |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :...OPTIONAL RTP padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
先看 抓到的 dump
0000 80 60 e2 1f ff 6d 85 0f c6 0a 3f ef 06 05 ff ff .`â.ÿm..Æ.?ï..ÿÿ
0010 ff 14 dc 45 e9 bd e6 d9 48 b7 96 2c d8 20 d9 23 ÿ.ÜE齿ÙH·.,Ø Ù#
0020 ee ef 78 32 36 34 20 2d 20 63 6f 72 65 20 31 34 îïx264 - core 14
0030 32 20 72 32 34 33 31 20 61 63 37 36 34 34 30 20 2 r2431 ac76440
0040 2d 20 48 2e 32 36 34 2f 4d 50 45 47 2d 34 20 41 - H.264/MPEG-4 A
0050 56 43 20 63 6f 64 65 63 20 2d ...
在上面12个byte是 [RTP Header] 对应的码流 和PPS \SPS一样的RTP Header
80 60 e2 1f
ff 6d 85 0f
c6 0a 3f ef
====>转化 二进制
1000 0000 0110 0000 1110 0010 0001 1111 v=2 p=0 x=0 CC=0 M=0 PT=96 SN=57887
1111 1111 0110 1101 1000 0101 0000 1111 timestamp
1100 0110 0000 1010 0011 1111 1110 1111 ssrc
对应wireshark 解析
Real-Time Transport Protocol
10.. .... = Version: RFC 1889 Version (2)
..0. .... = Padding: False
...0 .... = Extension: False
.... 0000 = Contributing source identifiers count: 0
0... .... = Marker: False
Payload type: DynamicRTP-Type-96 (96)
Sequence number: 57887
Timestamp: 4285367567
Synchronization Source identifier: 0xc60a3fef (3322560495)
根据单一NAL单元模式 判断 前1byte 是[NALU Header]
0000 06 05 ff ff ff 14 dc 45 e9 bd e6 d9 48 b7 96 2c ..ÿÿÿ.ÜE齿ÙH·.,
0010 d8 20 d9 23 ee ef 78 32 36 34 20 2d 20 63 6f 72 Ø Ù#îïx264 - cor
0020 65 20 31 34 32 20 72 32 34 33 31 20 61 63 37 36 e 142 r2431 ac76
0030 34 34 30 20 2d 20 48 2e 32 36 34 2f 4d 50 45 47 440 - H.264/MPEG
0040 2d 34 20 41 56 43 20 63 ....
===> 转化 第一个字节06
0000 0110 F=0 NRI=00 说明帧不重要 type=6 说明是SEI
wireshark 解析
NAL unit header or first byte of the payload
0... .... = F bit: No bit errors or other syntax violations
.00. .... = Nal_ref_idc (NRI): 0
...0 0110 = Type: NAL unit - Supplemental enhancement information (SEI) (6)
剩下的就看下H264 NAL Unit Payload NALU的负载
没有完全解析出来,又是不重要的部分.