获取生成缩略图的第二个

时间:2018-06-24 05:57:06

标签: video ffmpeg

我正在使用以下命令每隔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.jpgout02.jpg开始生成,一直持续到out99.jpg。有没有办法让我获得文件名中的秒数?就像我想知道生成任何特定缩略图时原始视频经过的秒数。

例如,它的格式可能类似于:

out01_23.jpg
out02_28.jpg
out03_33.jpg

.  
.

因此,这里23,28和33代表视频中经过的秒数。 out01_33.jpg是缩略图,代表视频的第33秒。

有没有办法得到这个?

1 个答案:

答案 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秒,依此类推。