2015-10-05 699 views
1

我想將2個音頻文件混合在一起 - 一個文件的長度爲2分鐘,另一個文件的音量爲10秒。我希望兩個文件都能混音,因此仍然可以聽到兩個聲音。我希望這個10秒的剪輯在10秒內完全在30秒內到達,所以它會在40秒結束。ffmpeg在特定時間混合音頻

我知道如何使用的ffmpeg

ffmpeg -i input.mp3 -i input2.mp3 -filter_complex amerge -c:a libmp3lame -q:a 4 output.mp3 

在一起不過,我不知道如何在特定的時間開始這十第二聲混合2個音頻文件。

+1

應移到SuperUser.com因爲有一個類似的問題:https://superuser.com/questions/ 716320/ffmpeg-placing-audio-at-specific-location-with-complex-filters –

+0

感謝您的支持,但該解決方案對我無效,因爲我需要將該文件保存爲mp4格式 – Grbe1l

回答

3

因爲張貼這個我已經找到了解決這個問題 - 我想分享給其他人使用,因爲我花了很多時間尋找這個。

創建比最長剪輯長的空白音頻文件。

ffmpeg -f lavfi -i anullsrc=r=44100:cl=mono -t <seconds> -q:a 9 -acodec libmp3lame <blank audio> 

從這裏你需要在你想要的空白音頻文件的時候添加10秒的剪輯。

ffmpeg -i <blank audio> -i < audio file 2> -filter_complex "aevalsrc=0:d= <time> [s1];[s1][1:a]concat=n=2:v=0:a=1[aout]" -c:v copy -map 0:v -map [aout] <output file> 
從這裏

那麼你覆蓋這個現在最長的剪輯原來長夾子

ffmpeg -i <output from silent and short clip> -i <original long clip> -filter_complex "amix=inputs=2:duration=longest:dropout_transition=0, volume=2" <output audio file> 
+0

我可以做所有這些嗎?一條線? – Ives