我是第一次使用 ffmpeg 的用户,尝试将 h.264 .mp4 视频与单独的/辅助的 .wav 音频进行混合,而无需在视频端重新编码任何内容。希望最终音频以 .aac 格式输出(与 h.264 文件中的音频编解码器相同)。
本质上,我只想在视频上添加一个长度相同的附加音轨(评论)。我试图通过单独编辑 .wav 音频并将其与原始文件合并来解决 Premiere 无法正确导入 h.264 的问题,而无需通过 Premiere 或任何编辑器运行它。这个程序似乎是快速完成此操作的最佳方法。
我将分批执行此操作,因此任何有关如何排队多个作业的建议都将不胜感激。我发现只有排队建议使用了 Linux 代码。
如果你有时间回答,请像我 5 岁一样解释一下。我是一个经验丰富的用户,但对这种以命令行为导向的内容处理方式完全陌生。我不确定我是否在做任何事物正确的。
另外:我正在使用 Windows。
答案1
您需要使用的基本 FFmpeg 命令行是
ffmpeg -i video.mp4 -i audio.wav -map 0 -map 1:a -c:v copy -c:a:0 copy -c:a:1 aac video-new.mp4
-map 0
表示包含来自第一个输入的所有流 - FFmpeg 索引从零开始。同样,map 1:a
表示包含来自第二个输入的所有音频流。-map 1
因为 WAV 文件仅包含音频流,所以就足够了。
-c:v copy
意味着输出中包含的任何和所有视频流都应被复制,因此无需重新编码。
-c:a:0 copy
表示第一个音频流输出也应该被复制。此处输出流的顺序由映射参数的顺序决定。由于-map 0
放在第一位,因此该文件中的音频和视频流将首先堆叠在输出中。因此,输出中的第一个音频流将是来自第一个输入的音频流,即 video.mp4
-c:a:1 aac
表示使用(原生)AAC 编码器对输出中的第二个音频流进行编码。
在 Windows 上,您可以使用阿凡提用于执行批处理操作的 GUI 前端。阅读链接了解设置说明 - 非常简单。
您主 GUI 窗口设置应如下所示:
从主窗口执行单个作业后,您可以加载作业控制管理器,单击左上角的图标可从下拉菜单中访问该管理器。
它看起来应该是这样的:
对于您添加的每个相应的视频/音频对,请确保取消标记音频文件,以便 Avanti 知道它与上面的视频条目属于同一工作。选择您的目标路径(左上角第 4 个图标),使其不同于包含源文件的文件夹。Avanti 将把输出文件命名为与第一个输入(视频)相同的名称,因此如果您不注意这一点,您将会遇到令人不快的意外。
这基本上涵盖了所有内容。