下面这些命令都没有效果
ffmpeg -i ./input.mp4 -vf mpdecimate ./output.mp4
ffmpeg -i ./input.mp4 -vf "mpdecimate, setpts=N/FRAME_RATE/TB" -c:a copy ./output.mp4
ffmpeg -i ./input.mp4 -vf "select='gt(scene,0.4)',setpts=N/FRAME_RATE/TB" -vsync vfr -c:a copy ./output.mp4
ffmpeg -i ./input.mp4 -vf "select='gt(scene,0.01)',setpts=N/FRAME_RATE/TB" -vsync vfr -c:a copy ./output.mp4
可以用调试模式检查
这个命令会生成一个控制台读数,显示哪些帧被认为是重复的。通过查看这些信息,可以更好地理解问题所在。
带上详细参数
以下是对这个命令各个参数的补充说明和用途:
mpdecimate
滤镜hi:
64*12
。lo:
64*8
。frac:
0.33
。33%
,则删除该帧。select
滤镜gt(scene,0.01):
select
滤镜用于选择符合条件的帧。gt(scene,0.01)
表示选择场景变化大于0.01
的帧。scene
参数用于检测帧之间的变化,值越高,表示变化越大。setpts
滤镜setpts=N/FRAME_RATE/TB:
N
表示帧号,FRAME_RATE
表示帧率,TB
表示时间基准。其他参数
-vsync vfr:
-c:a copy:
通过这些参数设置,可以有效地处理视频,减少不必要的帧,同时保持音频质量和同步性。