强制 ffmpeg 以丢弃视频的相同速率丢弃音频

强制 ffmpeg 以丢弃视频的相同速率丢弃音频

我有几个在家庭度假期间拍摄的视频文件,我希望将它们合并成一个时长为 2 小时的文件。一些源文件来自 iPhone,一些来自 Android 手机。视频格式为.mp4.mov

我用它ffmpeg来合并视频。下面是我用来合并一天文件的命令示例。

ffmpeg -i 20170904_083335.mp4 -i 20170904_174254.mp4 -i 20170904_174751.mp4 -i 20170904_195950.mp4 -filter_complex "[0:v] [0:a] [1:v] [1:a] [2:v] [2:a] [3:v] [3:a] concat=n=4:v=1:a=1 [v] [a] " -map "[v]" -map "[a]" 20170904.mkv

我的问题是整个过程中ffmpeg会时不时地丢掉视频帧。整个过程中可能会丢掉数百或数千帧(取决于输入文件的数量)。我的眼睛无法明显看出丢帧之间的区别,但我可以肯定地说,视频越长,音频就越不同步。

如果ffmpeg可以同时删除音频“帧”和视频帧,我觉得那就太完美了(这就是我问题的标题)。这样我就能得到我想要的东西了。但我不知道如何让它做到这一点。

我真正想要的是:一个单一的视频文件,其中音频在整个视频持续时间内与视频保持同步。如果你们有人知道如何做到这一点,我洗耳恭听,并非常感谢你们的帮助。

我还尝试过其他方法:

我还没有尝试过但可能会尝试的事情

  • 只需下载 Premiere Pro 并将所有文件放入时间轴,然后让其转换整个内容。

相关内容