H264之RTP打包

一、NALU打包不分片格式

    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 2
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 |  V |P|X|   CC   |M|     PT           |           sequence number         |
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 |                                          timestamp                                        |
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 |                                              ssrc                                              |
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 |                        profile               |                   length                    |
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 |                                              ext1                                              |
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 |                                              ext2                                              |
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 |                                              ext3                                              |
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 |                                              ext4                                              |
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 |                                              ext5                                              |
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 | f |nri |nal_type |                                  h264                               |       
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 |                                             h264                                              |
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

解释:

payload type:7bit,表示后续负载类型h264/jpeg/aac等

timestamp:audio/video采样相对时间戳,于video,25帧/s,采样率90000,每隔3600滴答即是下一帧;audio可类比计算

ssrc:一股流的唯一标识;

length:表示接下来有length个4B长度;

ext1 ~ ext5:可添加4B的精确到s的utc时间戳,以及4B的精确到ms的utc时间戳,其他字段可根据业务需求添加;

接下来便是nalu单元,注意rtp打包h264时去掉了0x00000001或0x000001的start code

二、NALU单元分片打包格式

    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 2
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 |  V |P|X|   CC   |M|     PT           |           sequence number         |
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 |                                          timestamp                                        |
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 |                                              ssrc                                              |
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 |                        profile               |                   length                    |
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 |                                              ext1                                              |
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 |                                              ext2                                              |
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 |                                              ext3                                              |
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 |                                              ext4                                              |
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 |                                              ext5                                              |
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 | f |nri |  fu_type |s|e |f |nal_type |                   h264                      |       
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 |                                             h264                                              |
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

与第一种NALU单元不分片情形大致相同,区别在于红色部分4个字段:

s:表示nalu单元的首个分片包;

e:表示nalu单元的尾巴分片包;

f:保留bit位;

nal_type:h264的nalu类型,5/6/7/8等idr帧、sei帧、sps、pps等;

FU Identifier:f(1b) + nri(2b) + fu_type(5b)

FU_Header:s(1b) + e(1b) + f(1b) + nal_type(5b)

其中,fu_type可为28/29等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值