获取关键帧数量的速度比ffprobe中的“show_frames”更快?

时间:2016-06-03 03:50:23

标签: ffmpeg ffprobe

我正在使用ffmpgffprobe制作一个内部实用程序。工作正常并完成所需:计算视频文件中关键帧的数量以及其他一些细节。

唉,对于大型视频文件,将使用它可能需要很多秒才能返回show_frames - 然后我必须解析帧数据的JSON转储并保持总密钥的运行计数帧。

有更快的方法吗?也许它列在“流”或“格式”数据转储中,我不知道它被称为什么?我浏览过ffmpgffprobe文档,但没有找到任何其他内容。

1 个答案:

答案 0 :(得分:1)

对于MP4和MOV文件,您可以通过阅读STSS框的内容获取此信息

您可以使用像MP4parser这样的工具,它会生成一个包含以下条目的日志文件:

/moov/trak/mdia/minf/stbl/stss                              @ 0x1d7218e
  Box size: 0x74    version: 0x0    flags: 0x0
  entry_count:              0x19
    sample_number:
    0x1    0x86    0x180    0x27a    ....

该条目数(以十六进制表示)是您想要的数字。

或者,atomicparsley也会告诉您文件中STSS的位置,然后您可以直接阅读。