更新

更新

我将音频文件与视频文件的现有音轨混合在一起,方法是:这个帖子

ffmpeg -i vid.mp4 -i aud.mp3 -filter_complex \
"[0:a][1:a]amerge=inputs=2[a]" \
-map 0:v -map "[a]" -c:v copy -ac 2 -shortest \
vid--voice-over--mix.mp4

但是其中一个声音太大了。如何通过上述命令调整音频的音量?

更新

灵感来自这个帖子,尝试过:

ffmpeg -i vid.mp4 -i aud.mp3 -filter_complex \
"[0:a]volume=0.58:precision=fixed[a0]; \
 [1:a]volume=0.98:precision=fixed[a1]; \
 [a0][a1]amerge=inputs=2[a]" \
-map 0:v -map "[a]" -c:v copy -ac 2 -shortest \
vid--voice-over--mix.mp4

但它会引发这个错误:

以下过滤器无法选择其格式:Parsed_amerge_2

考虑在其输入或输出附近插入(a)格式过滤器。

答案1

这个脚本运行得很好:

#!/bin/sh

ffmpeg -i vid.mp4 \
    -i aud.mp3 \
    -filter_complex \
    "[0:a]volume=0.18[a0]; [1:a]volume=1.98[a1]; [a0][a1]amerge=inputs=2[a]" \
    -map 0:v -map "[a]" -c:v copy -c:a mp3 -shortest \
    vid--voice-over--mix--volume.mp4

相关内容