使用 ffmpeg 將任意數量的音訊檔案混合成單一立體聲音訊文件

使用 ffmpeg 將任意數量的音訊檔案混合成單一立體聲音訊文件

我目前正在開發卡拉 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

相關內容