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

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

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

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

本次解析ftyp box

[cpp] view plaincopyprint?
  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/

Brand Extension Mime Type
MP4 mp41, mp42 .mp4 video/mp4, audio/mp4, application/mp4
3GPP various, e.g. 3gp4, 3gp5 .3gp video/3gpp, audio/3gpp
3GPP2 3g2a .3g2 video/3gpp2, audio/3gpp2
Motion JPEG 2000 mjp2 .mj2 video/mj2
QuickTime "qt" .mov video/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、解析器)知道应该使用哪种协议对这该文件解析,是后续解读文件基础。

多媒体 MP4文件格式详解——文件类型ftyp相关推荐

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

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

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

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

  3. MP4文件格式详解——结构概述

    MP4文件格式详解(ISO-14496-12/14) 一.基本概念 1. 文件,由许多Box和FullBox组成. 2. Box,每个Box由Header和Data组成. 3. FullBox,是Bo ...

  4. MP4文件格式详解——元数据moov(二)tkhd box

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

  5. MP4文件格式详解(ISO-14496-12/14)

    一.基本概念 1. 文件,由许多Box和FullBox组成. 2. Box,每个Box由Header和Data组成. 3. FullBox,是Box的扩展,Box结构的基础上在Header中增加8bi ...

  6. 多媒体封装格式详解---MP4

    MP4文件格式详解--结构概述 http://blog.csdn.net/pirateleo/article/details/7061452 一.基本概念 1. 文件,由许多Box和FullBox组成 ...

  7. [转]多媒体封装格式详解---MP4

    原文 https://www.cnblogs.com/jingzhishen/p/3698570.html 参考 http://www.cnblogs.com/ranson7zop/p/7889272 ...

  8. S19文件格式详解(总结)以及与hex文件的互转

    S19文件格式详解 ​​ ​​ S-record格式文件是Freescale CodeWarrior编译器生成的后缀名为.S19的程序文件,是一段直接烧写进MCU的ASCII码,英文全称问Motoro ...

  9. ZIP文件格式详解(一)——文件数据格式

    ZIP文件格式详解(一)--文件数据格式 ------------------------------------------------------------------------------- ...

最新文章

  1. Commun. Biol. | 人工智能加速抗生素发现
  2. 用U盘破除XP管理员密码
  3. MySql的优化步骤
  4. O(logn)复杂度恐怖之处
  5. 在一个html中使用另一个html数据,如何为某些HTML标签存储任意数据
  6. django 学习-13 Django文件上传
  7. matlab2014启动很慢,matlab启动慢的解决方法
  8. Daily Scrum 12/9/2015
  9. 网卡驱动修改服务器,改造INTEL网卡驱动使桌面型网卡支持Windows Server 2012、2016、2019系统...
  10. 添加透明FLASH和FLASH大全
  11. win10 系统 MySQL安装及修改密码
  12. 如何做好项目中的风险控制
  13. linux 软件脱壳机,关于UPX脱壳后程序无法运行
  14. viper4android fx 驱动,ViPER4Android FX 音效驱动社区版安
  15. PTA~习题8-4 报数 (20分) 2020年11月
  16. 回顾(JavaScript)Js正则表达式
  17. 修改织梦dedecms后台默认admin账号的方法
  18. Matlab 求全要素生产率,关于使用DEAP2.1计算全要素生产率的问题
  19. SCRUM Beta Day 1
  20. Java高级开发0-1项目实战-青鸟商城-Day05

热门文章

  1. Java类定义、成员变量定义、方法定义、成员变量与局部变量的区别
  2. JMockit使用总结
  3. 系统间对接 各个方案
  4. 2022 年超过 27 个最流行的计算机视觉应用程序和用例
  5. k8s教程(Volume篇)-PVC详解
  6. C++类成员函数作回调函数
  7. c语言timer linux 回调函数_C语言回调函数详解
  8. Spark使用start-slave.sh启动Worker
  9. 数据库中删除重复数据并保留一条。
  10. ​PNAS:alpha频率经颅电刺激调控大脑默认网络