视频编解码 :H264相关参数之NALU简单分析

描述:

NALU(Network Abstract Layer Unit)全称为网络抽象层单元。

一个NALU由:

  1.  NALU头部信息
  2. 原始字节序列负荷(RBSP,Raw Byte Sequence Payload).

组成.

NALU结构单元的主体结构:

一个原始的H.264 NALU单元通常由:

[StartCode] [NALU Header] [NALU Payload]三部分组成.

头部信息分析:

  1. 0x00000001或0x000001是一个nalu的起始标志
  2. 起始标志的后面第一个字节(type)里包含有NALU的类型,type & 0x1F即为该nalu的类型(nal_unit_type), 即字节的低5位: xxx-[4][3][2][1][0]
  • nal_unit_type=7时,NALU为SPS;
  • nal_unit_type=8时,NALU为PPS。
  • nal_unit_type=6时,NALU为SEI。
  • nal_unit_type=5是,NALU为I帧。
  • nal_unit_type=1时,NALU为“非IDR图像的编码条带”,为P或B帧。

功能分为两层

VCL(视频编码层)和NAL(网络提取层):

用图举例说明:

H264有两种封装:

  • 一种是annexb模式,传统模式,有startcode,SPS和PPS是在ES中(占多数)
  • 一种是mp4模式,一般mp4 mkv都是mp4模式,没有startcode,SPS和PPS以及其它信息被封装在container中,每一个frame前面4个字节是这个frame的长度

mp4模式->annexb模式:

借助ffmpeg: h264_mp4toannexb_filter进行转换

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值