ffmpeg-替换视频中的音频


48

如何使用ffmpeg使用音频文件替换视频文件中的音频?

我想象命令看起来像:

ffmpeg -i v.mp4 -i a.wav -MAGIC video-new.mp4

这与如何用多个音频流替换视频文件中的音频流非常相似但是该问题会处理多个音轨,这使其非常复杂,因此不清楚该解决方案的哪一部分足以进行简单的音频交换。

Answers:


68

您将需要复制视频流而无需重新编码,以节省大量时间,但是重新编码音频可能有助于防止不兼容:

ffmpeg -i v.mp4 -i a.wav -c:v copy -map 0:v:0 -map 1:a:0 new.mp4

-map 0:v:0将输入的第一(索引0)视频流映射到输出中的第一(索引0)视频流。

-map 1:a:0将输入的第二(索引1)音频流映射到输出中的第一(索引0)音频流。

如果音频比视频长,则需要-shortest在输出文件名之前添加。

不指定音频编解码器,将自动选择一个有效的编解码器。您可以指定一个,例如-c:a libvorbis在之后添加-c:v copy


2
或直接-c copy重新混合音频和视频而无需重新编码任何流^^
Francesco Yoshi Gobbo'Sep

1
您知道如何将新音频转换为与原始视频相同的格式(具有相同的参数)吗?我的意思是,我需要以与旧音频相同的方式对新音频进行编码。
Kostanos

像魅力一样工作!!
Tessaracter

@Kostanos不是自动的,但是我想。请问另一个问题。您可以参考此文件以澄清您的新知识。
qubodup
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.