【问题标题】:How do i extract individual frames from videos using ffmpeg?如何使用 ffmpeg 从视频中提取单个帧?
【发布时间】:2015-11-16 03:23:57
【问题描述】:

我从 Youtube 下载了一堆视频,我想从中提取帧。我正在使用的当前命令是:

ffmpeg -i input.mp4 -an -s qvga %06d.png

但我也想设置 -r 和 -t 选项。我希望 fps 是每个视频的 fps,并且持续时间是它们的持续时间。我知道如果我不设置 -r 选项,默认是 25 fps。

那么有人可以帮忙吗?如何添加 -r 和 -t 选项?有没有更好更准确的方法从视频中获取单个帧?非常感谢。

【问题讨论】:

    标签: video ffmpeg video-streaming


    【解决方案1】:

    输出图像时无需设置持续时间 (-t) 或帧速率 (-r)。默认ffmpeg会输出所有图片。

    其他说明:

    • 如果你想限制持续时间,比如只想要前 3 秒的图像,那么使用-t 3

    • 如果你想限制输出帧的数量,比如只想要前100帧,那么使用-frames:v 100

    • 单个图像没有帧速率。如果添加-r,则ffmpeg 将在-r 与输入帧速率不同时复制或丢弃帧。省略-r 将输出所有图像。

    • 输出图片时不需要-an

    • 使用scale filter-s 更灵活。它可以防止拉伸,因为它可以保持纵横比:-vf scale=320:-1

    【讨论】:

    • 非常感谢,@LordNeckbeard,它真的拯救了我的一天。您的回答清晰而有帮助,我很感激。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-06
    • 2022-01-03
    • 2021-02-26
    • 1970-01-01
    • 2020-05-18
    相关资源
    最近更新 更多