我目前正在開發卡拉 OK 應用程序,需要將任意數量(從 1 到 12)輸入軌道與歌曲軌道合併到應該是立體聲的單一輸出音訊檔案中。
我嘗試使用 amerge 和 amix 過濾器,它們工作得很好,但都有一個問題 - 生成的混合中的音量低於原始檔案中的音量。我使用的命令是:
ffmpeg.exe -y -i song.mp3 -i track1.mp3 .... -i track[N].mp3 -filter_complex amerge=inputs=[N] -c:a libmp3lame -ar 44100 -q:a 1 mix.mp3
我還嘗試使用平移過濾器,它對於 2 個帶有
pan=stereo:c0=c0+c1:c1=c0+c1 的文件效果很好- 結果正是我所需要的,但我無法讓它與超過2 個文件一起工作文件(我需要能夠合併最多 12 個)。
答案1
供將來參考:正如 llogan 所說,您首先需要合併:
ffmpeg -i input1.mp3 -i input2.mp3 -filter_complex "[0:a][1:a]amerge=inputs=2[a]" -map "[a]" -ac 2 output.mp3