如何使用FFMPEG混合多音轨并独立调节各音轨音量
FFMPEG多音轨独立调音量后混合方案
完整执行命令
ffmpeg -i input.mp4 -filter_complex "[0:a:0]volume=2[a1];[0:a:1]volume=2[a2];[0:a:2]volume=2[a3];[0:a:3]volume=0.5[a4];[a1][a2][a3][a4]amix=inputs=4:dropout_transition=0[aout]" -map 0:v -map "[aout]" -c:v copy -c:a aac -b:a 256k output.mp4
参数说明
- 音轨音量调整逻辑:
[0:a:0]volume=2[a1]对应将输入文件第1条音轨音量放大为原音量的2倍,输出到临时标签[a1],你可以根据需求修改volume=后的数值,或者调整0:a:后的索引匹配你需要处理的音轨 - 多轨混合逻辑:
amix=inputs=4指定混合4条输入音轨,dropout_transition=0用于避免多轨混合结束时出现音量异常下滑的问题 - 输出映射逻辑:
-map 0:v直接保留原视频流,搭配-c:v copy实现视频流无转码快速拷贝;-map "[aout]"指定将混合后的音轨作为输出文件的第一条音轨 - 音频编码逻辑:
-c:a aac -b:a 256k指定输出音轨采用AAC编码、码率256k,你可以根据自身需求替换为其他音频编码参数
常见场景调整
- 如果不需要保留原视频,仅输出音频文件,将
-map 0:v -c:v copy替换为-vn,输出文件后缀改成.mp3/.m4a等音频格式即可 - 如果需要混合后同时保留原始音轨,直接在
-map参数后追加对应的原音轨映射即可
内容的提问来源于stack exchange,提问作者doppelzwei
相关产品推荐
相关产品推荐

