FFmpeg的连续截图问题

ffmpeg -ss 80 -i 6.mkv -vframes 2 -vf fps=1/20 -f image2 -y snap-%2d.jpg
截取的两张分别为:90s,110s

并不是 80s 和 100s

请问如何正确书写连续间隔时间截图的命令

官方文档::paperclip:

这是留了个文档让后人帮你读啊 :joy::joy::joy:

仔细看 FFmpeg 里面关于 seeking 的说明。
-ss 放在 -i 前是快速跳转,落点是距离指定时刻最近的关键帧,而不是指定的时刻。
-ss 放在 -i 后是精确跳转,或者说精确步进更准确一点,然而一步一步走自然很慢。
想要兼顾速度和精度就得混着用:
ffmpeg -ss 75 -i xxx.mkv -ss 80 ……
先快跳到附近,然后精确步进到指定时刻。

时长:174.24s

帧率:23.98fps/23.976fps

每一帧持续时间:1/23.98=0.0417

第160s帧数:

160 x 23,98 = 3836.8

160 x 23.976 =3836.16

ffmpeg -ss 160 -i 1.MP4 -vframes 1 -vf fps=1/1:round=down -f image2 -y snap-%2d.jpg

p1

ffmpeg -ss 160 -i 1.MP4 -vframes 1 -vf fps=1/1:round=zero -f image2 -y snap-%2d.jpg

p2

3859帧

00:02:40.953 - 00:02:40.994 = 0.041s

ffmpeg -ss 160 -i 1.MP4 -vframes 1 -f image2 -y snap-%2d.jpg

p3

ffmpeg -i 1.MP4 -ss 160 -vframes 1 -f image2 -y snap-%2d.jpg

p4

第3835帧

00:02:39.993 - 00:02:39.952 = 0.041s

ffmpeg -ss 160 -i 1.MP4 -vframes 1 -vf fps=1/1:round=near -f image2 -y snap-%2d.jpg

p5

第3847帧

00:02:40.493 - 00:02:40.453 = 0.40s

答案应为:不会a

第3836帧

00:02:40.035 - 00:02:39.994 = 0.041s

因为这一帧正好横跨159和160秒

ps:帧数有第零帧嘛 如果有 就对了哈哈哈