ffmpeg:如何暂时减慢视频速度

ffmpeg:如何暂时减慢视频速度

我想用 FFmpeg 将视频速度降低 x 秒,之后应该可以像以前一样播放。有没有办法在 ffmpeg 中使用setpts参数来实现这一点?我只找到了这个 FFmpeg 文档设置所有的速度级别。

现在 ffmpeg 正在读取一个包含大约 200 张图像的图像文件夹,并使用以下命令创建视频:

ffmpeg -f image2 -pattern_type glob -i 'image2/*.png' -vf fps=25/1 -s 640x360 -b 2000k output.mp4

答案1

FFmpeg 没有直接的方法来完成此操作。您可以做的是将视频分割成片段,对每个片段应用慢动作,然后再次将它们连接在一起。filter_complex可以使用过滤器链来实现此目的。

ffmpeg -i input_video -filter_complex "
[0:v]trim=0:10[v1];
[0:v]trim=10:30[v2];
[0:v]trim=start=30[v3];
[v2]setpts=PTS/0.5[slowv];
[v1][slowv][v3]concat=n=3:v=1:a=0[outv]" -map [outv] map 0:a -c:v libx264 -c:a copy output_video

在处理视频时,您可能需要重新编码视频流。为此,您可以从中选择合适的编解码器这里

希望这可以帮助!

相关内容