MP4之获取metadata

metadata都在moov box中,比较复杂的是分别存储在不同的box中的。

media info

media info在moov的子box mvhd中,在本文中会以moov/mvhd的形式表示。像moov这样包含子box的box被称为container box。

mvhd的格式定义如下

其中需要注意的是duration和timescale。这里的duration是所有track的duration中的最大值。这里解释一下timescale,这个整数值表示1秒钟包含多少个time unit,相当于该文件定义的一个时间单位。

track info

媒体流的metadata在moov/trak box中,每一个trak box代表一个音视频流。流的信息在moov/trak/tkhd box

需要关注的是duration和width、height。视频流的width和height就是视频的宽、高,音频流两者都是0。
track的duration和tiemscale在moov/trak/mdia/mdhd中

这里的duration的单位是timescale
流的类型在moov/trak/mdia/hdlr中

从handler_type中可以知道流的类型,"vide"为视频流,"soun"为音频流

转载于:https://blog.51cto.com/readingcoding/2388593

你可能感兴趣的:(MP4之获取metadata)