6.FFmpeg学习笔记 - H.264格式解析之封装格式

由于NAL的语法中没有给出长度信息,实际的传输、存储系统需要增加额外的头实现各个NAL单元的定界。
其中,AVI文件和MPEG TS广播流采取的是字节流的语法格式,即在NAL单元之前增加0x00000001或0x000001的同步码。
而对于MP4文件,NAL单元之前没有同步码,却有若干字节的长度码,来表示NAL单元的长度,这个长度码所占用的字节数由MP4文件头给出;此外,从MP4读出来的视频帧不包含PPS和SPS,这些信息位于MP4的文件头中,解析器必须在打开文件的时候就获取它们。

MP4文件中的一个sample由多个NALU组成。大体结构如下:Length1+NALU1+Length2+NALU2+。。。。其中Length表示下一个NALU的长度(不包括Length本身的长度),而NALU的第一个字节是表示该NALU的头部。通过NALU头部的信息可以得到该NALU的类型。每个sample的总长度可以由mp4中的stsz中的条目得到。至于PPS和SPS,存储在mp4的头部moov-trak-mdia-minf-stbl-stsd-avc1-avcC中。
关于Length的长度:Length的长度是1/2/4字节中的一种,且在一个mp4文件中是固定的,存储在mp4的头部moov-trak-mdia-minf-stbl-stsd-avc1-avcC中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值