MP4封装格式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhang_yin_liang/article/details/82526375

一、简介

MP4(MPEG-4 Part 14)是一种常见的多媒体容器格式,它是在“ISO/IEC 14496-14”标准文件中定义的,属于MPEG-4的一部分,是“ISO/IEC 14496-12(MPEG-4 Part 12 ISO base media file format)”标准中所定义的媒体格式的一种实现,后者定义了一种通用的媒体文件结构标准。MP4是一种描述较为全面的容器格式,被认为可以在其中嵌入任何形式的数据,各种编码的视频、音频等都不在话下,不过我们常见的大部分的MP4文件存放的AVC(H.264)MPEG-4(Part 2)编码的视频和AAC编码的音频。MP4格式的官方文件后缀名是“.mp4”,还有其他的以mp4为基础进行的扩展或者是缩水版本的格式,包括:M4V,  3GPF4V等。

二、格式学习

1、学习方法

1.1、参考地址

https://www.cnblogs.com/jingzhishen/p/3698570.html

https://blog.csdn.net/lh2016rocky/article/details/52691768

https://blog.csdn.net/u013898698/article/details/77152347

https://segmentfault.com/a/1190000012477812

https://blog.csdn.net/hejjunlin/article/details/73162841

https://blog.csdn.net/shelldon/article/details/54144409

扫描二维码关注公众号,回复: 4111348 查看本文章

1.2、解析工具

mp4info借助该工具可以对mp4的视频数据进行分析,其他

1.Gstreamer

2.libvlc

3.live555

4.ffmpeg

2、理解

主要文件信息组成,mp4文件说白了就是一系列box组成,大box里面有小box。接下来会深入到具体的box里面,来具体分析mp4格式。

2.1、  ftyp(File Type Box)   box,在文件的开始位置,描述的文件的版本、兼容协议等;

2.2、  moov (Movie Box)  box,这个box中不包含具体媒体数据,但包含本文件中所有媒体数据的宏观描述信息,moov box下有mvhd和trak box。有的视频文件该信息会前置就是再ftyp后面,有的在最后面就是在视频文件的最后面。

        >>mvhd中记录了创建时间、修改时间、时间度量标尺、可播放时长等信息

        >>trak中的一系列子box描述了每个媒体轨道的具体信息

2.3、  moof   box,这个box是视频分片的描述信息。并不是MP4文件必须的部分,但在我们常见的可在线播放的MP4格式文件中(例如Silverlight Smooth Streaming中的ismv文件)确是重中之重。

2.4、  mdat   box,实际媒体数据。我们最终解码播放的数据都在这里面。

2.5、  mfra    box,一般在文件末尾,媒体的索引文件,可通过查询直接定位所需时间点的媒体数据。

猜你喜欢

转载自blog.csdn.net/zhang_yin_liang/article/details/82526375