可以改变使用的视频流的速度setpts视频滤波器。请注意,在以下示例中,音频流不会更改,因此,最好使用-an禁用。
速度 快一倍
要将视频的速度提高一倍,您可以使用:
ffmpeg -i input.mkv -filter:v "setpts=0.5*PTS" output.mkv
滤波器通过改变每个视频帧的呈现时间戳(PTS)来工作。例如,如果有两个连续帧显示在时间戳1和2,并且您想加速视频,那些时间戳分别需要变为0.5和1。因此,我们必须将它们乘以0.5。
请注意,此方法将丢弃帧以实现所需的速度。您可以通过指定比输入更高的输出帧速率来避免丢帧。例如,从4 FPS的输入到加速到4倍(16 FPS)的输入:
ffmpeg -i input.mkv -r 16 -filter:v "setpts=0.25*PTS" output.mkv
减慢播放速度
要减慢视频播放速度,您必须使用大于1的乘数:
ffmpeg -i input.mkv -filter:v "setpts=2.0*PTS" output.mkv
加速/减慢音频
您可以加快或音频与减缓安腾普音频过滤器。将音频的速度提高一倍:
ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv
atempo过滤器限于使用介于0.5和2.0之间的值(因此它可以将其减慢到不小于原始速度的一半,并且速度不超过输入的两倍)。如果你需要,你可以通过串联多个atempo过滤器来克服这个限制。以下四倍音频速度:
ffmpeg -i input.mkv -filter:a "atempo=2.0,atempo=2.0" -vn output.mkv
添加滤镜参数
使用复杂的滤镜,您可以同时加速视频和音频:
ffmpeg -i input.mkv -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mkv
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END