1 |
ffmpeg -i input.mkv -ss 00:10:00 -f image2 output.jpg |
但是这个命令会花费相当长的时间. 对一个清晰的或者较大的视频文件进行操作, 会花费半分钟以上. 截图的时间越往后, 花费的时间也越长. 更为悲剧的是, 我的Nginx服务器会在等待15s之后返回 "504 Bad Gateway" 的错误, 尽管后台的截图操作仍然在进行中! 这真的不能忍受, 而且会给用户带来不好的体验. 试着上网搜了一下解决方案, 看到了博客 [1] . 大意是说, 出现这种情况的原因是由于参数的位置放置不正确造成的 "-ss" 要放在第一个参数位置. 调整它们的位置之后我再次尝试 ( test1.flv是一个h264编码的高清视频, 总时长为"00:04:11.37", 命令中 "-ss 00:02:06" 相当于在总长度的一半处截图) :
正确方式:
ffmpeg -ss 00:02:06 -i test1.flv -f image2 -y test1.jpg