【发布时间】:2018-06-19 06:16:13
【问题描述】:
当我尝试将此过滤器与 FFmpeg 一起使用时,我发现音频速度参数必须在此范围内 [0.5, 2.0]。
但我不明白为什么音频速度过滤器的参数必须在这个范围内。
为什么一定要在这个范围内?
【问题讨论】:
-
您必须检查source code 才能发现这一点。解决方法是链接多个 atempo 过滤器以获得结果比率。
-
非常感谢。这很有帮助
当我尝试将此过滤器与 FFmpeg 一起使用时,我发现音频速度参数必须在此范围内 [0.5, 2.0]。
但我不明白为什么音频速度过滤器的参数必须在这个范围内。
为什么一定要在这个范围内?
【问题讨论】:
atempo 过滤器现在的范围为 0.5-100:
【讨论】:
rubberband 工具)可能会获得更好的结果。
af_atempo 过滤器需要 0.5 到 2.0(含)之间的原因是因为它的底层算法。 af_atempo 使用 'WSOLA' 算法(基于波形相似性的重叠添加)在不改变音高的情况下更改音频的时间刻度,这些限制是算法本身的结果。
【讨论】:
一个简单但低效的解决方法是级联多个速度过滤器,这是一个将视频和音频速度提高 4 倍的示例
ffmpeg -i input.MP4 -filter_complex "[0:v]setpts=0.25*PTS[v];[0:a]atempo=2.0,atempo=2.0[a]" -map "[v]" -map "[a]" output.mp4
【讨论】:
atempo 必须应用 7 次 (╯°□°)╯︵ ┻━┻