我想使用ffmpeg从给定的视频文件中提取10个视频帧,理想情况下均匀分布在整个视频中。我知道这可以通过几种方式完成,例如
ffmpeg -ss 00:00:05 -i input.mp4 -frames:v 1 out001.jpg
每10秒输出一张图像。然而,这对我来说太慢了,并且与视频的长度成比例地缩放。我已经阅读了一些关于ffmpeg寻求能力的内容,例如
{{1}}
将非常快速地寻找视频的第5秒并提取一帧。但是,我没有遇到过在不同时间重复调用上述命令而在视频中寻找多个位置的方法。
有没有更快的方法来实现这一目标?
答案 0 :(得分:2)
使用长命令,可以这样做
e.g。
ffmpeg -ss 00:00:05 -i input.mp4
-ss 00:01:05 -i input.mp4
-ss 00:03:05 -i input.mp4
-ss 00:40:05 -i input.mp4
-map 0:v -frames:v 1 out001.jpg
-map 1:v -frames:v 1 out002.jpg
-map 2:v -frames:v 1 out003.jpg
-map 3:v -frames:v 1 out004.jpg