Создание видео с изображений с различными SAR с помощью FFMPEG

Я пытаюсь запустить команду ffmpeg :

ffmpeg -y -threads 2 -loop 1 -t 5 -i watermark-0.png -loop 1 -t 2.5 -i watermark-1.png -loop 1 -t 2.5 -iwatermark-2.png -loop 1 -t 2.5 -i watermark-3.png -loop 1 -t 2.5 -i4.png -loop 1 -t 2.5 -i watermark-5.png -loop 1 -t 2.5 -i watermark-6.png -loop 1 -t 2.5 -i watermark-7.png -filter_complex [1:v][0:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b1v];[2:v][1:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b2v];[3:v][2:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b3v];[4:v][3:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b4v];[5:v][4:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b5v];[6:v][5:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b6v];[7:v][6:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b7v];[0:v][b1v][1:v][b2v][2:v][b3v][3:v][b4v][4:v][b5v][5:v][b6v][6:v][b7v][7:v]concat=n=15:v=1:a=0,format=yuv420p[v] -map [v] -c:v libx264 -r 120 -s 1280x720 -aspect 16:9 -crf 1 -preset ultrafast output.mp4 

Но, я получаю ошибку ffmpeg: первые параметры верхнего уровня ввода (размер 1280×720, SAR 5689: 5669) не соответствуют соответствующим нижним параметрам второй входной связи (1280×720, SAR 1: 1)

Ffmpeg stdout:

 Input #0, png_pipe, from '/media/test/a0201d256f97c39d4f05-watermark-0.png': Duration: N/A, bitrate: N/A Stream #0:0: Video: png, rgb24, 1280x720 [SAR 72:72 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc Input #1, png_pipe, from '/media/test/a0201d256f97c39d4f05-watermark-1.png': Duration: N/A, bitrate: N/A Stream #1:0: Video: png, rgb24, 1280x720 [SAR 5905:5905 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc Input #2, png_pipe, from '/media/test/a0201d256f97c39d4f05-watermark-2.png': Duration: N/A, bitrate: N/A Stream #2:0: Video: png, rgb24, 1280x720 [SAR 100:100 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc Input #3, png_pipe, from '/media/test/a0201d256f97c39d4f05-watermark-3.png': Duration: N/A, bitrate: N/A Stream #3:0: Video: png, rgb24, 1280x720 [SAR 11378:11338 DAR 91024:51021], 25 fps, 25 tbr, 25 tbn, 25 tbc Input #4, png_pipe, from '/media/test/a0201d256f97c39d4f05-watermark-4.png': Duration: N/A, bitrate: N/A Stream #4:0: Video: png, rgb24, 1280x720 [SAR 72:72 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc Input #5, png_pipe, from '/media/test/a0201d256f97c39d4f05-watermark-5.png': Duration: N/A, bitrate: N/A Stream #5:0: Video: png, rgb24, 1280x720 [SAR 3779:3779 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc Input #6, png_pipe, from '/media/test/a0201d256f97c39d4f05-watermark-6.png': Duration: N/A, bitrate: N/A Stream #6:0: Video: png, rgb24, 1280x720 [SAR 100:100 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc Input #7, png_pipe, from '/media/test/a0201d256f97c39d4f05-watermark-7.png': Duration: N/A, bitrate: N/A Stream #7:0: Video: png, rgb24, 1280x720 [SAR 72:72 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc [Parsed_blend_2 @ 0x1d8ce80] First input link top parameters (size 1280x720, SAR 5689:5669) do not match the corresponding second input link bottom parameters (1280x720, SAR 1:1) [Parsed_blend_2 @ 0x1d8ce80] Failed to configure output pad on Parsed_blend_2 

