У меня есть 1 изображение и 1 видео, которое я хотел бы объединить. Я попытался изменить размер изображения и видео до одного размера с помощью этой команды:

ffmpeg -i image.jpg -vf scale=432:432 -strict -2 image_out.jpg
ffmpeg -i video.mp4 -vf scale=432:432 -strict -2 video_out.jpg

после изменения размера изображения и видео. Я запускаю команду, чтобы объединить их:

ffmpeg -loop 1 -framerate 24 -t 10 -i image_out.jpg -i video_out.mp4 -filter_complex "[0][1]concat=n=2:v=1:a=0" out.mp4

но получил ошибку:

[Parsed_concat_0 @ 0x3850cc0] Входная ссылка Параметры in1:v0 (размер 432x432, SAR 4: 3) не соответствуют соответствующей выходной ссылке Параметры in0:v0 (432x432, SAR 1: 1) [Parsed_concat_0 @ 0x3850cc0] Не удалось настроить панель вывода на Parsed_concat_0 Ошибка повторной инициализации фильтров! Не удалось ввести кадр в сеть фильтра: неверный аргумент Ошибка при обработке декодированных данных для потока # 1: 0 Преобразование не выполнено!

Я думаю, что с командой изменения размера что-то не так, но я не знаю, как заставить это работать.

1 ответ1

1

использование

ffmpeg -loop 1 -framerate 24 -t 10 -i image.jpg -i video.mp4 -filter_complex "[0]scale=432:432,setsar=1[im];[1]scale=432:432,setsar=1[vid];[im][vid]concat=n=2:v=1:a=0" out.mp4

Видеопотоки имеют примерное соотношение сторон. Видеопроигрыватели изменяют ширину во время воспроизведения, умножая сохраненную ширину на это число. Фильтр concat требует, чтобы входы имели одинаковый SAR. Я добавил фильтр setsar, чтобы сохранить одинаковый SAR для обоих входов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .