国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

在線短視頻秒播優化之視頻文件格式之MP4文件Moov box的位置

siberiawolf / 2722人閱讀

摘要:之前我們介紹了在線短視頻秒播優化的方方面面,從服務器,部署接入,數據連接獲取,客戶端緩存,出幀策略,到視頻文件幀位置等。并不是文件必須的部分,但在我們常見的可在線播放的格式文件中例如中的文件確是重中之重。


之前我們介紹了在線短視頻秒播優化的方方面面,從服務器,cdn部署接入,數據連接/獲取,客戶端緩存,出幀策略,到視頻文件I幀位置等。
今天從視頻文件格式的另外一個角度介紹,MP4文件的box排列順序是如何影響,在線短視頻的播放以及秒播優化的。
MP4文件中的所有數據都裝在box中 (iso-14496-12/14)
(QuickTime中為atom)即mp4是由若干個box組成的
先簡單介紹幾個重要的box,以便諸位在后續學習時心中有數:
1、 ftyp box,在文件的開始位置,描述的文件的版本、兼容協議等;
2、 moov box,這個box中不包含具體媒體數據,但包含本文件中所有媒體數據的宏觀描述信息,moov box下有mvhd和trak box。

mvhd中記錄了創建時間、修改時間、時間度量標尺、可播放時長等信息。
trak中的一系列子box描述了每個媒體軌道的具體信息。
3、 moof box,這個box是視頻分片的描述信息。并不是MP4文件必須的部分,但在我們常見的可在線播放的MP4格式文件中(例如Silverlight Smooth Streaming中的ismv文件)確是重中之重。
4、 mdat box,實際媒體數據。我們最終解碼播放的數據都在這里面。
5、 mfra box,一般在文件末尾,媒體的索引文件,可通過查詢直接定位所需時間點的媒體數據。






MP4文件的生成與解析,播放
兩個重要的box,moov and mdat
1.生成:先寫入mdat后寫入moov,因此絕大多數工具都會把moov數據放到mdat后邊,比如android的mp4writer,ffmpeg等工具
2.解析:解析播放的時候,先讀取moov,才能解析mdat
播放影響
1.本地播放,沒有影響,播放軟件可以先seek到末尾,讀取moov
2.在線播放
(1).需要http服務器支持seek
(2).服務器不支持seek,是個非常不友好的方案,要先把數據下載完成才能播放(無論下載到哪里,新服務器,本地內存或存儲)
(3).(1)和(2)多多少少會引入延時,尤其(2),影響秒開



市面上短視頻mp4 box排列
抖音,火山等小視頻moov排在前邊,不用seek;
快手,360等moov排在后邊需要seek;
可以看出前者小視頻在這方面更專業。
在線短視頻MP4 moov box排在后邊的解決方案
1.修改文件把moov box排在前面,在MP4在設備上生成的時候或傳到服務器上后進行
這個方法一勞永逸,還能提升秒開的速度
工具:
ffmpeg option faststart
qt-faststart



Thanks

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/11042.html

相關文章

  • iOS視頻播放緩存

    摘要:一套基于短視頻播放緩存庫地址。由于針對短視頻的播放不存在進度拖拽或功能,所以每次下載到的數據可以直接通過緩存管理的相關方法直接到緩存文件末尾。 一套基于AVPLayer短視頻播放緩存庫ShortMediaCache GitHub地址。 主要特點: 1.為短視頻量身設計,接入方便,不侵占業務 2.邊播變緩存,緩存后直接播放 3.預加載功能,秒播下一條短視頻 4.自動緩存管理 原文地址...

    OnlyLing 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<