再会。首先,我想说我是 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]);
但视频根本没有出现。
我希望你能用这个来启发我。谢谢。