V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
depress
V2EX  ›  问与答

视频抽帧有没有快一点的方法?

  •  
  •   depress · 2020-11-29 17:20:22 +08:00 · 1505 次点击
    这是一个创建于 1458 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我现在用的 ffmpeg -i video.mp4 -f image2 -vf fps=fps=1/120 -qscale:v 2 xx.jpg 两分钟一张,但是太慢了,ffmpeg 还有什么更快的能自定义间隔的抽帧方式吗?或者其他抽帧方式也可以。

    8 条回复    2020-12-06 14:40:37 +08:00
    q197
        1
    q197  
       2020-11-30 10:14:53 +08:00
    ffmpeg 据说用的不好,会导致需要一直读取到抽帧位置,用的好是直接读那个位置。会不会和这个有关?我也不熟悉,只是知道这个坑
    depress
        2
    depress  
    OP
       2020-11-30 10:59:43 +08:00 via Android
    @q197 不过搜了一下,自定义间隔的方式好像只有这一种,我看它的进度就是一秒一秒的走,到时间了存一张,so sad 啊ᥬ😭᭄
    q197
        3
    q197  
       2020-12-02 16:36:15 +08:00
    @depress 你这样明显是用发错了,具体我也不太了解,网上资料也不多,貌似和-i 的这个参数放的位置有关,好像放在后面放在前面效果不一样的
    depress
        4
    depress  
    OP
       2020-12-02 17:59:35 +08:00 via Android
    @q197 (⊙o⊙)这样的吗,我再研究研究
    depress
        5
    depress  
    OP
       2020-12-02 22:12:12 +08:00
    @q197 我看到一篇知乎的文章说到你说的-i 位置的问题了,不过那个是抽取指定时间的帧,就抽一帧。指定时间间隔的抽取方式除了主贴的那一种,我在官网文档看到另一种,知乎那文章里也说了这一种, `ffmpeg -i video.mp4 -r 1/120 -f image2 xx.jpg` ,不过速度和主贴的方式一样,都是 3X 左右的速度,我觉得应该是没办法了,一个两小时的视频要抽 40 分钟真是伤不起。
    q197
        6
    q197  
       2020-12-05 14:17:36 +08:00   ❤️ 1
    @depress 我曾经做过类似的 当时的代码大概是 'ffmpeg.exe -ss ' + 时间 + ' -i "' + 输入文件+ '" -y -f image2 -vframes 1 路径' + 输出文件名 + '.jpg') 这样可以秒出。
    你的要求是 2 分钟一张,换个思路,写个程序调用以上代码,靠程序指定抽帧的时刻。我当时效果是哗啦啦地出图片文件
    depress
        7
    depress  
    OP
       2020-12-05 16:05:05 +08:00
    @q197 谢谢,这我倒没想到,试试看,这个法子再不行我也不跟它较劲了
    depress
        8
    depress  
    OP
       2020-12-06 14:40:37 +08:00
    @q197 非常感谢,这法子好使,1 分钟就抽完了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4901 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:45 · PVG 17:45 · LAX 01:45 · JFK 04:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.