1
如何用ffmpeg從文件中檢索電影原子?例如,我需要avcC
原子字節。如果有解決方案,我寧願自己編碼解析器。用ffmpeg搜索電影原子
http://www.ffmpeg.org/doxygen/0.6/mov_8c-source.html似乎提供了一些API,但我不熟悉ffmpeg。
或者是否有直接獲取SPS和PPS NAL的API?
如何用ffmpeg從文件中檢索電影原子?例如,我需要avcC
原子字節。如果有解決方案,我寧願自己編碼解析器。用ffmpeg搜索電影原子
http://www.ffmpeg.org/doxygen/0.6/mov_8c-source.html似乎提供了一些API,但我不熟悉ffmpeg。
或者是否有直接獲取SPS和PPS NAL的API?
我不知道FFmpeg是否提供直接API來檢索這些細節。但是,這裏有一個令人難以置信的懶惰的解決方案,應該讓你抓住從一個QuickTime/MP4文件avcC
原子:
mdat
遍歷moov
原子,ftyp
,也許還有其他一些原子)。moov
原子加載到內存中(它很容易適合)。這不是最乾淨的方法,但它可能會工作。爲了獲得額外的正確性(以防萬一字符串'avcC'出現在原子中的其他地方,如元數據原子中),請檢查'avcC'字符串前面的4個字節,將它們視爲一個大端32位數字,原子的長度爲avcC
,並確保它們有意義。我只檢查了一些H.264.MP4文件,經驗上它的長度大約是43-45字節。至少要確保原子的長度大於8(最小原子尺寸),並且不會碰撞原子的末端。