使用 ffmpeg 命令,我尝试创建一个大视频的小型缩略图幻灯片视频,方法是每 60 秒选择一帧,然后组合这些帧以制作视频,使每个选定的帧显示 2 秒。我使用以下命令:
ffmpeg.exe -i "D:/input-video-1.mkv" \
-vf "fps=(1/60),setpts=N/FR/TB,scale=-2:240,fps=(1/2)" -an -sn -dn -y "D:/output-3.mp4"
但是当我播放输出视频时,一帧占据了整个视频,并且输出视频长度也不正确。请帮我解决这个问题。
答案1
现在使用这个是因为使用 fps 过滤器我可以使用 -skip_frame nokey,这使得命令完成得更快。
ffmpeg.exe -skip_frame nokey -i "input.mkv" \
-vf "fps=(1/60),settb=24/60,setpts=N,scale=-2:240" -r 1/2 -an -sn -dn "output.mp4"
如果我使用像下面这样的选择过滤器,那么我就不能使用 -skip_frame nokey,因为它只输出 1 或 2 帧。
-vf "select='not(mod(n,24*60))',setpts=0.005*PTS"
我希望有人能告诉我如何为 setpts 和 settb 设置正确的值,因为目前我不确定这些值,但它现在有效