ffmpeg を使用して任意の数のオーディオ ファイルを 1 つのステレオ オーディオ ファイルにミックスする

ffmpeg を使用して任意の数のオーディオ ファイルを 1 つのステレオ オーディオ ファイルにミックスする

現在、カラオケ アプリケーションを開発しており、任意の数 (1 から 12 まで) の入力トラックと曲のトラックを結合して、ステレオになる単一の出力オーディオ ファイルにする必要があります。

amerge フィルターと amix フィルターを使用しようとしましたが、うまく機能しましたが、どちらにも 1 つの問題がありました。結果のミックスの音量がソース ファイルよりも低いのです。使用したコマンドは次のとおりです。

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

また、パン フィルターも使用してみましたが、
pan=stereo:c0=c0+c1:c1=c0+c1 の 2 つのファイルではうまく機能しました。結果はまさに私が求めていたものでしたが、2 つ以上のファイルでは機能しませんでした (最大 12 個のファイルを結合できる必要があります)。

答え1

今後の参考までに: llogan が言ったように、まず amerge する必要があります:

ffmpeg -i input1.mp3 -i input2.mp3 -filter_complex "[0:a][1:a]amerge=inputs=2[a]" -map "[a]" -ac 2 output.mp3

関連情報