如何在不重复帧的情况下提高视频速度和帧速率

如何在不重复帧的情况下提高视频速度和帧速率

我有一段帧率为 30 FPS 的长视频,我想将其转换为帧率为 60 FPS 的 200 倍延时视频。我唯一的问题是 avconv 不必要地复制输出中的其他帧,使得 60 FPS 的输出实际上变成了 30 FPS。我希望每一帧都是独一无二的。在速度提高 200 倍、帧率提高 2 倍的情况下,没有必要复制帧。

例如,问题在于输出使用源帧 1,1,21,21,41,41,...,而我希望它使用帧 1,11,21,31,41,51,...

这是我正在使用的命令:

avconv -i input_30fps.avi -vcodec h264 -an -r 60 -vf "setpts=(1/200)*PTS" output_200x_60fps.avi

答案1

我经常遇到这种情况,在寻求帮助之前,我花了几个小时试图弄清楚,但最后在询问之后几分钟,我自己就找到了解决方案。

事实证明,avconv 并不是我想象中 ffmpeg 的更好替代品,因为 Linux Mint(如果我没记错的话)从官方存储库中删除了 ffmpeg,转而使用 avconv。无论如何,ffmpeg 回来了,我安装了它,并找到了不会重复帧的等效命令:

ffmpeg -i input_30fps.avi -vcodec h264 -an -vf "fps=60, setpts=(1/200)*PTS" output_200x_60fps.avi

答案2

是的,它不起作用的原因是您使用的命令并非旨在加快播放速度,而是为了提高视频的清晰度。

相关内容