我的影片已有 1 個音訊串流。我有另一個m4a
檔案想要與視訊中已有的音訊串流合併。
該m4a
檔案比其他音訊串流短約 10 秒,並且根據FFmpeg
文件:
如果輸入的持續時間不同,輸出將以最短的時間停止。
但我希望它繼續使用較長的音訊串流(但仍然將兩個串流合併為一個。
這是我正在使用的當前命令,一旦最短的音訊串流完成,它就會停止音訊:
ffmpeg -i input.mp4 -i shorteraudio.m4a -filter_complex "[0:v]scale=-2:720,format=yuv420p[v];[0:a]amerge=inputs=2[a]" -map [v] -map [a] output.mp4
是否可以只用一個 FFmpeg 指令來完成我想做的事情?
答案1
如果已知第二個輸入的音訊串流較短,您可以填滿其長度,以便第一個輸入變得更短。
ffmpeg -i input.mp4 -i shorteraudio.m4a -filter_complex "[0:v]scale=-2:720,format=yuv420p[v];[1:a]apad[a1];[0:a][a1]amerge=inputs=2[a]" -map [v] -map [a] output.mp4