《新一代视频压缩编码标准H.264》

  • 《新一代视频压缩编码标准H.264》

     

    1. NALU: 网络抽象单元

     

    VCL  video coding layer       视频编码层

    NAL  network abstraction layer  网络提取层

    VCL:核心算法引擎,块,宏块及片的语法级别的定义

     

    我们平时的每帧数据就是一个NAL单元(sps pps除外)

     

    00 00 00 01分割之后的下一个字节就是NALU类型,有些以00 00 01分隔

     

     

     

    举例:

    00 00 00 01 67  SPS

    00 00 00 01 68  PPS

    00 00 00 01 65  I帧

     

     

     

    SPS PPS可以在发帧数据之前只发一次,也可以每帧的头部都带sps pps,还可以只在I帧头部加sps pps。(一般sps pps只发一次即可, 每帧都发也没必要)

     

     在实际的H264数据帧中,往往帧前面带有00 00 00 01 00 00 01分隔符,一般来说编码器编出的首帧数据为PPS与SPS,接着为I帧

     

     

     

    1. 帧slice:

    硬件编码,一般每一帧都只有一个slice

    如果软件编码可以多线程编码:这样的话一个帧可能分成几个slice

    (这样解码端也可以多线程解码,提升编解码速度)

    注意: 每个slice都包含NALU头

     

    1. MP4的h264和h264的区别

    <<MP4的H264与H264区别.docx>>

    MP4的h264:

    ffmpeg读取mp4中的h264数据,并不能直接得到NALU, 其前4个字节表示的是nalu的长度,从第五个直接开始才是nalu的数据,所以直接将前4个字节替换为0x00 0x00 0x00 0x01即可得到标准的nalu数据。

     

    对于mp4的h264:

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值