简而言之,我想将视频中的音频与音乐源(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
(左通道),将两个输入的左通道(输入通道c0
和c2
)c1
组合起来,对于输出通道(右通道),将两个输入(输入通道)的右通道组合起来。频道c1
和c3
)”。
-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] 删除。
我来说两句