視頻學習 ---------如何獲取Mp4某個box下面的數據

學習是需要積累的,是需要記錄的,非常的抱歉,這麼久都沒有記錄我學習的過程了。今天記錄的是獲取MP4視頻下某個特定Box的數據。首先大致介紹下MP4下面的box組成。

結構圖如下:

這是在PC端用工具打開的,從這個可以看到MP4裏面主要有4個主Box,分別是 ftyp、frea、mdat、moov,今天講的事如何獲取moov box下面的次級Box數據。

想要獲取裏面的數據有幾種方式,我所知道的第一種就是從視頻文件的頭往後面算偏移量,一個box一個的偏移就可以找到想要的數據,但是這有個弊端,那就是不是所有的MP4視頻都是這樣的結構,很多都是把moov box放在了第二個位置,今天介紹的是第二種方式,那就是使用 ISOPaser 來實現直接獲取定點box裏面的數據。

去網上下載ISOPaser的jar包,獲取是添加依賴都可以使用他了,

isoFile = new IsoFile(url);
MovieBox moov = isoFile.getBoxes(MovieBox.class).get(0);
UnknownBox box = moov.getBoxes(UnknownBox.class).get(0);
很簡單的幾句代碼,其他的你都會了,這樣就可以快速簡單的獲取想要的數據了,不過輸出的數據要記得轉換成你要的格式或者是字符編碼。

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