2017-07-18 186 views
0

可以說我有一個視頻文件(video.mp4)和2個音頻文件(audio1.mp3和audio2.mp3)。視頻長度爲60秒,每個音頻文件都有30秒的長度。ffmpeg在一個視頻文件中的2個音頻文件

我試圖實現的是: 視頻的前20秒是原始音頻流,接着是20秒的第一個音頻文件(偏移5秒,長度爲20s),同樣與第二個音頻文件。

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 

上面的命令取第一個輸入的視頻流和第三個輸入的音頻流。第二個輸入的音頻流似乎被覆蓋。如何將所有音頻流放在一起,以及如何在音頻流開始時定義偏移量?

回答

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

謝謝。這就是我所尋找的 –

相關問題