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]);

但视频根本没有出现。

我希望你能用这个来启发我。谢谢。

4

1 回答 1

2

不太确定你在那里做了什么,但这对我有用:

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

有关 atempo 过滤器的更多信息,请参阅文档

于 2015-03-08T02:44:42.863 回答