我正在使用以下命令每隔5秒从视频生成缩略图:
ffmpeg -ss 3 -i input.mp4 -vf "select=gt(scene\,0.4),scale=640:360"
-vsync vfr -vf fps=fps=1/5 out%02d.jpg
生成的缩略图使用2位数字格式化。因此,图像从out01.jpg
,out02.jpg
开始生成,一直持续到out99.jpg
。有没有办法让我获得文件名中的秒数?就像我想知道生成任何特定缩略图时原始视频经过的秒数。
例如,它的格式可能类似于:
out01_23.jpg
out02_28.jpg
out03_33.jpg
.
.
因此,这里23,28和33代表视频中经过的秒数。 out01_33.jpg
是缩略图,代表视频的第33秒。
有没有办法得到这个?
答案 0 :(得分:1)
您可以使用
ffmpeg -i input.mp4 -vsync 0 -vf select='gte(t,3)*not(mod(t-3,5))' -frame_pts 1 fr\out%02d.jpg
30 fps视频的输出文件名将为
out90.jpg
out240.jpg
out390.jpg
...
其中90代表输入的90/30
== 3.00
秒; 240/30
== 8.00
秒,依此类推。