使用 FFMpeg concat demuxer 处理带/不带音轨的多个文件

使用 FFMpeg concat demuxer 处理带/不带音轨的多个文件

我正在尝试使用 FFMpeg 的 concat demuxer 合并多个文件。问题是其中一些文件没有音轨,而其他文件有,我不知道哪些有,哪些没有。例如:

  • vid1.mp4-无音频
  • vid2.mp4-有音频
  • vid3.mp4-无音频
  • vidn.mp4-无音频

所有这些 .mp4 文件都是我生成的,是 ffmpeg 修剪命令的输出。因此,文件的生命周期如下所示:输入视频 -> 修剪 + 其他 ffmpeg 内容 -> 输出.mp4

我遇到的问题是,如果一个不包含音频的文件是连接列表中的第一个文件,则整个连接的视频都没有音频。但如果第一个文件有音频,其余文件也有音频。

所以我的想法是,我可以在处理输入视频的阶段(即修剪阶段)为所有输入视频添加静音音轨(或者如果可能的话只为根本没有音频的视频添加静音音轨)

不过我不确定如何实现这一点。有什么想法可以实现吗?我也愿意使用不同的方法,但我的要求是使用 concat demuxer。

相关内容