【问题标题】:mp4 files / SSTS infomp4 文件/SSTS 信息
【发布时间】:2017-04-03 15:07:01
【问题描述】:

我正在尝试找到获取电影中所有 I 帧列表的最快方法。

到目前为止,我尝试了ffprobe,但是速度很慢,我一直在寻找更快的解决方案。

我发现的另一个选项是使用 mp4parser 工具;它会输出一个包含此部分的文件,即 SSTS 信息:

-------------------------------------------------------------------------
/moov/trak/mdia/minf/stbl/stss                              @ 0x1c152d8
  Box size: 0x44    version: 0x0    flags: 0x0
  entry_count:              0xd
    sample_number:
     0x1    0x12d    0x259    0x385    ....

我可以看到我有 13 个 I 帧,它们相距 300 帧(与显示的 4 个值相比)

I 帧的间距在电影中是恒定的吗?还是我需要编写自己的 SSTS 解析器来获取整个列表?

【问题讨论】:

    标签: ffmpeg mp4


    【解决方案1】:

    下面的命令将快速提供视频关键帧的时间戳以及其他信息。

    ffmpeg -skip_frame nokey -i in.mp4 -an -vf showinfo -f null -
    

    输出看起来像

    [Parsed_showinfo_0 @ 00000000032903a0] n:  55 pts:5748224 pts_time:449.08  pos: 17288779 fmt:yuv420p sar:1/1 s:960x720 i:P iskey:1 type:I checksum:361866A6 plane_checksum:[BA2DCCBF A8E937B3 BD006225] mean:[220 117 133] stdev:[57.8 4.1 5.3]
    

    pts_time 为您提供时间索引。 n 对于绝对帧索引不准确,但它是关键帧索引的准确计数,即n: 55 是视频中的第 56 个关键帧。

    【讨论】:

      猜你喜欢
      • 2012-05-01
      • 2016-11-28
      • 2014-03-08
      • 1970-01-01
      • 1970-01-01
      • 2012-10-05
      • 2015-08-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多