【问题标题】:Search for movie atoms with ffmpeg使用 ffmpeg 搜索电影原子
【发布时间】: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


    【解决方案1】:

    我不知道 FFmpeg 是否提供直接 API 来检索这些详细信息。然而,这是一个非常懒惰的解决方案,它应该允许您从 QuickTime/MP4 文件中获取 avcC 原子:

    1. 打开文件并在顶级原子结构中找到moov 原子(遍历mdatftyp,可能还有一些其他原子)。
    2. 将整个 moov 原子加载到内存中(它很容易适应)。
    3. 对“avcC”执行字符串搜索。

    这不是最干净的方法,但它可能会起作用。为了更加清醒(以防字符串 'avcC' 出现在原子中的其他位置,如元数据原子中),检查 'avcC' 字符串之前的 4 个字节,将它们视为一个大端 32 位数字,表示avcC 原子的长度,并确保它们有意义。我刚刚检查了几个 H.264 .MP4 文件,根据经验,长度约为 43-45 字节。至少,确保原子的长度大于 8(最小原子大小),并且不会撞到 moov 原子的末端。

    【讨论】:

      猜你喜欢
      • 2020-05-31
      • 2017-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多