读书人

MP4文件结构(二)

发布时间: 2012-08-25 10:06:20 作者: rapoo

MP4文件结构(2)

以一个长度为10秒的MP4为例,其结构可能如下:

type: ftyp, size: 24
type: mdat, size: 8884701
type: mdat, size: 136125
type: moov, size: 4656

1. ftyp

一个ftyp对文件的类型进行描述,指明其符合哪些格式。一般就是mp4格式了。符合本文档的媒体类型有很多种,box条目的种类也不同,所以需要brand与compatible_brands的来说明此文件内的box的种类。文档中定义了isom, avc1, iso2, mp71, iso3这些brand应有的格式,当解码器在读出其brand后,就知道该文件的格式了。


(1) trak / tkhd

对于视频trak,存宽、高信息;对于音频trak,存音量信息。并不是太重要,真正初始化解码器要靠 stsd中的信息。

(2) trak / mdia / hdlr

标明该trak是视频还是音频

(3) trak / mdia / minf / stbl

所有重要的表都在这里。其中,

- stsd: 编码器CODEC信息

- stsz: 用于sample的划分,通常一个sample可以对应于frame。

- stsc: 多个sample组成一个trunk,不过实际操作中可以让一个sample直接构成一个trunk

- stco: trunk在文件中的位置,用于定位。

- stts / ctts: 指定每个sample的PTS, DTS

(4) trak / edts / elst

把视频分为多段segment, 每个的起始时间和时长



读书人网 >其他相关

热点推荐