使用 FFMPEG 将视频长度增加一倍(无音频)

使用 FFMPEG 将视频长度增加一倍(无音频)

我有一个 29.97003 FPS 的延时视频。没有音频。视频太快了。我想将其从 10 秒延长到 20 秒,同时保持每帧的帧率为 15 FPS。

我如何使用 FFMPEG 来实现这一点?

它很短,文件大小很小。可以重新编码,我不在乎。我在想,如果没有快速解决方案,我可以将帧提取到 JPG 文件中,并使用不同的 FPS 编码新视频。我试图避免这种情况。

编辑:我尝试过这个:https://stackoverflow.com/a/45465730/1442225

ffmpeg -y -i input.mp4 -vf \"setpts=2*PTS\" -r 15 -codec:v h264 output.mp4

看起来它做了正确的事情。output.mp4 的长度增加了一倍,但帧数相同。只有文件大小缩小到原来的 25% 以下。我使用了相同的 vcodec。我确实希望文件大小保持几乎相同。

答案1

首先需要从mp4容器中取出原始视频数据,然后将其放入新的容器中,同时设置新的fps值。

首先:ffmpeg -i input.mp4 -c:v copy -f h264 input.h264

进而:ffmpeg -r 15 -i input.h264 -c:v copy output.mp4

注意:只要你不使用-c:v copy(在你编辑时使用的-codec:v h264与 相同-c:v h264),FFmpeg 就会总是重新编码输入,以便输出具有不同的大小。

相关内容