ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:153.47KB ,
资源ID:18033046      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18033046.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(mp4文件格式解析个人总结文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

mp4文件格式解析个人总结文档格式.docx

1、3.MP4文件结构分析3.1box结构MP4由一个一个box组成,每个box由一个boxheader和boxdata组成,boxheader又分为3部分: 4字节的size:表示这个box的大小 4字节的type:表示这个box的类型8字节的largesize如果整个box的大小超出了4字节能表示的最大值,那么size=1,同时,box的大小就储存在largesize中。3.2MP4总体结构Mp4必须包含ftyp box、moov box、mdat box。File type box(ftyp)用来储存文件类型的相关信息,Movie box(moov)用来储存媒体的信息,是一个containe

2、r box,Media data box(mdat)用来储存媒体的具体数据3.3Movie box(moov)一个movie box包含一个mvhd box和若干个trak box,比如audio trak box,vedio trak box。3.3.1Movie Header box(mvhd)mvmd具体结构如下:字段字节数意义box size4box大小box typebox类型version1box版本,0或1,一般为0。(以下字节数均按version=0)flags3creation time创建时间(相对于UTC时间1904-01-01零点的秒数)modification tim

3、e修改时间time scale文件媒体在1秒时间内的刻度值,可以理解为1秒长度的时间单元数duration该track的时间长度,用duration和time scale值可以计算track时长,比如audio track的time scale = 8000, duration = 560128,时长为70.016,video track的time scale = 600, duration = 42000,时长为70rate推荐播放速率,高16位和低16位分别为小数点整数部分和小数部分,即16.16 格式,该值为1.0(0x00010000)表示正常前向播放volume2与rate类似,8.

4、8 格式,1.0(0x0100)表示最大音量reserved10保留位matrix36视频变换矩阵pre-defined24next track id下一个track使用的id号3.3.2Trak boxTrak box必须包含一个tkhd box和一个media box,此外还有很多可选的box: Track Header box(tkhd): 定义了一个track的特性,例如时间,空间和音量信息。结构如下:按位或操作结果值,预定义如下:0x000001 track_enabled,否则该track不被播放;0x000002 track_in_movie,表示该track在播放中被引用;0x

5、000004 track_in_preview,表示该track在预览时被引用。一般该值为7,如果一个媒体所有track均未设置track_in_movie和track_in_preview,将被理解为所有track均设置了这两项;对于hint track,该值为0track idid号,不能重复且不能为0track的时间长度8layer视频层,默认为0,值小的在上层alternate grouptrack分组信息,默认为0表示该track未与其他track有群组关系8.8格式,如果为音频track1.0(0x0100)表示最大音量;否则为0width宽height高,均为 16.16 格式值

6、,与sample描述中的实际画面大小比值,用于播放时的展示宽高media box:该box是一个包含一些track媒体数据信息box的container box。3.4Media boxMedia box主要包含media header box(mdhd)、hdlr box、minf box。3.4.1Media header box(mdhd)media header box(mdhd)定义了整个movie 的特性,例如time scale 和duratio,具体结构如下:language媒体语言码。最高位为0,后面15位为3个字符(见ISO 639-2/T标准中定义)3.4.2Hdlr b

7、oxHdlr box解释了媒体的播放过程信息。同时也指明了本trak类型,如:vedio、autio、hint,具体结构如下:handler type在media box中,该值为4个字符:“vide” video track“soun” audio track“hint” hint track12name不定track type name,以0结尾的字符串3.4.3Minf box存储了解释该track的媒体数据的handler-specific的信息。media handler用这些信息将媒体时间映射到媒体数据,并进行处理。minf包含一个header box,一个Data Informa

8、tion Box (dinf)和一个Sample Table Box (stbl):Header box定义颜色和图形模式信息dinf box解释如何定位媒体信息stbl box包含了关于track中sample所有时间和位置的信息,以及sample的编解码等信息。利用这个表,可以解释sample的时序、类型、大小以及在各自存储容器中的位置。3.5Sample Table Box(stbl) Sample Table Box (stbl)包含:sample description box(stsd)、time to sample box(stts)、sample size box(stsz)、

9、sample to chunk box(stsc)、chunk offset box(stco)、composition time to sample box(ctts)、sync sample box(stss)。3.5.1Sample Description Box(stsd) box header和version字段后会有一个entry count字段,根据entry的个数,每个entry会有type信息,如“vide”、“sund”等,根据type不同sample description会提供不同的信息,例如对于video track,会有“VisualSampleEntry”类型信息

10、,对于audio track会有“AudioSampleEntry”类型信息。 视频的编码类型、宽高、长度,音频的声道、采样等信息都会出现在这个box中。3.5.2Time To Sample Box(stts) stts存储了sample的duration,描述了sample时序的映射方法,我们通过它可以找到任何时间的sample。stts可以包含一个压缩的表来映射时间和sample序号,用其他的表来提供每个sample的长度和指针。表中每个条目提供了在同一个时间偏移量里面连续的sample序号,以及samples的偏移量。递增这些偏移量,就可以建立一个完整的time to sample表。

11、3.5.3Sample Size Box(stsz) stsz定义了每个sample的大小,包含了媒体中全部sample的数目和一张给出每个sample大小的表。这个box相对来说体积是比较大的。3.5.4Sample To Chunk Box(stsc) 用chunk组织sample可以方便优化数据获取,一个thunk包含一个或多个sample。stsc中用一个表描述了sample与chunk的映射关系,查看这张表就可以找到包含指定sample的thunk,从而找到这个sample。3.5.5Sync Sample Box(stss) stss确定media中的关键帧。对于压缩媒体数据,关键

12、帧是一系列压缩序列的开始帧,其解压缩时不依赖以前的帧,而后续帧的解压缩将依赖于这个关键帧。stss可以非常紧凑的标记媒体内的随机存取点,它包含一个sample序号表,表内的每一项严格按照sample的序号排列,说明了媒体中的哪一个sample是关键帧。如果此表不存在,说明每一个sample都是一个关键帧,是一个随机存取点。3.5.6Chunk Offset Box(stco) stco定义了每个thunk在媒体流中的位置。位置有两种可能,32位的和64位的,后者对非常大的电影很有用。在一个表中只会有一种可能,这个位置是在整个文件中的,而不是在任何box中的,这样做就可以直接在文件中找到媒体数据,而不用解释box。需要注意的是一旦前面的box有了任何改变,这张表都要重新建立,因为位置信息已经改变了。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1