mp4文件格式之fragment mp4

mp4文件格式之fragment mp4


目前網絡上對mp4文件格式的總結已經相當多了,我就不在這裏抄別人總結的東西了,想入門的話百度一下會有許多這方面的文章。這裏介紹一下其他文章中很少涉及的一種mp4文件結構,即fragment mp4,也有稱之爲ismv文件的。

        想真正瞭解mp4文件格式的話,有一個開源工具項目可以學習:mp4 explorer。一方面,這個工具可以按MPEG-4標準去解析mp4文件,直觀上幫助大家去看mp4文件的格式。另一方面,認真學習其代碼,就可以瞭解mp4文件是如何被存取和訪問的,對致力於底層研究的同學是個福音。其官網:http://mp4explorer.codeplex.com/

        本文介紹的一種mp4文件格式稱之謂fragmented mp4,有簡稱爲FMP4。其文件格式與通常大家見到的mp4文件不同。下面通過兩張圖片來對比一下。

       

                                                                                                                               圖1  普通MP4文件物理結構

    

                                                                                                                            圖2  fragmented mp4文件結構

        下面分析一下兩種格式的優缺點。

         對於第一種格式,整個mp4文件的的meta數據都在文件頭,所有媒體數據爲整體一塊。當文件比較大的時候,meta數據就比較大。這樣對mp4文件的本地播放是沒有問題。但對於一些視頻播放網站而言,用戶的播放器必須下載全meta數據才能開始播放,這就意味着用戶的緩衝時間將因爲mp4文件的存儲結構而延長。目前一種解決方法是將大的mp4文件切成物理分離的多段,使得每段的meta都比較小,從而在一定程度上減少緩衝時間。

         對於第二種格式,mp4文件被分成多個frag分片,而原來的meta數據大大變小,且沒個frag都可以單獨索引、傳輸和播放,這樣就可以解決mp4不能流式傳輸播放的問題。對用戶體驗比較好。然而目前這種格式並不被多數解碼器完整支持,部分播放器加載文件時間過長,而且瀏覽器內嵌播放器也可能不支持播放。

         微軟在08奧運會之前推出了此項解決方案,並應用於NBC視頻直播,具體技術可以參考下面的鏈接:http://alexzambelli.com/blog/2009/02/10/smooth-streaming-architecture/.在其中也可以找到對mp4文件中每個box 的一些介紹。    


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章