在 ffmpeg 中使用 setpts 和 tempo 时音频不同步

lov*_*e33 3 audio video ffmpeg

我试图同时放慢视频及其音频的速度(mp4)。我曾尝试使用类似于以下命令的代码分别处理音频和视频,但仍然获得相同的效果。

大约 30 秒后,音频慢慢与视频不同步(音频变快)。

-i "输入" -filter_complex "[0:v]setpts=1.1*PTS[v];[0:a]atempo=0.9[a]" -map "[v]" -map "[a]" "OUTPUT ”

任何意见,将不胜感激。提前致谢。

Gya*_*yan 5

您不会以相同的量改变音频和视频的速度。

视频速度减慢到 1.0/1.1 = 90.91%

因此,使用分数为音频指定相同的精度

-i "INPUT" -filter_complex "[0:v]setpts=1.1*PTS[v];[0:a]atempo=(1/1.1)[a]" -map "[v]"" -map "[a]" "OUTPUT"
Run Code Online (Sandbox Code Playgroud)

  • `atempo` 只能达到 2.0,所以你需要两次调用:`atempo=1.5,atempo=2` 其中 `1.5 x 2 = 3` (2认同)
  • 最近的版本可以达到 100。升级。 (2认同)