码迷,mamicode.com
首页 > 其他好文 > 详细

MP4文件格式分析(附源码)

时间:2017-07-14 16:40:39      阅读:494      评论:0      收藏:0      [点我收藏+]

标签:byte   microsoft   vhd   art   名称   img   后缀名   技术   复杂   

               MP4格式分析                  

  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,3GP,F4V等。

 

  一个mp4文件有可能包含非常多的box(全部大约70多个),在很大程度上增加了解析的复杂性。如果要全部解析必要性不是很大。大部分mp4文件没有那么多的box类型,下图就是一个简化了的,常见的mp4文件结构:

技术分享

下图是节点box详细说明:

技术分享

下面我们将对以上主要box的解析进行详细说明:

1. 一级box

  一级box主要包含ftyp、moov、free、mdat等等。

1.1 ftyp box

 

结构:

字段名称 长度(bytes) 有关描述
boxsize 4 box的长度
boxtype 4 box的类型
major_brand 4  
minor_version 4 版本号
compatible_brands 4*N 本文件遵从的多种协议(ismo,iso2,mp41)

 

 

 

 

   

运行结果:

技术分享

1.2 moov box

结构:

字段名称 长度(bytes) 有关描述
boxsize 4 box的长度
boxtype 4 box的类型

 

 

 

1.3 free box

结构:

字段名称 长度(bytes) 有关描述
boxsize 4 box的长度
boxtype 4 box的类型

 

 

 

1.4 mdat box

结构:

字段名称 长度(bytes) 有关描述
boxsize 4 box的长度
boxtype 4 box的类型
     后面是真实媒体数据

 

 

 

 

运行结果:

技术分享

2. 二级box

  本节所说的二级box皆为moov的子box,主要包含mvhd、trak、udat等等。

1.1 mvhd box

结构:

字段名称 长度(bytes) 有关描述
boxsize 4 box的长度
boxtype 4 box的类型
major_brand 4  
minor_version 4 版本号
compatible_brands 4*N 本文件遵从的多种协议(ismo,iso2,mp41)

 

 

 

 

 

 

 

 

MP4文件格式分析(附源码)

标签:byte   microsoft   vhd   art   名称   img   后缀名   技术   复杂   

原文地址:http://www.cnblogs.com/Kingfans/p/7170478.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!