用FFmpeg从视频截取任意一帧图片的解决办法~
在我的另一篇日志中,说到利用FFmpeg从视频截图的命令,那天在找从视频截取指定帧的图片的办法,这么多天没有进展,原来我从网上找的关于FFmpeg的参数命令列表并不全,少了-ss这么一个参数.于是这个问题也到现在才解决.
今天利用FFmpeg -h > ffmpeg.txt,把FFmpeg的命令打印出来后,才发现了这一参数:
-ss time_off set the start time offset
使用-ss参数,可以从指定的时间开始处理转换任务.如:
ffmpeg -i test2.asf -y -f image2 -ss 08.010 -t 0.001 -s 352x240 b.jpg
那么从任意一帧截图的问题也就解决了.只要-ss后的时间参数是随机产生,并且在视频的有效时间内,就可以了.
另外,-ss后跟的时间单位为秒。
2006-06-27 补充:
另外,通过指定-ss,和-vframes也可以达到同样的效果。
这时候-ss参数后跟的时间有两种写法,hh:mm:ss 或 直接写秒数 :
ffmpeg -i test.asf -y -f image2 -ss 00:01:00 -vframes 1 test1.jpg
or
ffmpeg -i test.asf -y -f image2 -ss 60 -vframes 1 test1.jpg
这样输出的图片是相同的。