我创建了一个示例视频用于 ffmpeg 中的缩略图练习。这是一个 1 秒的视频,25 fps,未压缩的 avi。每一帧都是黑色背景上的白色数字:“01”代表第一帧,“02”代表第二帧,……“25”代表最后一帧。
当我尝试提取精度达到毫秒的缩略图,我没有得到我所期望的结果。我期望得到每帧 40 张照片。
事实上,我有 20 张带有“01”的图片,然后有 40 张带有“02”、“03”......“24”、“25”的图片,最后有 20 张从 980 到 999 的空图片。似乎缺少前 20 张主要图片。
以下命令给我最后一张带有“01”的图片:
ffmpeg.exe -ss 00:00:00.019 -i “序列 01.avi” -vframes 1 “序列 01_019.png”
以下命令给我第一张带有“02”的图片:
ffmpeg.exe -ss 00:00:00.020 -i “序列 01.avi” -vframes 1 “序列 01_020.png”
以下命令给我最后一张带有“25”的图片:
ffmpeg.exe -ss 00:00:00.979 -i “序列 01.avi” -vframes 1 “序列 01_979.png”
然后,在 980 到 999 之间,什么都没有。
我已经尝试过移动-ss
但-i
没有任何改变。
有什么想法或解释吗?
提前致谢。 :)
答案1
FFmpeg 参数对顺序敏感,因此在输入视频之后选择剪辑的开始时间会导致行为改变。
例如,在使用不太精确的寻求()-ss
之前-i
ffmpeg -ss 30 -i input_vid.mp4 -t 60 -c copy output_clip.mp4
另一方面, -ss
after-i
使用更精确的寻找
ffmpeg -i input_vid.mp4 -ss 30 -t 60 -c copy output_clip.mp4
查看这链接以获取更多信息。