QuickTime文件格式解析

QuickTime文件格式解析

Peter Lee 2008-06-14

 

一、简介

QuickTimeApple公司开发的一套完整的多媒体平台架构,可以用来进行多种媒体的创建,生产,和分发,并为这一过程提供端到端的支持:包括媒体的实时捕捉,以编程的方式合成媒体,导入和导出现有的媒体,还有编辑和制作,压缩,分发,以及用户回放等多个环节。QuickTime文件格式是QuickTime整个架构体系中的一环,非常基础和重要的一环。QuickTime的多媒体架构应用于Mac OSWindows系统上,而QuickTime文件格式是平台无关的,可以应用于各类系统。常见的采用QuickTime文件格式的扩展名有:mov, qt, mp4, m4v, m4a, m4p, m4b等。

 

二、原子

原子是QuickTime用来构建等级数据结构的基本容器。新创建的QuickTime原子就象树的根。随后的每个原子都包含在其中并且包含数据和其它原子。如果一个QuickTime原子包含其它原子,就被叫做父原子,包含在其中的原子就叫做叶原子。

1、简单原子

原子包含一个原子头,原子头后面是原子数据。原子头包含原子的尺寸和类型字段,用于表示原子的字节尺寸和类型信息;它还可能包含一个扩展的尺寸字段,该字段以64位整数的形式给出了一个大原子的尺寸。原子结构如图1所示。

1 原子结构图

 

2QT原子

原子的特点是:简单、抽象。QuickTime文件格式中的所有数据及信息都可以用原子和原子之间的嵌套关系来表达。然而,基本原子的缺点是,当应用程序遇到未知的原子类型(atom type)时,将无法确认该原子是否有下一级的子原子,此种情况下,应用程序即使对子原子类型是已知的,也无法进行解析。

QT原子是一种增强了的数据结构,它提供了一种更加通用的存储格式,并且消除了一些在使用简单原子时会出现的不明确的地方。QT原子中,根原子atom type项统一设置为“sean”。QT原子在简单原子的基础上,增加了原子ID和子原子数目。QT原子的结构如下图2所示。

2 QT原子结构图

 

3、常见的顶层原子类型

·               'moov'

·               'mdat'

·               'free'

·               'junk'

·               'pnot'

·               'skip'

·               'wide'

·               'pict'

·               'ftyp'

·               'uuid' : Used by Sony's MSNV brand of MP4

 

 

三、文件结构实例解析



 

4 movie atom结构示例

 

四、相关资料

1、文档资料

Quicktime Wiki资料,简洁明了

http://wiki.multimedia.cx/index.php?title=QuickTime_container

 

Quicktime开发者站点的官方网站,英文资料,可以下载到相应的pdf文档。

http://developer.apple.com/documentation/QuickTime/QTFF/QTFFPreface/chapter_1_section_1.html

 

Quicktime开发者站点中文站,可以看到中文的资料,不过更新时间很早了2001-03-01,翻译的也不专业。

http://developer.apple.com.cn/Documentation/QuickTime/QTFF/index.html

 

2、分析工具

MovSpot.exe

http://blog.csdn.net/sunshine1314/archive/2007/09/22/1795739.aspx

 

3、相关源码

Bento4 MP4 Class Library/SDK

http://bento4.sourceforge.net/

 

 

 

展开阅读全文
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值