2017-07-18 6 views
0

私はビデオファイル(video.mp4)と2つのオーディオファイル(audio1.mp3とaudio2.mp3)を持っていると言います。ビデオの長さは60秒です。長さ30秒。ffmpeg 1つのビデオファイル内に2つのオーディオファイル

ビデオの最初の20秒は元のオーディオストリームで続き、最初のオーディオファイルの20秒(オフセットは5秒、長さは20秒)と同じです2番目のオーディオファイル

ffmpeg -i video.mp4 -ss 5 -t 20 -i audio1.mp3 -ss 5 -t 20 -i audio2.mp3 -vcodec copy -acodec copy -copyinkf -map 0:v:0 -map 1:a:0 -map 2:a:0 -shortest final.mp4 

上記のコマンドは、最初の入力のビデオストリームと3番目の入力のオーディオストリームを取ります。 2番目の入力のオーディオストリームが上書きされているようです。どのようにすべてのオーディオストリームをまとめることができ、オーディオストリームを開始するときにどのようにオフセットを定義できますか?

答えて

1

私はあなたが1つのストリームに結合されたオーディオプログラムを望むと仮定します。タイムスタンプのオフセットを他のオーディオに適用しても、ほとんどのプレーヤーは再生中にオーディオストリームを切り替えることはありません。

ので、

ffmpeg -i video.mp4 -ss 5 -t 20 -i audio1.mp3 -ss 5 -t 20 -i audio2.mp3 
    -filter_complex 
     "[0]atrim=0:20[a];[1]adelay=20000|20000[b];[2]adelay=40000|40000[c];[a][b][c]amix=3" 
    -vcodec copy -copyinkf -shortest final.mp4 
+0

ありがとうございました。それが私が探していたものです –

関連する問題