FFmpeg 使用 -r vs -filter 和 setpts 改变视频速度
FFmpeg change video speed with -r vs -filter and setpts
如果我想用ffmpeg改变视频速度,
改变 fps 到底有什么区别:
ffmpeg -y -r 10 -i video.mp4 video_new_fps.mp4
或使用过滤器和设置:
ffmpeg -i video.mp4 -filter:v "setpts=PTS*3" -an video_new_fps.mp4
看来我可以通过这两个选项加快或减慢视频速度。
那么在什么情况下应该使用哪一个?
IMO,后者是一种通用的更安全的方法。如果输入视频流使用恒定的帧率,那么两者应该产生相同的输出。如果输入帧率是可变的,-r
输入选项会弄乱时间,我想。
如果我想用ffmpeg改变视频速度,
改变 fps 到底有什么区别:
ffmpeg -y -r 10 -i video.mp4 video_new_fps.mp4
或使用过滤器和设置:
ffmpeg -i video.mp4 -filter:v "setpts=PTS*3" -an video_new_fps.mp4
看来我可以通过这两个选项加快或减慢视频速度。
那么在什么情况下应该使用哪一个?
IMO,后者是一种通用的更安全的方法。如果输入视频流使用恒定的帧率,那么两者应该产生相同的输出。如果输入帧率是可变的,-r
输入选项会弄乱时间,我想。