2016-08-17 78 views
0

好吧,我想了幾天的時間來找到合適的ffmpeg的命令將兩個單聲道文件合併成一個立體聲文件,但有一個單聲道的輸出的左聲道和單聲道文件輸入到輸出的帶輸出的持續時間設置爲最長的兩個單聲道文件的右聲道第二。只是創造我想要的東西,沒有任何關於持續時間,可以使用此命令:FFMPEG:兩個單聲道到一個立體聲文件,其持續時間是最長的那兩個單聲道文件的

ffmpeg -i left.mp3 -i right.mp3 -filter_complex "[0:a][1:a]amerge=inputs=2[aout]" -map "[aout]" output.mka 

但是,因爲它在文檔中稱,產量的持續時間默認爲最短的inputs..but我需要的輸出具有最長輸入單聲道文件的持續時間。我發現,這可以使用amix命令來完成:

ffmpeg -i INPUT1 -i INPUT2 filter_complex amix=inputs=2:duration=longest:dropout_transition=3 -ac 2 OUTPUT 

此設置輸出的文件中持續時間最長的輸入,但不是把輸入1至左聲道和輸入2到右聲道,它並將它們合併成一個,把它們放在左右聲道中。所以Left channel = input1 + input2;右聲道輸入1 =輸入2 +

我怎樣才能使輸出的文件時間設置爲最長,有這樣的結構:

Left channel=input1 
Right channel=input2 

提前感謝!

回答

0

可以使用apad過濾墊短流,然後用amerge

假設left更短,然後用

ffmpeg -i left.mp3 -i right.mp3 -filter_complex "[0]apad[a];[a][1]amerge[aout]" -map "[aout]" output.mka 
+0

謝謝,但我怎樣才能找出哪一個是短?因爲我有很多必須被合併到立體聲文件,所以我不能手動去檢查哪一個? –

相關問題