代码之家  ›  专栏  ›  技术社区  ›  Peter

降低帧速率时ffmpeg会得到哪一帧

  •  3
  • Peter  · 技术社区  · 16 年前

    我有一些视频,我想转换成帧图像每2秒。

    例如,如果视频以每秒15帧的速度播放7秒,我希望获得第1帧、第31帧、第61帧和第91帧。

    命令:

    ffmpeg -i foo.mp4 -r 0.5  -f image2 -vcodec mjpeg foo%d.jpg
    

    似乎做了我想做的,但它得到的是哪一帧?1、31、61、91或30、60、90或13、43、73、103?

    2 回复  |  直到 7 年前
        1
  •  1
  •   Stu Thompson Helter Scelter    16 年前

    第一个图像将来自第一帧。

    请注意,您很可能会得到一张或两张超出预期的图像。我相信这是因为舍入和/或ffmpeg创建了最终图像。你的视频真的有7秒长吗?还是7.63秒长?

        2
  •  1
  •   Peter    16 年前

    ffmpeg -v 3 -vsync 0 -sameq -i movie.mpr  -f image2 "images-%03d.jpeg"
    

    这给了我每一帧的电影作为一个JPEG编号1的电影结束。然后我使用脚本语言过滤这些文件,知道帧速率是30fps,每60帧抓取一次。