mp4文件格式系列4 - MDIA/MDHD


标签:
itandroidmp4 |
分类: 手机开发 |
Media atoms定义了track的媒体类型和sample数据,例如音频或视频,描述sample数据的media handler component,media timescale and track
duration以及media-and-track-specific
MDIA
Media atom
字段 |
长度(字节) |
描述 |
尺寸 |
4 |
这个atom的字节数 |
类型 |
4 |
Edts |
其子box的结构和种类还是比较复杂的。先来看一个“mdia”的实例结构树图。
http://s7/middle/48f93b53t8b6d1cfa87d6&690
Media Header Atoms - MDHD
Media header atom
字段 |
长度(字节) |
描述 |
尺寸 |
4 |
这个atom的字节数 |
类型 |
4 |
mdhd |
版本 |
1 |
这个atom的版本 |
标志 |
3 |
这里为0 |
生成时间 |
4 |
Movie atom的起始时间。基准时间是1904-1-1 0:00 AM |
修订时间 |
4 |
Movie atom的修订时间。基准时间是1904-1-1 0:00 AM |
Time scale |
4 |
A time value that indicates the time scale for this media—that is, the number of time units that pass per second in its time coordinate system. |
Duration |
4 |
The duration of this media in units of its time scale. |
语言 |
2 |
媒体的语言码 |
质量 |
2 |
媒体的回放质量???怎样生成此质量,什么是参照点 |
“mdhd”的字节实例如下图,各字段已经用颜色区分开:
http://s1/middle/48f93b53t8b6d2ac1dcc0&690
字段 |
长度(字节) |
描述 |
尺寸 |
4 |
这个atom的字节数 |
类型 |
4 |
hdlr |
版本 |
1 |
这个atom的版本 |
标志 |
3 |
这里为0 |
Component type |
4 |
handler的类型。当前只有两种类型
·
· |
Component subtype |
4 |
media handler or data handler的类型。 如果component type是mhlr,这个字段定义了数据的类型,例如,'vide'是video数据,'soun'是sound数据 如果component type是dhlr,这个字段定义了数据引用的类型,例如,'alis'是文件的别名 |
Component manufacturer |
4 |
保留字段,缺省为0 |
Component flags |
4 |
保留字段,缺省为0 |
Component flags mask |
4 |
保留字段,缺省为0 |
Component name |
可变 |
这个component的名字,也就是生成此media的media handler。该字段的长度可以为0 |
“hdlr”的字节实例如下图,各字段已经用颜色区分开: