【问题标题】:Get the specific frame from a video using FFMPEG (C#)使用 FFMPEG (C#) 从视频中获取特定帧
【发布时间】:2018-06-06 11:07:16
【问题描述】:

我想使用 ffmpeg 从视频中获取每个指定的帧。 从现在开始我有这个代码:

"-i example.mp4 -vf fps=30,select='between(t,2,3)' -vsync 0 image%d.bmp"

它在指定的秒数之间生成帧,但我想按帧数获取帧,例如:每 3 帧或每 10 帧。

有什么办法吗?

【问题讨论】:

    标签: c# video ffmpeg frames


    【解决方案1】:

    使用

    "-i example.mp4 -vf select='not(mod(n,5))' -vsync 0 image%d.bmp"
    

    这将产生每 5 帧 (0,5,10,15...)

    (删除了 fps 过滤器 .. 从源复制或丢弃帧)。

    【讨论】:

    • 谢谢,这正是我想要的。
    • 有什么办法可以加快速度吗?
    • 并非如此。大部分时间都花在了写作上。如果您将选定的帧保存到 AVI -c:v bmp out.avi,您可以节省 ~25%。
    猜你喜欢
    • 2015-11-06
    • 2013-04-16
    • 1970-01-01
    • 2010-11-07
    • 2023-03-12
    • 1970-01-01
    • 2017-08-13
    • 1970-01-01
    • 2013-05-25
    相关资源
    最近更新 更多