ffmpeg 將音頻(wav)添加到視頻(mp4)而不重新編碼視頻

ffmpeg 將音頻(wav)添加到視頻(mp4)而不重新編碼視頻

我只是想知道如何添加音頻,同時保持視頻上預先存在的音頻完好無損:我做了一些研究,似乎這裡有一個類似的問題:

使用 ffmpeg 將音訊新增至視頻

所以我正在考慮使用從 slhck 取得的程式碼片段:

ffmpeg -i input.mp4 -i input.wav -c:v copy -map 0:v:0 -map 0:a:0 -map 1:a:0 -c:a:0 copy -c:a:1 aac -b:a 192k output.mp4

正如slhck 所說,音訊編解碼器wav 與mp4 不相容,因此必須重新編碼,但我只想確保視訊不會重新編碼,我認為這種情況正在發生,因為ffmpeg 正在以200 倍的速度執行該過程。

編輯:唯一的問題是有兩種不同的音訊串流,我在想是否可以有一個組合的音訊串流(將兩者混合在一起)。

編輯:在一位非常慷慨的 Reddit 用戶的幫助下,我成功地透過 amix-filter 將兩個串流合併為一個。現在可以了!

ffmpeg -i input.mp4 -i input.wav -filter_complex [0:a:0][1:a:0]amix=inputs=2:duration=longest[aout] -c:v copy -map 0:v:0 -map [aout] -c:a aac -b:a 192k output.mp4

答案1

在一位非常慷慨的 Reddit 用戶的幫助下,我成功地透過 amix-filter 將兩個串流合併為一個。現在可以了!

ffmpeg -i input.mp4 -i input.wav -filter_complex [0:a:0][1:a:0]amix=inputs=2:duration=longest[aout] -c:v copy -map 0:v:0 -map [aout] -c:a aac -b:a 192k output.mp4

相關內容