我现在用的 ffmpeg -i video.mp4 -f image2 -vf fps=fps=1/120 -qscale:v 2 xx.jpg 两分钟一张,但是太慢了,ffmpeg 还有什么更快的能自定义间隔的抽帧方式吗?或者其他抽帧方式也可以。
我现在用的 ffmpeg -i video.mp4 -f image2 -vf fps=fps=1/120 -qscale:v 2 xx.jpg 两分钟一张,但是太慢了,ffmpeg 还有什么更快的能自定义间隔的抽帧方式吗?或者其他抽帧方式也可以。
|
q197Nov 30, 2020
1
ffmpeg 据说用的不好,会导致需要一直读取到抽帧位置,用的好是直接读那个位置。会不会和这个有关?我也不熟悉,只是知道这个坑
|
|
5
@q197 我看到一篇知乎的文章说到你说的-i 位置的问题了,不过那个是抽取指定时间的帧,就抽一帧。指定时间间隔的抽取方式除了主贴的那一种,我在官网文档看到另一种,知乎那文章里也说了这一种, `ffmpeg -i video.mp4 -r 1/120 -f image2 xx.jpg` ,不过速度和主贴的方式一样,都是 3X 左右的速度,我觉得应该是没办法了,一个两小时的视频要抽 40 分钟真是伤不起。
|
|
6
@depress 我曾经做过类似的 当时的代码大概是 'ffmpeg.exe -ss ' + 时间 + ' -i "' + 输入文件+ '" -y -f image2 -vframes 1 路径' + 输出文件名 + '.jpg') 这样可以秒出。
你的要求是 2 分钟一张,换个思路,写个程序调用以上代码,靠程序指定抽帧的时刻。我当时效果是哗啦啦地出图片文件 |