我将音频文件与视频文件的现有音轨混合在一起,方法是:这个帖子:
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