FFMPEG - 在Windows中批量组合H.264视频和单独的.WAV音频


1

我是第一次尝试使用单独/辅助.wav音频来复用h.264 .mp4视频的ffmpeg用户,而不对视频端的任何内容进行重新编码。希望最终音频以.aac形式出现(与h.264文件中的音频编码相同)。

基本上,我只想在视频上添加等效长度的附加音轨(评论)。我试图通过单独编辑.wav音频并将其与原始文件相结合而无需通过Premiere或任何编辑器运行它来解决Premiere无法正确导入h.264的问题。这个程序似乎是快速完成它的最佳方式。

我会批量做这个,所以任何有关如何排队多个工作的建议都将受到赞赏。我发现只有排队的建议使用了Linux代码。

如果你有时间回答,请解释,就像我5岁那样。我是一位经验丰富的用户,但对这种以命令行为导向的内容处理方式完全陌生。不确定我做对了什么

另外:我正在使用Windows。

Answers:


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参数的顺序决定。由于-map 0首先放置,因此来自该文件的音频和视频流将首先堆叠在输出中。因此,输出中的第一个音频流将是第一个输入中的第一个音频流,即video.mp4

-c:a:1 aac 表示使用(本机)AAC编码器对输出中的第二个音频流进行编码。


在Windows上,您可以使用Avanti GUI前端执行批处理操作。阅读设置说明的链接 - 非常简单。

您的主GUI窗口设置应如下所示:

在此输入图像描述

从主窗口执行单个作业后,可以在单击左上角图标时从下拉菜单中加载作业控制管理器。

这应该是这样的:

Avanti工作经理

对于您添加的每个相应视频/音频对,请务必取消标记音频文件,以便Avanti知道它与上面的视频条目相同。选择目标路径(左上角的第4个图标)与包含源文件的文件夹不同。Avanti将输出文件的名称与第一个输入(视频)相同,因此如果您不处理此问题,您将会遇到令人讨厌的惊喜。

这几乎涵盖了它。


这很有帮助。感谢您与Avanti的链接; 如果这最终起作用,GUI将使我的工作流程简化得更加简单。我仍然遇到问题的地方是我需要保留原始音频,以便我在其中分层播放的评论音轨。到目前为止,在我发布之前是否使用此GUI或简单的命令行提示...我无法完成此操作。
哈德良

然后源音频需要与评论合并。命令将是ffmpeg -i video.mp4 -i audio.wav -filter_complex "[0:a][1]amix[a]" -map 0:v -map "[a]" -c:v copy -c:a aac video-new.mp4
Gyan 2016年

这与测试文件完美配合!如果它与我的完整视频一起使用,那么你只需要节省我很多时间。非常感谢!
哈德良2016年

只是想再次感谢你的帮助。您的确切方向完美地完成了我的需要,并且在可预见的将来,我将在我的所有内容中使用它。非常感谢。
哈德良

嗨Mulvya。我正在寻求你的智慧,希望是最后一次。在回到这个帖子之前真的试图找到一个解决方案。我已经成功使用了这个技术几个月了,但是注意到,在某些情况下,我得到以下错误:“在找到END元素之前输入缓冲区耗尽。 “ 发生此错误时,它会以毫秒为单位抵消我的评论。当它多次发生时,它会明显抵消每个视频的评论。任何想法如何防止这种情况发生在avanti?
哈德良2016年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.