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

标签 ffmpeg mp4 video-editing

我使用了 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/

相关文章:

ffmpeg 不生成幻灯片

ffmpeg - 如何使用 FFMPEG 将 MP4 视频文件转换为 FLV 格式

java - android studio中的视频编辑

reactjs - react native 修剪视频

facebook - 如何使用 ffmpeg 为 Facebook 生成循环动画 gif

Python捕获子进程输出

java - 如何在 android 中构建和使用 ffmpeg

google-chrome - 在 Chrome 上捕获的 MediaRecorder 无法在移动设备或 Safari 上播放

android - 更改 MediaFormat 中的旋转

video - 如何在Sony Vegas 8 Pro上的视频事件fx中修复此错误?