从特定视频帧中提取缩略图

时间:2013-12-05 11:16:01

标签: ffmpeg

给定一个特定的帧我需要使用ffmpeg从视频中提取图像(缩略图)。

E.g。我能做到:

ffmpeg -i test.mp4 -ss 00:01:14.35 -vframes 1 out2.png

我可以从特定时间(00:01:14.35)提取图像,但我需要的是从特定帧中提取图像。

3 个答案:

答案 0 :(得分:39)

要获得某些特定的框架,您应该使用过滤器选择。从视频中提取帧100的命令应如下所示:

 ffmpeg -i in_video.avi -vf "select=gte(n\,100)" -vframes 1 out_img.png

答案 1 :(得分:4)

使用以下方法

ffmpeg -ss 00:10:20 -t 1 -s 400x300 -i <INPUT_FILE> -f mjpeg <OUTPUT_FILE>

-ss和后面的时间参数告诉ffmpeg您希望屏幕截图被捕获的位置。在这个例子中,ffmpeg将在10分20秒处进行射门。 -t告诉ffmpeg你只需要1次拍摄,-s是图片的大小,-f告诉它拍照(但不限于jpg)。 例如,在1小时,12分钟和30秒点生成Batman.avi的png屏幕截图:

ffmpeg -ss 01:12:30 -t 1 -s 400x300 -i Batman.avi -f mjpeg Batman.png

答案 2 :(得分:1)

或者只是

-vf "select=eq(n\,100)" 100.png

可以忽略-vframes选项