概览
本文简单的介绍了rtp中的h264的svc相关信息
h264的svc相关格式信息
从RTP Payload Format for H.264 Video可以看见264在rtp的传输过程中,在rtp头后面有一个NALU头,其包含了F,NRI,type相关信息
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
在RFC6190中, 其对这个nalu头进行了扩展, 当type为14和20的时候,这个nalu附带了3个byte的额外信息, 如下所示:
+---------------+---------------+---------------+
|0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R|I| PRID |N| DID | QID | TID |U|D|O| RR|
+---------------+---------------+---------------+
简单的介绍一下各个位:
R: 保留位, 但这个位现在多用来表示svc是否开启的标志了(在RFC6190还未看到,但在wireshark 解包看到的说明如此)
I: IDR帧位, 1为IDR帧
PRID: priority_id, 标志当前nalu单元的优先级
N: no_inter_layer_pred_flag, 是否启用层间预测
DID: 空域层ID
QID: 质量层ID
TID: 时域层ID
U: 1表示层间预测的时候只用到base层
D: 1表示其它NALU的DID的大于当前的,当前的NALU不参与其它的解码
O: 对解码输出有影响的一个位
RR: 保留位
比较重要的是R, DID, QID, TID,