ffmpeg视频截图时卡住的解决方法

前言

如下图,截取视频20分钟时的画面,就卡着一直不输出。测试发现,截取10秒以后的都会卡很久。
试过其他参数也是,尝试使用mp4box也没找到替代的命令,最后自己想出了一个办法。
既然时间太长截取不到,我为何不直接把需要截取的时间点,提取成一秒的视频,再对这个视频进行截取呢?

使用方法

从视频的第20分钟开始提取,只提取一秒。

1
ffmpeg -ss 20:00 -t 00:01 -accurate_seek -i "1.mp4" -codec copy -avoid_negative_ts 1 "out.mp4" -y

然后再对提取的视频out.mp4进行图片的截取,无需再指定截取的时间点。

1
ffmpeg -i "out.mp4" -vframes 1 "out.png" -y

截取成png体积会比jpg大,1mb起,但画质近乎无损。jpg是有损压缩的,画质差,体积只有几十kb。