我有一個帶音頻的視頻,我試圖將其與 2 個圖像合併 - 一個圖像在視頻開始之前,一個圖像在視頻結束之後 - 但現在我收到此錯誤 -
filtergraph 描述中的流說明符':a' [0:v] [0:a] [1:v] [2:a] concat=n=3:v=1:a=1 [v] [a]不匹配溪流。
這是我正在使用的程式碼 -
ffmpeg \
-loop 1 -framerate 24 -t 10 -i default_start.png \
-i output-first.mp4 \
-loop 1 -framerate 24 -t 10 -i default_end.png \
-f lavfi -t 3 -i anullsrc \
-filter_complex "[0:v] [0:a] [1:v] [2:a] concat=n=3:v=1:a=1 [v] [a]" \
-c:v libx264 -c:a aac -map "[v]" -map "[a]" -y output-second.mp4 2>&1
編輯
我還嘗試使用 2 個不同的命令,每個命令使用 1 個圖像檔案而不是兩個 -
// Image at start only
ffmpeg -y \
-loop 1 -framerate 24 -t 10 -i default_start.png \
-i output-first.mp4 \
-f lavfi -t 3 -i anullsrc \
-filter_complex "[0:v] [2:a] [1:v] [1:a] [2:v] [3:a] concat=n=2:v=1:a=1 [v] [a]" \
-c:v libx264 -c:a aac -map "[v]" -map "[a]" output-second.mp4 2>&1
// Image at end only
ffmpeg -y \
-i output-first.mp4 \
-loop 1 -framerate 24 -t 10 -i default_end.png \
-f lavfi -t 3 -i anullsrc \
-filter_complex "[0:v] [3:a] [1:v] [1:a] [2:v] [3:a] concat=n=3:v=1:a=1 [v] [a]" \
-c:v libx264 -c:a aac -map "[v]" -map "[a]" output-second.mp4 2>&1
答案1
您需要將 concat 輸入與對應的檔案輸入映射:
ffmpeg -y \
-loop 1 -framerate 24 -t 10 -i default_start.png \
-i output-first.mp4 \
-loop 1 -framerate 24 -t 10 -i default_end.png \
-f lavfi -t 3 -i anullsrc \
-filter_complex "[0:v] [3:a] [1:v] [1:a] [2:v] [3:a] concat=n=3:v=1:a=1 [v] [a]" \
-c:v libx264 -c:a aac -map "[v]" -map "[a]" output-second.mp4