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(最小原子尺寸),并且不会碰撞原子的末端。