如何使用ffmpeg使用音频文件替换视频文件中的音频?
我想象命令看起来像:
ffmpeg -i v.mp4 -i a.wav -MAGIC video-new.mp4
这与如何用多个音频流替换视频文件中的音频流非常相似?但是该问题会处理多个音轨,这使其非常复杂,因此不清楚该解决方案的哪一部分足以进行简单的音频交换。
如何使用ffmpeg使用音频文件替换视频文件中的音频?
我想象命令看起来像:
ffmpeg -i v.mp4 -i a.wav -MAGIC video-new.mp4
这与如何用多个音频流替换视频文件中的音频流非常相似?但是该问题会处理多个音轨,这使其非常复杂,因此不清楚该解决方案的哪一部分足以进行简单的音频交换。
Answers:
您将需要复制视频流而无需重新编码,以节省大量时间,但是重新编码音频可能有助于防止不兼容:
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
。
-c copy
重新混合音频和视频而无需重新编码任何流^^