使用FFMPEG减慢视频音频速度

3

您好。首先,我想说我在使用FFMPEG的视频滤镜方面是新手,请耐心等待并谅解,:)非常感谢。

无论如何,我正在尝试减慢一个视频剪辑的播放速度,并将其嵌入到我的Delphi项目中播放。到目前为止,使用setpts过滤器成功地实现了减慢视频速度,以下是我的部分代码:

FFPlayer.VideoFilters := Format('setpts=(1/' + FloatToStr(FSpeed) + ')*PTS, nativeeq=%d:%d:%d:%d, nativehue=%d:%d:%d:%d',
  [0, 0, 0, 0, 0, 0, 0, 0]);

其中FSpeed是一个变化值,范围从0.5到2.5。使用这段代码,视频捕获会加速或减速,但音频不会。因此,在我搜索减慢音频的代码时,我发现了这个链接,提供了加速或减速视频捕获和音频的滤镜代码。其中一行提到,同时减慢音频和视频捕获的滤镜代码是:

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

我尝试在我的部分代码中添加"atempo=2.0",使得代码变成了:
FFPlayer.VideoFilters := Format('setpts=(1/' + FloatToStr(FSpeed) + ')*PTS, atempo=2.0, nativeeq=%d:%d:%d:%d, nativehue=%d:%d:%d:%d',
  [0, 0, 0, 0, 0, 0, 0, 0]);

但视频根本没有显示出来。我希望你能为我解惑。谢谢。
1个回答

5

并不确定你做了什么,但这对我有效:

ffmpeg -i VID_20150216_185018.mp4 -filter_complex setpts=4*PTS;atempo=0.5,atempo=0.5 output.mp4

如需了解更多有关atempo滤镜的信息,请参考文档


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接