视频文件头解析--MP4-层结构解析

MP4文件的格式是一层一层嵌套的。

1、最上一层是Movie atom

        Movie atom 定义了一部电影的数据信息。它的类型是'moov',是一个容器atom,至少必须包含三种atom 中的一种—movie header atom('mvhd'), compressed movie atom('cmov')和reference movie atom ('rmra')。没有压缩的movieheader atom 必须至少包含movie header atom 和reference movie atom中的一种。也可以包含其他的atom,例如一个clipping atom ('clip'),一个或几个track atoms ('trak'),一个color table atom ('ctab'),和一个user data atom('udta')。其中movie header atom 定义了整部电影的time scale,duration 信息以及display characteristics。track atom 定义了电影中一个track 的信息。Track 就是电影中可以独立操作的媒体单位,例如一个声道就是一个track。Compressed movie atoms 和reference movie atoms 不太使用,不在本文讨论范围内。本文主要讨论uncompressedmovie atoms。

1-1、Movie Header Atoms - MVHD。是Movie atom的子层

       Movie headeratom 定义了整个movie 的特性,例如time scale 和duration,它的atom 类型是'mvhd'。一般这一层没有太多有用的信息,基本不用解析。直接去解析trak。

 

1-2Track Atoms - TRAK,是Movie atom的子层

       一个Track atom 定义了movie 中的一个track。一部movie可以包含一个或多个tracks,它们之间相互独立,各自有各自的时间和空间信息。每个track atom 都有与之关联的media atom。Track 主要用于以下目的:

       •包含媒体数据引用和描述(media tracks)

       •包含modifier tracks (tweens 等)

       •对于流媒体协议的打包信息(hint tracks)。Hint tracks 可以引用或者复制对应的媒体sample data。

       Hint tracks 和modifier tracks 必须保证完整性,同时和至少一个mediatrack 一起存在。换句话说,即使hint tracks 复制了对应的媒体sample data,media tracks 也不能从一部hinted movie 中删除。

       Track atoms 的atom 类型是'trak'. Track atom 要求必须有一个track headeratom ('tkhd') 和一个media atom ('mdia')。其他的track clipping atom ('clip'),track matteatom ('matt'),edit atom ('edts'),track reference atom ('tref'),track loadsettings atom ('load'),a track input map atom ('imap')以及user data atom ('udta')都是可选的。

       Track atoms 是一个容器atom,本身没有特别的字段,需要子atom 来进一步说明有效的内容。每个trak 都包含了一个track header atom.

 

1-2-1、Track Header Atoms - TKHD,trak的子层。

   

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值