MP4
This is my study note of MP4.
MP4全名为MPEG-4 Part 14,属于MPEG-4的一部分。
基本概念
- Box
1
MP4由一个一个Box组成,它由Header+Date组成,Data可以存储媒体元数据和实际的音视频码流数据。Box里可以直接存储数据块也可以包含其他的Box,这种Box叫做container box。
从图中可以看出,在Box的Header头部,size指定了这个Box的大小,一般头部大小就是8字节
- Sample
1
采样,对于视频而言可以理解为一帧数据,对于音频一帧数据就是一段固定时间的音频数据,即多个sample,存储媒体数据的单位为Sample。
- Track
1
Sample的集合,一个视频序列或者音频序列。除了媒体数据,Track还可以包含其他非媒体数据,如指示信息和字幕信息。
- ChunkMP4文件中,包含好几个track,每个track由许多Chunk组成,每个Chunk都是由连续的Sample组成。
1
一个track内,连续几个Sample称为Chunk,每个Chunk都有一个偏移量,整个偏移量从文件头算起。
Box
- ftyp Box
1
ftyp是MP4的第一个Box,包含了视频文件使用的编码格式、标准等,一份MP4中只有一个这样的Box,通常放在文件的开头,让解析器知道使用哪种协议对该文件进行解析。
- moov Box
1
包含了文件媒体的元数据信息,该box和ftyp一样,是最重要的box,包含了音视频的编码格式、数据样本、chunk的大小等
- mvhd Box
1
描述了与具体音频或视频流无关的文件整体信息
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 风声向寂!
评论
ValineDisqus