ffmpeg 将 mp4 文件拆分成多个段...在第一段之后,音频不同步

ffmpeg to split mp4 file into segments... after first segment, audio unsynced

使用this question中的ffmpeg命令行完美分割MKV文件已经很久了。现在我有一些我想拆分的 MP4 文件,起初它似乎可以工作,但第一个之后的每个后续片段的音频都没有同步!几秒钟。

我试过强制关键帧(我在其他一些网站上找到的建议)但没有帮助。

我完全尝试了一个不同的程序 (Avidemux),它能够以正确的输出拆分文件,但速度要慢得多,需要 3 分钟以上,而 ffmpeg 则不到 2 秒。使用 Avidemux,我能够确定我想要分割的 i 帧的确切位置,所以我想这可能是同步问题,我尝试了那个确切的位置(即 00:12:17.111 而不是 00:12:16 或其他)但这也无济于事。

我是否缺少 ffmpeg 的选项以使其在拆分时将音频正确同步到视频?

我不确定我是否理解为什么,但问题是参数的顺序。

在链接示例中,命令如下:

ffmpeg -i input.avi -vcodec copy -acodec copy -ss 00:30:00 -t 00:30:00 output2.avi

当然,我使用的是 mp4 而不是 avi,但除此之外,我输入的命令与上面完全相同,并且(使用 mp4)我得到了不同步的音频结果。我不小心遇到了这个 "fix"... 如果我这样输入命令:

ffmpeg -ss 00:30:00 -i input.mp4 -vcodec copy -acodec copy -t 00:30:00 output2.mp4

我没有得到同步问题。为什么?不知道。但它有效。我已经尝试了几次以确认...仅更改参数顺序即可解决问题。