Итак, я пытаюсь указать SAR в следующей команде:

 ffmpeg -y -threads 2 -loop 1 -t 5 -i watermark-0.png -loop 1 -t 2.5 -i watermark-1.png -loop 1 -t 2.5 -iwatermark-2.png -loop 1 -t 2.5 -i watermark-3.png -loop 1 -t 2.5 -i4.png -loop 1 -t 2.5 -i watermark-5.png -loop 1 -t 2.5 -i watermark-6.png -loop 1 -t 2.5 -i watermark-7.png -filter_complex [0:v]setsar=1[sar0];[1:v][sar0]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b1v];[1:v]setsar=1[sar1];[2:v][sar1]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b2v];[2:v]setsar=1[sar2];[3:v][sar2]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b3v];[3:v]setsar=1[sar3];[4:v][sar3]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b4v];[4:v]setsar=1[sar4];[5:v][sar4]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b5v];[5:v]setsar=1[sar5];[6:v][sar5]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b6v];[6:v]setsar=1[sar6];[7:v][sar6]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b7v];[0:v][b1v][1:v][b2v][2:v][b3v][3:v][b4v][4:v][b5v][5:v][b6v][6:v][b7v][7:v]concat=n=15:v=1:a=0,format=yuv420p[v] -map [v] -c:v libx264 -r 120 -s 1280x720 -aspect 16:9 -crf 1 -preset ultrafast output.mp4 

Но, я все равно получаю ту же ошибку: первые параметры верхнего уровня ввода (размер 1280×720, SAR 5689: 5669) не соответствуют соответствующим нижним параметрам второго входного канала (1280×720, SAR 1: 1)

Это первый вопрос. Вторая проблема заключается в том, что мне нужно заставить эту команду работать с фильтром zoompan, и я не знаю, где даже начать получать этот дополнительный фильтр для работы или куда поместить его в команду.

Помогите??

Вы должны установить все SAR заранее. Таким образом, [1:v][sar0]blend=.. будет терпеть неудачу, потому что 1:v все еще представляет другой SAR. [sar1][sar0]blend=.. "будет работать и так далее.

Это может быть проще сделать для отдельной команды для каждого входного изображения и использовать вывод:

 ffmpeg -i watermark-5.png -vf setsar=1 watermark-5n.png 
  • Вставьте фоновое изображение с помощью FFmpeg
  • Как преобразовать весь каталог с помощью ffmpeg?
  • Как управлять генерацией ключевого кадра ffmpeg?
  • Concat подразделы видео с использованием ffmpeg
  • Ffmpeg - Создайте видео с кадра изображения с началом и cout
  • Преобразование FLV в MP4 с использованием FFMPEG и сохранение качества
  • Видеорез с отсутствующими кадрами в FFmpeg
  • Как объединить аудио и видео файл в ffmpeg
  • Объяснение настройки x264
  • Резервное / автономное потоковое изображение с ffmpeg / nginx RTMP
  • Добавление растрового изображения водяного знака поверх видео в android: MediaMuxer 4.3 или ffmpeg
  • Interesting Posts

    Html.ActionLink как кнопка или изображение, а не ссылка

    Как работает экзистенциальный оператор CoffeeScript?

    Скрыть открытые ярлыки на рабочем столе без административных привилегий

    Как работает CorFlags.exe / 32BIT +?

    Как реализовать сопоставимый интерфейс Java?

    Настроить сетевое местоположение на «Рабочую сеть» в Windows 7 Home edition

    SandForce контроллер SSD Сбор мусора для систем без поддержки TRIM

    Как я могу отсортировать двухмерный массив в MATLAB по отношению к одному столбцу?

    R, передающая имя файла сценарию в аргументах (Windows)

    Преимущества формата DOCX над DOC

    Определить размер кучи приложения в Android

    Борьба с кешированием на стороне клиента в Django

    Доступ к каталогу ресурсов доступа к ресурсам

    Как включить скрипты, расположенные внутри папки node_modules?

    Как использовать кнопку отключения звука клавиатуры для отключения только динамиков, а не наушников?

    Давайте будем гением компьютера.