SIP协议之RTP与H264

SIP视频通话或会议中,通常以H264作为视频编码,通过RTP进行传输。这部分应用以RFC3984为标准规范。

rfc3984: RTP Payload Format for H.264 Video

H264中一些概念
SPS: sequence parameter set  序列参数集,包含图像大小、编码模式等参数
PPS: picture parameter set   图像参数集
IDR: Instantaneous Decoding Refresh    I帧,立即刷新,是一幅可以完整显示的画面
GOP:Group of Pictures 画面组,一组GOP就是一组连续的画面。


GOP序列如下:
1. 首先是参数集信息开始如SPS,PPS,SEI(可选)
2. 第一帧是I帧(IDR),解码后立即显示的画面,即首屏画面,
3. 接下来是P帧或B帧

视频通话就是依靠一组一组的GOP画面构成的。两个GOP之间的间隔时间即I帧间隔。


H.264编码分为两层
VCL (Video Coding Layer,视频编码层):视频编码压缩后的数据序列

NAL(NetworkAbstraction Layer,网络提取层):对数据进行打包


使用NAL打包的每一个数据单元,称为NALU( Network Abstraction Layer Unit),NALU头由一个字节表示,如下: 

 +---------------+
 |0|1|2|3|4|5|6|7|
 +-+-+-+-+-+-+-+-+
 |F|NRI| Type |
 +---------------+

F: 禁止位, 正常为0, 如果是1表示错误,解码器需要丢掉该数据


NRI: 参考指示位, 表明是否用来重构参考图像的数据, 值为00的数据不是用来重构参考图像的,可以丢弃。大于00的数据则不可以丢弃


TYPE:类型,如下

0:未规定
1:非IDR图像中不采用数据划分的片段
2:非IDR图像中A类数据划分片段
3:非IDR图像中B类数据划分片段
4:非IDR图像中C类数据划分片段
5:IDR图像的片段
6:补充增强信息 (SEI)
7:序列参数集/SPS
8:图像参数集/PPS
9:分割符
10:序列结束符
11:流结束符
12:填充数据
13 – 23:保留
24 – 31:未规定

H264 三种封包格式:

1. Single NAL unit mode   单NALU模式,  SDP协商参数中packetization-mode=0或者没有该参数,所有的接收者必须支持这个模式


2. Non-interleaved mode   非交替式, SDP协商参数中packetization-mode =1, 单NALU包, STAP-As,FU-As 可以使用这种模式

3. Interleaved mode        交替式, SDP协商参数中packetization-mode =2, STAP-Bs, MTAPs, FU-As, FU-Bs 可以使用这种模式, STAP-As和单NALU包必须不能使用

示例如下(SDP描述):

RTP报文有三种封包格式
1、单一NALU模式
2、组合封包模式(STAP-A, STAP-B, MTAP-A, MTAP-B)
3、FU分片封包模式(分为FU-A和FU-B两种)
RTP头域中M位: 标记一帧数据的结束

RTP承载H264报文如下。

 

关键说明:

  • H264没有固定的RTP负载类型, 一般使用动态类型(96~127),常用数值有96、97、98、99等
  • 接收方收到RTP数据时,一般按照RTP包的序列号顺序重组后送进解码器解码,这里要注意到RTP包序列号是16位,最大值为65535,超过该值会环绕成0, 在排序时要特别注意。序列号也是定位丢包的重要依据
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浪游东戴河

你就是这个世界的唯一

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值