Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
IEC 14496-14-04(即ISO/IEC 14496-14:2007)是MPEG-4标准体系中专门定义MP4容器格式的关键部分。该标准全称为“信息技术——视听对象的编码——第14部分:MP4文件格式”(Information technology — Coding of audio-visual objects — Part 14: MP4 file format),由ISO/IEC JTC 1/SC 29联合技术委员会制定,并于2007年发布正式版本。加拿大CSA等国家标准机构将其采纳为CAN/CSA-ISO/IEC 14496-14-04,与最新国际版本保持一致。截至2026年,该标准仍是数字媒体领域广泛遵循的容器格式规范。
MP4文件格式基于ISO基础媒体文件格式(ISO/IEC 14496-12),专门为MPEG-4视听内容(视频、音频、字幕、元数据等)提供可扩展、可流式传输的封装方案。其核心特点包括:
.mp4,MIME类型为video/mp4或audio/mp4。MP4文件本质上是一个由一系列Box/Atom组成的结构化对象。每个Box由长度(size)、类型(type,四字符码)和有效载荷(payload)构成。文件顶级必须包含以下核心Box:
| Box类型 | 缩写/全称 | 必选/可选 | 主要功能 |
|---|---|---|---|
ftyp | FileTypeBox | 必选 | 标识文件类型、主品牌(如mp42)、兼容品牌列表及最低版本号 |
moov | MovieBox | 必选 | 容纳所有轨道(trak)信息、元数据、索引数据(stbl)等,是整个文件的“索引” |
mdat | MediaDataBox | 至少一个 | 存储全部媒体样本数据(音频帧、视频帧、字幕文本等) |
moof | MovieFragmentBox | 可选 | 用于碎片化MP4(fMP4),允许分段传输和随机访问,便于流媒体 |
mfra | MovieFragmentRandomAccessBox | 可选 | 与moof配合,提供对碎片化轨道随机接入的索引 |
除了上述顶层Box,moov内部包含trak(轨道)、mdia(媒体容器)、minf(媒体信息)、stbl(样本表)等。标准对这些子Box的结构和字段做了严格规定,例如每个trak必须指明媒体类型(视频/音频/提示/字幕等)和编码格式。编码格式通过stsd(Sample Description Box)中的entry参数定义,如mp4v表示MPEG-4视频,mp4a表示MPEG-4音频。
标准允许使用ftyp中的compatible_brands列表声明与其他格式的兼容性。例如,支持AVC的文件可声明品牌isom、mp42、avc1等。同时,新特性可以通过注册新的Box类型或扩展已有Box的版本来实现,保证了向前兼容。
ftyp应位于文件开头),否则可能导致部分解析器无法识别或异常。此外,moov宜放在文件前部以优化流式加载性能,但标准对位置并未做强制性要求,实践中应谨慎处理。开发人员或工具在生成MP4文件时,需确保完全符合以下要求:
.mp4,否则应改用.m4v、.m4a等由其他规范管理的扩展名;stsd中声明的解码器类型一致,且应当参考相应的编码标准(如ISO/IEC 14496-2或ISO/IEC 14496-10);moof/mdat对序列,并配合mfra提供随机访问能力;meta、ilst等Box嵌入标题、封面、字幕等附加信息,但需注意不同播放器的支持程度。ftyp Box在标准中定义为“必须存在且为文件的第一个Box”,缺失该Box的文件将不被视为有效的MP4文件。解析器在遇到缺失或错误的ftyp时应当拒绝处理,避免安全风险。IEC 14496-14-04并非孤立存在,它与MPEG-4标准家族中的多个部分紧密关联:
esds Box用于存放MPEG-4系统级元数据;avc1等sample entry类型;了解这些参考关系有助于开发者判断在特定编码或应用场景下应当遵循哪一份标准,避免混淆。
esds)以及对OD、BIFS等场景描述的封装支持。本质上,所有MP4文件都是符合ISOBMFF格式的文件,但反之不一定成立。.mp4文件,是否仍然符合该标准?avc1和hev1 etc. 的规定。但现代播放器通常能同时解释14496-14和14496-15,因此只要ftyp品牌包含avc1等,大部分设备都能正常播放。最佳实践是查阅ftyp注册表并使用正确的兼容品牌列表。-info模式、Bento4的mp4dump、以及MediaInfo等。同时建议在多种目标平台上进行实际播放测试,并结合标准规范检查Box顺序、完整性以及是否使用了已注册的四字符码。moov(元数据)与mdat(数据)分离为多个moof+mdat片段,使文件可以由首部的小型moov配合后续片段“流式”播放,适合HTTP动态流(如DASH、HLS)。标准在2007年修订时加入了对碎片化的完整支持,使其成为MP4标准的一部分。