[H264编解码参数] SEI

本文详细解析了H.264编码中SEI(补充增强信息)单元的RTP包结构及码流内容,介绍了如何通过Wireshark工具进行分析,并解释了SEI单元的具体含义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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的负载

没有完全解析出来,又是不重要的部分.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值