H.264流媒体协议格式学习总结

    此文在网上文章的基础上做了个人针对h264在流媒体协议格式的学习总结。

    本文需要读者对H.264流有一定的了解才可以理解2种格式差异。
    
首先要理解的是没有标准的H.264基本流格式。文档中的确包含了一个Annex,特别是描述了一种可能的格式Annex B格式,但是这个并不是一个必须要求的格式。标准文档中指定了视频怎样编码成独立的包,但是这些包是怎样存储和传输的却是开放的。

   关于h264在流媒体协议中的传输格式参考如下链接:

   链接地址:http://blog.csdn.net/romantic_energy/article/details/50508332

 

关键注意点:

1.H264标准文档规定了视频怎么编码成独立的包,但是对包怎样存储和传输却是开放的。

2.NALU格式分为2类,VCL(IDR)non-VCL(SPS,PPS)。一个单独的NALU包不意味着一个完整的帧,一帧数据可以包含多个NALU,把帧切换成NALU较消耗CPU资源,所以把一帧切分为几个NALU包并不常用。

3. 4字节类型的开始码通常只用于标识流中的随机访问点,如SPS PPS AUDIDR,然后其他地方都用3字节类型的开始码以减少数据量。

4.在实时流传输时(直播),一个NALU包一般包含一个完整的帧,每一个IDR帧前面都需要带上SPS,PPS。在libX264编码器中,每次调用X264_encoder_encode输出n个帧,每次输出的都是完整的帧,

5.如果发送的是实时流,不需要对帧进行界定;如果是H264AAC文件,则需要帧界定。H264流的第一帧一定是SPS,第二帧一定是PPS。发送NALU时需要除去帧界定符。

 

参考链接:http://www.codeman.net/2014/01/439.html

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值