ffmpeg - объединять изображения с видео

404
Rich

У меня есть видео со звуком, которое я пытаюсь объединить с 2 изображениями - одно изображение до начала видео и одно изображение после окончания видео - но сейчас я получаю эту ошибку -

Спецификатор потока ': 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 
0

1 ответ на вопрос

3
LordNeckbeard

Вам необходимо сопоставить входные данные 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 
Я получаю эту ошибку - `[Parsed_concat_0 @ 0x24bbc80] Входная ссылка в параметрах in1: v0 (размер 1280x720, SAR 0: 1) не соответствует соответствующей выходной ссылке в параметрах in0: v0 (1920x1080, SAR 0: 1) [Parsed_concat_0 @ 0x24bbc80 ] Не удалось настроить панель вывода для Parsed_concat_0 Ошибка повторной инициализации фильтров! Не удалось вставить кадр в сеть фильтра: Неверный аргумент Ошибка при обработке декодированных данных для потока № 2: 0 Преобразование не удалось! ` Rich 5 лет назад 0
Для concat все видео должны иметь одинаковое разрешение и примерное соотношение сторон. Это должно быть проверено и подтверждено до согласования. Однако вы можете указать фильтру игнорировать такие ошибки, используя `unsafe = 1` (добавьте его после` a = 1` с двоеточием). Gyan 5 лет назад 0
Есть ли способ изменить размер файла изображения, чтобы соответствовать? Rich 5 лет назад 0
@Rich См. Https://superuser.com/a/1052349/48078 slhck 5 лет назад 0
Хорошо, спасибо, я принял ваш ответ. Я также добавил правку в мой вопрос, с которой мне нужна помощь, если это возможно. Rich 5 лет назад 0
@Rich Например # 2: `" [0: v] [2: a] [1: v] [1: a] concat = n = 2: v = 1: a = 1 [v] [a] "` , Например # 3: `" [0: v] [0: a] [1: v] [2: a] concat = n = 2: v = 1: a = 1 [v] [a] "`. Что касается ошибки в первом комментарии: вот почему вы должны ** всегда ** включать в свой вопрос полный вывод консоли из ваших команд, чтобы мы могли предвидеть потенциальные проблемы и предоставлять более подходящие, менее общие ответы для вашего конкретного случая. LordNeckbeard 5 лет назад 0