使用FFMPEG将音轨添加到视频

尼古拉斯·索索克(Nicolas Sursock)

简而言之,我想将视频中的音频与音乐源(mp3,aac ...)合并。

我有一个带声音的视频文件。我想为其添加音轨,以便输出文件中的音频具有语音和音乐。

我寻找了几种解决方案,但我发现的全部是如何在audio1和audio2之间添加另一个音轨作为选择。这是我发现的一个样本:

ffmpeg -i input.mp4 -i music.mp3 -map 0 -map 1 \
   -vcodec copy -acodec copy merged.mp4

另外,我希望音乐适合视频长度(我认为该-shortest选项可以实现这一点,请确认)。

非常感谢 !

两个立体声输入到一个立体声输出

您可以使用amerge音频过滤器将两个音频流合并为一个流,然后使用pan音频过滤器将所得的4个通道合并为2个通道(立体声)。假设您的两个输入均为立体声:

ffmpeg -i input.mp4 -i music.mp3 -codec:v copy -codec:a aac -b:a 192k \
-strict experimental -filter_complex "amerge,pan=stereo:c0<c0+c2:c1<c1+c3" \
-shortest output.mp4
  • 由于您只想操作音频,-codec:v copy因此用于流式复制视频。

  • -strict experimental-strict -2需要使用本地FFmpeg AAC编码器。另请参见FFmpeg和AAC编码指南,以了解其他选项和示例。

  • pan语法c0<c0+c2:c1<c1+c3可以翻译为:“对于输出通道c0(左通道),将两个输入的左通道(输入通道c0c2c1组合起来,对于输出通道(右通道),将两个输入(输入通道)的右通道组合起来。频道c1c3)”。

  • -shortest 将使输出持续时间与最短输入的持续时间相同。

两个单声道输入至一个立体声输出

这比较容易,但是只需将每个输入的单声道复制到输出的每个声道即可:

ffmpeg -i input.mp4 -i music.mp3 -codec:v copy -codec:a aac -b:a 192k \
-strict experimental -ac 2 -shortest output.mp4

另请参阅

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档