MP4文件、MOV文件和3GP文件,这三种媒体文件格式采用了相同的封装格式,其基本的组成单元是box。“ftyp”就是整个文件的第一个box,通过判断该box来确定文件的类型。该box有且只有1个,并且只能被包含在文件层,而不能被其他box包含。该box应该被放在文件的最开始,指示文件的相关信息。

文件的最开始的四个字节就是“ftyp”box的大小,然后是该box的类型。 “ftyp”的body依次包括1个32位的major brand(4个字符),1个32位的minor version(整数)和1个以32位(4个字符)为单位元素的数组compatible brands。这些都是用来指示文件应用级别的信息。以一个MP4文件的“ftyp”box为例,如下所示:

其中,

(1)0x00 00 00 18是“ftyp”box的大小,为24个字节,这在一般情况下为一个固定值。

(2)0x66 74 79 70是“ftyp”四个字符的ASCII值,也就是该box的类型。

(3)0x6D 70 34 32是major brand,这里为“mp42”,对于不同的文件,该值可能是不一样的。

(4)0x00 00 00 10是minor version。

(5)0x6D 70 34 32和0x6D 70 34 31是compatible brands,“mp42”和“mp41”

回过头来,那“ftyp”到底是什么呢?

ftyp就是一个由四个字符组成的码字,有时包含空格,用来标识编码类型、兼容性或者媒体文件的用途。它存在于MP4文件和MOV文件中,当然,也存在于3GP文件中。

虽然MP4文件、MOV文件和3GP文件采用了相同的封装标准,但由于是由不同的厂商合成,因此还是存在差别的。即使是同一种媒体文件,比如MP4文件,由不同developers开发的MP4也是存在差别的。ftyp简单的说就是为了标识它的developer是谁,兼容哪些标准等。

比如上面的例子,“mp42”表示它的major brand是MP4 v2 [ISO 14496-14],而“mp42”和“mp41”则表示它的compatible brands是MP4 v2 [ISO 14496-14]和MP4 v1 [ISO 14496-1:ch13]。

更多的ftyp可以参考下面的网址。

http://www.ftyps.com/

其中列出了所有可知的ftyp以及对他们的描述。

转自:http://m.blog.csdn.net/blog/lyuan1314/9366703

MP4/MOV/3GP文件的“ftyp”(转)相关推荐

  1. MP4/MOV/3GP文件的“ftyp”

    MP4文件.MOV文件和3GP文件,这三种媒体文件格式采用了相同的封装格式,其基本的组成单元是box."ftyp"就是整个文件的第一个box,通过判断该box来确定文件的类型.该b ...

  2. android使用VideoView设计的扫描全局.mp4和.3gp的视频播放器

    在android的中提供了一个VideoView组件,用于播放视频文件,要想使用VideoView播放视频,首先要在布局文件中创建改组件,然后在activity中获取该组件,调用VideoView中的 ...

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

    原谅地址:http://blog.csdn.net/pirateleo/article/details/7583321 文件类型ftyp(ISO-14496-12) Author:Pirate Leo ...

  4. MP4文件格式详解——文件类型ftyp(转)

    文件类型ftyp(ISO-14496-12) Author:Pirate Leo Email:codeevoship@gmail.com ISO 14496 - 12 定义了一种封装媒体数据的基础文件 ...

  5. 多媒体 MP4文件格式详解——文件类型ftyp

    ISO 14496 - 12 定义了一种封装媒体数据的基础文件格式,mp4.3gp.ismv等我们常见媒体封装格式都是以这种基础文件格式为基础衍生的. 如果从全局角度了解基础文件格式,请看我之前的博文 ...

  6. linux ffmpeg 3gp mp4,利用ffmpeg转换3gp文件

    编译的时候加上–enable-amr_nb –enable-amr_wb参数就行,根据编译系统的提示,所以我们得下载一 些编译3gp所需得文件. 2.重新编译ffmpeg,记得加上–enable-am ...

  7. Mp4文件和3gp文件的区别

    相同: 3GP/MP4都是文件容器. 不同:     3GP是通信公司制定的规范 主要用在手机上这种移动通讯设备上,所以对文件内包含的音视频编码格式定义的非常死.这样手机只要支持固定的几种codec就 ...

  8. MP4/MPEG4/3GP转换软件至尊---《MP4/RM转换专家》小记

    MP4/MPEG4/3GP转换软件至尊---<MP4/RM转换专家>小记 作者:唐伟 来源:天空软件站 加入时间:2006-06-06 一直以来,笔者我都在寻找一款最合适转换MP4.MPE ...

  9. FFMPEG:利用ffmpeg转换3gp文件

    1.先到www.3gpp.org下载以下三个文件: - http://www.3gpp.org/ftp/Specs/2004-03/Rel-5/26_series/26204-520.zip - ht ...

最新文章

  1. OpenCV对图像进行尺寸变换
  2. java爬虫之正则表达式
  3. mysql innodb4大特征_MYSQL中InnoDB特性浅谈
  4. Java高级语法笔记-文本文件的按行读取
  5. 浅谈 HTTPS 和 SSL/TLS 协议的背景与基础
  6. [Alpha阶段]第二次Scrum Meeting
  7. Java 读取Oracle数据库中的Date日期型怎么去掉秒后面的0
  8. markdown转换html源码,利用Nodejs+Express将Markdown转换为HTML(附源码)
  9. qqwry.dat java 乱码_UTF-8使用纯真IP数据库乱码问题
  10. 10g gtx 光纤通信测试_10G以太网光口与Aurora接口回环实验
  11. java 使用itextpdf分割pdf文件,pdf分页
  12. VS自带工具:dumpbin的使用查看Lib,dll等
  13. 向工程腐化开炮:Java代码治理
  14. PDF Expert for mac(最好用的pdf编辑工具)
  15. Jenkins 打包配置
  16. TypeError: can‘t compare offset-naive and offset-aware datetimes
  17. 【python 处理亿级数据】使用 Pandas 处理亿级数据
  18. 山东科技大学计算机篮球,球队资料:山东科技大学男子篮球队
  19. Groovy Xml解析
  20. 漫画 | 哈哈哈哈哈哈哈哈…

热门文章

  1. Codeforces 768B Code For 1 二分+区间查询
  2. ATH9K Driver Learning Part III: Data packet transmission
  3. [渝粤教育] 南通大学 电路分析 参考 资料
  4. 解决虚拟机动态IP能联网,静态IP就不能联网
  5. 几种替代MATLAB的工具,一种堪称完美!
  6. 文件夹下的图片名字进行重命名--批量操作
  7. 网站导航:如何在线生成自定义的二维码?(要美观不要俗气)
  8. 咏春拳段位首次开考先考动作再考功力2008-11-13
  9. RGBA图像的四通道详细分析
  10. J1939 多包报文传输