【发布时间】:2013-10-04 12:34:24
【问题描述】:
如何使用 ffmpeg 从文件中检索电影原子?例如,我需要 avcC 原子字节。如果有一些解决方案,我宁愿自己不编写解析器。
http://www.ffmpeg.org/doxygen/0.6/mov_8c-source.html好像提供了一些API,但是我对ffmpeg不熟悉。
或者有没有直接获取SPS和PPS NAL的API?
【问题讨论】:
标签: video ffmpeg h.264 quicktime
如何使用 ffmpeg 从文件中检索电影原子?例如,我需要 avcC 原子字节。如果有一些解决方案,我宁愿自己不编写解析器。
http://www.ffmpeg.org/doxygen/0.6/mov_8c-source.html好像提供了一些API,但是我对ffmpeg不熟悉。
或者有没有直接获取SPS和PPS NAL的API?
【问题讨论】:
标签: video ffmpeg h.264 quicktime
我不知道 FFmpeg 是否提供直接 API 来检索这些详细信息。然而,这是一个非常懒惰的解决方案,它应该允许您从 QuickTime/MP4 文件中获取 avcC 原子:
moov 原子(遍历mdat、ftyp,可能还有一些其他原子)。moov 原子加载到内存中(它很容易适应)。这不是最干净的方法,但它可能会起作用。为了更加清醒(以防字符串 'avcC' 出现在原子中的其他位置,如元数据原子中),检查 'avcC' 字符串之前的 4 个字节,将它们视为一个大端 32 位数字,表示avcC 原子的长度,并确保它们有意义。我刚刚检查了几个 H.264 .MP4 文件,根据经验,长度约为 43-45 字节。至少,确保原子的长度大于 8(最小原子大小),并且不会撞到 moov 原子的末端。
【讨论】: