mp4文件格式解析(二) | it6655多媒体技术实验室
字段
字节数意义
box size4box大小
box type4box类型
version1box版本,0或1,一般为0。(以下字节数均按version=0)
flags3按位或操作结果值,预定义如下:0x000001 track_enabled,否则该track不被播放;
0x000002 track_in_movie,表示该track在播放中被引用;
0x000004 track_in_preview,表示该track在预览时被引用。
一般该值为7,如果一个媒体所有track均未设置track_in_movie和track_in_preview,将被理解为所有track均设置了这两项;对于hint track,该值为0
creation time4创建时间(相对于UTC时间1904-01-01零点的秒数)
modification time4修改时间
track id4id号,不能重复且不能为0
reserved4保留位
duration4track的时间长度
reserved8保留位
layer2视频层,默认为0,值小的在上层
alternate group2track分组信息,默认为0表示该track未与其他track有群组关系
volume2[8.8] 格式,如果为音频track,1.0(0x0100)表示最大音量;否则为0
reserved2保留位
matrix36视频变换矩阵
width4宽
height4高,均为 [16.16] 格式值,与sample描述中的实际画面大小比值,用于播放时的展示宽高
“tkhd”的字节实例如下图,各字段已经用颜色区分开:
4.2.2 Media Box(mdia)
“mdia”也是个container box,其子box的结构和种类还是比较复杂的。先来看一个“mdia”的实例结构树图。
总体来说,“mdia”定义了track媒体类型以及sample数据,描述sample信息。一般“mdia”包含一个“mdhd”,一个“hdlr”和一个“minf”,其中“mdhd”为media header box,“hdlr”为handler reference box,“minf”为media information box。下面依次看一下这几个box的结构。
4.2.2.1 Media Header Box(mdhd)
“mdhd”结构如下表。
字段字节数意义
box size4box大小
box type4box类型
version1box版本,0或1,一般为0。(以下字节数均按version=0)
flags3
creation time4创建时间(相对于UTC时间1904-01-01零点的秒数)
modification time4修改时间
time scale4同前表
duration4track的时间长度
language2媒体语言码。最高位为0,后面15位为3个字符(见ISO 639-2/T标准中定义)
pre-defined2
“mdhd”的字节实例如下图,各字段已经用颜色区分开:
4.2.2.2 Handler Reference Box(hdlr)
“hdlr”解释了媒体的播放过程信息,该box也可以被包含在meta box(meta)中。“hdlr”结构如下表。
字段字节数意义
box size4box大小
box type4box类型
version1box版本,0或1,一般为0。(以下字节数均按version=0)
flags3
pre-defined4
handler type4在media box中,该值为4个字符:“vide”— video track
“soun”— audio track
“hint”— hint track
reserved12
name不定track type name,以‘\0’结尾的字符串
“hdlr”的字节实例如下图,各字段已经用颜色区分开:
4.2.2.3 Media Information Box(minf)
“minf”存储了解释track媒体数据的handler-specific信息,media handler用这些信息将媒体时间映射到媒体数据并进行处理。“minf”中的信息格式和内容与媒体类型以及解释媒体数据的media handler密切相关,其他media handler不知道如何解释这些信息。“minf”是一个container box,其实际内容由子box说明。
一般情况下,“minf”包含一个header box,一个“dinf”和一个“stbl”,其中,header box根据track type(即media handler type)分为“vmhd”、“smhd”、“hmhd”和“nmhd”,“dinf”为data information box,“stbl”为sample table box。下面分别介绍。
下图为“minf”部分字节实例,其中红色为box header,蓝色为“smhd”,绿色为“dinf”,黄色为一部分“stbl”。
0
返回
作者: it6655
该日志由 it6655 于106 天前发表在多媒体技术, 音视频格式分类下
转载请注明: mp4文件格式解析(二) | it6655多媒体技术实验室 +复制链接
关键字: MP4
【上篇】mp4文件格式解析(一)
【下篇】mp4文件格式解析(三)
给我留言
昵称 *
邮箱 *
网址
插入图片
有人回复时邮件通知我
标签
3GP4KAACamrandroiAndroidASFAVIAwesomePlayerbinderB帧demuxerdivxDTSdurationfaplayerffmpegflacFLVGstreamerH.264httphttpsISOIT牛人I帧JPEG2000JRtplibLive555mkvmp3MP4MPEGMPEG-2MPEG-4NALNDKNTSCoggopenmaxOpusORTPOTToverlayPALPCRPTSP帧QuickTimeRealRGBRMRTPrtspSDPseekSIPspsStagefrighttsVLCWAVEWebkitWMVx264xvidYUV基础知识外围设备手机音频
分类目录
Android (21)
IT牛人 (3)
Webkit (3)
业界资讯 (6)
产品资讯 (8)
协议及规范 (13)
图像处理 (6)
基础知识 (20)
多媒体技术 (128)
嵌入式开发技术 (7)
流媒体开发 (35)
资讯中心 (15)
音视频格式 (22)
音视频编解码 (41)
文章归档
2012 年十一月 (11)
2012 年十月 (53)
2012 年九月 (70)
2012 年八月 (19)
订阅本站
随便看看
WAVE文件格式剖析
JPEG2000的Kakadu源代码浅析之
h264检测是I帧还是P帧
FFmpeg完美入门【9】-FFmpeg架
AAC音频编码介绍
OTT:三网融合的真正舞台
与众不同的数码相框Instacube---只
Setting up Automatic NDK B
FFmpeg完美入门【6】-FFmpeg架
FFmpeg完美入门【5】-FFmpeg架
同分类最新文章
vlc视频播放的基本原理
VLC精简
MPEG系列与H.26x系列标准
YUV主要采样格式理解
一幅图像 基本要素 YUV格式与像素
mkv格式解析
vlc2.0.2 代码编译和调试
SDP 协议分析
mkv格式解析
AVI格式解析
常见媒体文体图解
对flac格式的初探
ogg 格式解析
3gp文件格式研究
QuickTime文件格式解析
常见的音频文件介绍
文章归档
给我留言
多媒体开源项目