译者注:
这是一篇翻译文章,翻译这个资料的目的有两个
- 把资料翻译成中文,因为网上大多都是对于这个文档部分的解释或者截图,并且没有说明来源;
- 通过翻译,加深自己的理解。
我们通常知道的mp4的文件结构就是这样的,还有3GP。
翻译正文:
QuickTime文件格式介绍
QuickTime文件格式(简称QTFF)是为了适应多种需要存储的数字多媒体数据而设计的。QTFF是一种理想的格式,用于在设备,应用和系统间交换多媒体数据,因为它能够用于描述几乎任何多媒体结构。
QTFF是面向对象的,由灵活的对象集合而成,易于解析而且容易扩展。介绍未知的对象能够简单的忽略或者跳过,允许相当大的向前兼容性。
QuickTime本身提供许多高级的方法,你可以用来新建和控制QuickTime文件,而不用要求你去理解真正的文件格式。这些方法用来使开发者不用管底层的操作细节。话虽如此,没有这里介绍的信息,不是所有的QuickTime文件能够被创建。
📌 重要:
QTFF已经被用来作为MPEG-4标准和JPEG-2000标准的基础,由国际标准组织开发。虽然这些文件类型有相似的结构,并且包含很多功能上相同的元素,但他们是不同的文件类型。
⚠️ 警告
不要使用这个规范去解释一个符合不同规格的文件,即使是是类似的。
QuickTime文件格式规范假定您熟悉数字视频和音频的基本概念,以及编程的QuickTime和QuickTime API。注意,这个版本的文件取代《QuickTime文件格式规范》所有以前的版本。
本文档结构
本文以QuickTime atoms的概述开始,然后介绍了QuickTime文件格式的详细结构。这是由一系列使用QuickTime API操纵QuickTime文件的代码示例。最后,在附件中说明一些相关的主题。这些主题包括,元数据的处理时,将文件导入Quicktime、随机访问和QuickTime图像文件格式。
QuickTime文件被综合的描述,而不是如何支持某个特定的计算平台或某个特定的编程语言。因此,文件格式信息以表格的方式呈现,而不是在代码式的数据结构中。同样,字段名称是英文的,而不是用编程语言标签。此外,要尽可能的把数据类型描述得笼统。例如,这本书使用“32位有符号整数”,而不是用“long”来定义一个32位的整数。
QuickTime文件用于存储QuickTime影片,以及其他的数据。如果你正在编写一个解析QuickTime文件的程序,你应该认识到,有可能是非影片数据文件。
QuickTime是一个在视听媒体出现新的实践和发展需求中持续丰富的技术。正因为如此,QuickTime技术的某些元素可能随着时间被移除。为了保持现有的QuickTime文件,包括他们对这些传统组件的足够信息,过时的元素标记在他们的部分在这个版本的QuickTime文件格式规范上注。
QuickTime is a rich technology that continues to evolve as new practices and needs arise in audio/visual media. Because of this, certain elements of QuickTime technology may become deprecated over time. 为了维持这些包含在QuickTime中的旧组件信息的充分性,移除的元素在对应部分的《QuickTime文件格式规范》版本上被标记上注。
证书信息
特定字体
所有的代码列表,保留的单词,和实际的数据结构,常量,字段,参数和程序的名称都显示在code voice中。
黑体字的单词是关键术语或概念,在词汇表中定义的。
规范升级
更多
有关苹果的开发程序和开发人员的技术支持的成员资格的信息,可以去这个网址:Apple Developer
有关注册签名、文件类型和其他技术信息的信息,联系
Apple Developer Technical Support (DTS)
Apple, Inc.
1 Infinite Loop, M/S 303-2T
Cupertino, CA 95014
译者注:
第一次翻译英文文档,纯手工翻译,难免出现错误,欢迎指正!感谢!
资料链接:[英文原文][Introduction to QuickTime File Format Specification]