MP4文件格式详解——文件类型ftyp

ISO 14496 - 12 定义了一种封装媒体数据的基础文件格式,mp4、3gp、ismv等我们常见媒体封装格式都是以这种基础文件格式为基础衍生的。

如果从全局角度了解基础文件格式,请看我之前的博文《MP4文件格式详解——结构概述》。

本系列文档从MP4文件入手,对文件中重要的box进行解析。

<======================================================================>

本次解析ftyp box

  1. aligned(8) class FileTypeBox extends Box(‘ftyp’)   
  2. {   
  3.     unsigned int(32) major_brand;   
  4.     unsigned int(32) minor_version;   
  5.     unsigned int(32) compatible_brands[];  // to end of the box   
  6. }  
什么是brands?官方是这样描述的:

Each brand is a printable four-character code, registered with ISO, that identifies a precise specification.//在ISO注册的4个字符。

下表来源于网络,列出了几种常见的基于基础文件格式的,媒体封装格式标识。

更多的内容可以查看http://www.ftyps.com/


 BrandExtensionMime Type
MP4mp41, mp42.mp4video/mp4, audio/mp4, application/mp4
3GPPvarious, e.g. 3gp4, 3gp5.3gpvideo/3gpp, audio/3gpp
3GPP23g2a.3g2video/3gpp2, audio/3gpp2
Motion JPEG 2000mjp2.mj2video/mj2
QuickTime"qt".movvideo/quicktime


结合实际文件,下图是MP4文件起始位置存放的数据

length(4字节):0x0000001c:box的长度是28字节;

boxtype(4字节):0x66747970:“ftyp”的ASCII码,box的标识;

major_brand(4字节):0x69736f6d:“isom“的ASCII码;

minor_version(4字节):0x00000200:ismo的版本号;

compatible_brands(12字节):说明本文件遵从(或称兼容)ismo,iso2,mp41三种协议。


ftyp box通常放在文件的开始,通过对该box解析可以让我们的软件(播放器、demux、解析器)知道应该使用哪种协议对这该文件解析,是后续解读文件基础。

ISO/IEC 14496-15标准中定义的AVC文件格式包含了一系列关键组件,以确保视频内容的高效编码和良好兼容性。这些组件包括:文件类型ftyp)、媒体信息(mdat)、媒体数据(moov)、媒体类型(mdat)、索引(moof)、用户数据(udta)等。文件类型通常指明了文件遵循的格式和标准,如'isom'代表ISO基础媒体文件格式,而'mp41'则表示文件遵循ISO/IEC 14496-15标准。 参考资源链接:[ISO/IEC 14496-15: AVC标准详解——高级视频编码文件格式](https://wenku.youkuaiyun.com/doc/1bwiwin7gs?spm=1055.2569.3001.10343) 在处理AVC文件时,开发者应确保遵循文件格式规范,正确解析这些组件以正确解码视频内容。同时,还需要特别注意版权许可问题。根据ISO/IEC 14496-15标准中的‘Licensed to’部分,这些文件仅限于个人用户授权使用,严禁复制和网络分发,以尊重知识产权。 此外,文档中还提到了Adobe字体政策的免责声明,指出PDF文件可能包含Adobe字体,用户在打印或查看时必须确保已获得使用这些字体的授权。因此,在进行AVC视频处理或开发相关应用时,开发者应当谨慎处理版权和字体问题,避免违反相关许可政策。了解更多细节,建议参阅《ISO/IEC 14496-15: AVC标准详解——高级视频编码文件格式》,这本书为开发者提供了深入的技术指南,确保你在遵循AVC编码标准的同时,也能妥善处理版权相关事宜。 参考资源链接:[ISO/IEC 14496-15: AVC标准详解——高级视频编码文件格式](https://wenku.youkuaiyun.com/doc/1bwiwin7gs?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值