У меня есть видео со звуком, которое я пытаюсь объединить с двумя изображениями — одним изображением до начала видео и одним изображением после его окончания, — но сейчас я получаю эту ошибку:
Спецификатор потока «: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