MP4封裝格式
一、簡介
MP4(MPEG-4 Part 14)是一種常見的多媒體容器格式,它是在“ISO/IEC 14496-14”標準檔案中定義的,屬於MPEG-4的一部分,是“ISO/IEC 14496-12(MPEG-4 Part 12 ISO base media file format)”標準中所定義的媒體格式的一種實現,後者定義了一種通用的媒體檔案結構標準。MP4是一種描述較為全面的容器格式,被認為可以在其中嵌入任何形式的資料,各種編碼的視訊、音訊等都不在話下,不過我們常見的大部分的MP4檔案存放的AVC(H.264)或MPEG-4(Part 2)編碼的視訊和AAC編碼的音訊。MP4格式的官方檔案字尾名是“.mp4”,還有其他的以mp4為基礎進行的擴充套件或者是縮水版本的格式,包括:M4V
二、格式學習
1、學習方法
1.1、參考地址
https://www.cnblogs.com/jingzhishen/p/3698570.html
https://blog.csdn.net/lh2016rocky/article/details/52691768
https://blog.csdn.net/u013898698/article/details/77152347
https://segmentfault.com/a/1190000012477812
https://blog.csdn.net/hejjunlin/article/details/73162841
https://blog.csdn.net/shelldon/article/details/54144409
1.2、解析工具
mp4info藉助該工具可以對mp4的視訊資料進行分析,其他
1.Gstreamer
2.libvlc
3.live555
4.ffmpeg
2、理解
主要檔案資訊組成,mp4檔案說白了就是一系列box組成,大box裡面有小box。接下來會深入到具體的box裡面,來具體分析mp4格式。
2.1、 ftyp(File Type Box) box,在檔案的開始位置,描述的檔案的版本、相容協議等;
2.2、 moov (Movie Box) box,這個box中不包含具體媒體資料,但包含本檔案中所有媒體資料的巨集觀描述資訊
>>mvhd中記錄了建立時間、修改時間、時間度量標尺、可播放時長等資訊。
>>trak中的一系列子box描述了每個媒體軌道的具體資訊。
2.3、 moof box,這個box是視訊分片的描述資訊。並不是MP4檔案必須的部分,但在我們常見的可線上播放的MP4格式檔案中(例如Silverlight Smooth Streaming中的ismv檔案)確是重中之重。
2.4、 mdat box,實際媒體資料。我們最終解碼播放的資料都在這裡面。
2.5、 mfra box,一般在檔案末尾,媒體的索引檔案,可通過查詢直接定位所需時間點的媒體資料。