我使用了以下命令从视频中删除了许多重复帧(并完全删除了音频)
ffmpeg -i scene.mkv -vf mpdecimate,setpts=N/FRAME_RATE/TB -map:v 0 scene3.mp4
(感谢Mulvya的回答)。
生成的视频质量还可以,但总时长不会改变——原始视频的最后一帧被冻结以填补剩余时间(播放视频时)。
有没有办法裁剪视频,使其在这个最后一帧结束?
我使用了以下命令从视频中删除了许多重复帧(并完全删除了音频)
ffmpeg -i scene.mkv -vf mpdecimate,setpts=N/FRAME_RATE/TB -map:v 0 scene3.mp4
(感谢Mulvya的回答)。
生成的视频质量还可以,但总时长不会改变——原始视频的最后一帧被冻结以填补剩余时间(播放视频时)。
有没有办法裁剪视频,使其在这个最后一帧结束?
ffmpeg -i scene.mkv -vf mpdecimate,setpts=N/FRAME_RATE/TB -map 0:v scene3.mp4
mpdecimate
),然后创建一个复杂的过滤器来修剪所有这些帧(以及相应的音频)从视频中通过分割视频并仅包括没有重复帧的部分。mpdecimate_trim.py
中,我不得不更改此行:
dframes2 = get_dframes(ffmpeg(True, "-vf", "mpdecimate=hi=576", "-loglevel", "debug", "-f", "null", "-").stderr)
我必须更积极地检测重复项,因此我将mpdecimate
选项更改为mpdecimate=hi=64*32:lo=64*24:frac=0.05
。