用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
这样输出的图片是相同的。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步