我使用了 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)我得到了不同步的音频结果。我不小心偶然发现了这个“修复”...如果我这样输入命令:
ffmpeg -ss 00:30:00 -i input.mp4 -vcodec copy -acodec copy -t 00:30:00 output2.mp4
我没有遇到同步问题。为什么?不知道。但它有效。我已经尝试了几次来确认...仅更改参数顺序即可纠正问题。
关于ffmpeg 将 mp4 文件分割成多个片段...第一个片段之后,音频不同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28995191/