Ffmpegを使用して2つのオーディオmp3ファイルを1つのmp3出力ファイルにオーバーレイ/ダウンミックスできますか?
amix フィルターを使用します。
ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex amix=inputs=2:duration=longest output.mp3
または amerge フィルター:
ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex amerge=inputs=2 -ac 2 output.mp3
ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex "amerge=inputs=2,pan=stereo|c0<c0+c1|c1<c2+c3" output.mp3
join フィルターを使用します。
ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex join=inputs=2:channel_layout=stereo output.mp3
または amerge :
ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex amerge=inputs=2 output.mp3
amix フィルターを使用します。
ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex amix=inputs=2:duration=longest output.mp3
FFmpeg Wiki:Audio Channels を参照してください
これをチェックしてください:
ffmpeg -y -i ad_sound/whistle.mp3 -i ad_sound/4s.wav -filter_complex "[0:0][1:0] amix=inputs=2:duration=longest" -c:a libmp3lame ad_sound/outputnow.mp3
役立つと思います。
amix
フィルターは、複数のオーディオ入力を単一の出力にミックスするのに役立ちます。
次のコマンドを実行する場合:
ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex amix=inputs=3:duration=first:dropout_transition=3 OUTPUT
このコマンドは、3つの入力オーディオストリーム(次の例では2つのmp3ファイルを使用)を、最初の入力と同じ持続時間でドロップアウト遷移時間3秒の単一の出力にミックスします。
amix
フィルターは、次のパラメーターを受け入れます。
inputs:入力の数。指定しない場合、デフォルトは2です。
duration:ストリームの終わりを判断する方法。
longest:最長入力の期間。 (デフォルト)
shortest:最短入力の期間。
first:最初の入力の期間。
dropout_transition:入力ストリームが終了したときのボリュームの再正規化の遷移時間(秒)。デフォルト値は2秒です。
たとえば、Ubuntuで次のコマンドを実行しました:FFMPEGバージョン:3.2.1-1 UBUNTU 16.04.1
ffmpeg -i background.mp3 -i bSound.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=0 -codec:a libmp3lame -q:a 0 OUTPUT.mp3
-codec:a libmp3lame -q:a 0
は、可変ビットレートの設定に使用されました。必要に応じて、libmp3lameライブラリをインストールする必要があることに注意してください。ただし、-codec:a libmp3lame -q:a 0
部分がなくても機能します。
長さが異なる場合は、 apad を使用して、最短音に無音を追加できます
Bashを使用
set 'amovie=a.mp3 [gg]; amovie=b.mp3 [hh]; [gg][hh] amerge'
ffmpeg -f lavfi -i "$1" -q 0 c.mp3
2つのオーディオファイルを異なるボリュームと異なる期間でマージするには、次のコマンドが機能します。
ffmpeg -y -i audio1.mp3 -i audio2.mp3 -filter_complex "[0:0]volume=0.09[a];[1:0]volume=1.8[b];[a][b]amix=inputs=2:duration=longest" -c:a libmp3lame output.mp3
ここで、期間は最長または最短に変更できます。また、音量レベル必要に応じて。
バックグラウンドミュージックを音声に追加したい場合、音楽がギャップするギャップのように次のコマンドを使用します自動的に大きくなります:
ffmpeg -i bgmusic.mp3 -i audio.mp3 -filter_complex "[1:a]asplit=2[sc][mix];[0:a][sc]sidechaincompress=threshold=0.003:ratio=20[bg]; [bg][mix]amerge[final]" -map [final] final.mp3
このしきい値には、その値がオーディオの音量を決定する値があります、しきい値を小さくするとオーディオは大きくなります。比率は、他のオーディオをどの程度圧縮する必要があるかを示します。比率が大きいほど、圧縮は大きくなります。