2017-05-28 4 views
2

複数のオーディオと1つのビデオをシンプルにするためにFFMPEGを使用したいと思います。ffmpeg - 複数のオーディオを時間オフセットでビデオにマージする方法は?

材料である:

  1. 二つの短いオーディオクリップ(ショートクリップ1.3gp、ショートクリップ2.3gp)、音声付き
  2. 1つのビデオクリップ(1.mp4)、
  3. ビデオクリップと同じ持続時間を持つ1つのオーディオクリップ(1.mp3)。

要件は次のとおりです。

  1. 削除ビデオクリップのサウンド
  2. 1.mp3
  3. は10秒で、0秒timetampで短いクリップ2.3gpを短いクリップ1.3gpを追加追加しますタイムスタンプ。

要件は以下のとおりです。

< --short-クリップ1.3gp持続時間 - > < --short-クリップ2.3gp持続時間 - >

< ------------- ------------------------- 1.mp3 ---------------------- ------------------------------->

< ------------- ------------------------- 1.mp4 ---------------------- ------------------------------->

私が使用するコマンドは次のとおりですが、期待される。 ffmpeg -i 1.mp4 -i 1.3gp -itsoffset 00:00:10 -i 2.3gp -i 1.mp3 -map 0:v -map 1:a -map 2:a -map 3:a -c:v copy -c:a copy result.mp4

何かヒントありがとうございます!

答えて

3

あなたがオーディオストリームをミックスする必要があります。Mulvyaのソリューションへ

ffmpeg -i 1.mp4 -i 1.3gp -i 2.3gp -i 1.mp3 
    -filter_complex "[2]adelay=10000|10000[s2];[3:a][1:a][s2]amix=3[a]" 
    -map 0:v -map "[a]" -c:v copy result.mp4 
+0

私はこのコマンドをテストしました。 "-filter_complex" [2] adelay = 10000 | 10000 [s2]; [3:a] [1:a] [s2] amix = 3 [a] "と' -map 'の説明を追加することは可能でしょうか? [a] "'? –

3

感謝を。ここでは遅延要件を持つ複数のオーディオストリームをミックスする方法のための余分な情報です:

ffmpeg -i 1.mp3 -i 1.3gp -i 2.3gp -i 3.3gp -i 4.3gp -i 5.3gp -i 1.mp4 \ 
-filter_complex "[2]adelay=2790|2790[s2];\ 
[3]adelay=10300|10300[s3];\ 
[4]adelay=14930|14930[s4];\ 
[5]adelay=21090[s5];\ 
[0][1][s2][s3][s4][s5]amix=6[mixout]" \ 
-map 6:v -map [mixout] -c:v copy result.mp4 

難しい部分がある:[2]adelay=2790|2790[s2]。それは '3番目の入力を選択し、s2として2,79秒の遅延と出力を与える'ことを意味し、 's2'は 'amix'コマンドに使用されて '6 [mixout]'を生成し、 '-map'で使用されます。

+0

'[2]'は3番目の入力を選択します。 FFmpegは0からナンバリングを開始します。 – Mulvya

+0

権利を更新しました。ありがとう! –

+0

私は同じような簡単なコマンドを探しています。これは短いオーディオファイルを特定の時間にビデオに挿入するより簡単なコマンドです。私はこのポストで共有されているコマンドは正しい方法だと思うが、それを修正する方法はわからない。どんな助けもありがたい。 – user423805

関連する問題