Масштаб FFMPEG, масштабирование и фильтр concat

Я использую ffmpeg для Android для создания видео в формате mp4. У меня проблемы с тем, чтобы эта команда работала в FFMPEG, в основном я пытаюсь добавить два изображения, масштабировать их, добавить эффект масштабирования и, наконец, объединить результат в один видеофайл. Я сделал что-то вроде этого:

ffmpeg 
-t 8 -i image1.png
-t 8 -i image2.png
-filter_complex
[0:v]scale=720:720[scl1]; [1:v]scale=720:720[scl2];
[scl1]zoompan=z=if(lte(zoom, 1.0), 1.55, max(1.001, zoom - 0.0010)):d=205, fade=t=out:st=7:d=1[v0];
[scl2]zoompan=z=if(lte(zoom, 1.0), 1.55, max(1.001, zoom - 0.0010)):d=205, fade=t=in:st=0:d=1,fade=t=out:st=7:d=1[v1];
[v0][v1]concat=n=2:v=1:a=0, format=yuv420p[v] -map [v] outputVideo.mp4

Некоторое время возился с этой командой, но все еще не могу заставить ее работать, и у меня возникла ошибка:

Input link in1:v0 parameters (size 1280x720, SAR 0:1) do not match the corresponding output link in0:v0 parameters (1280x720, SAR 45:31)
[Parsed_concat_7 @ 0xf0d77600] Failed to configure output pad on Parsed_concat_7

person Karate_Dog    schedule 02.08.2018    source источник


Ответы (1)


Использовать

ffmpeg 
-i image1.png
-i image2.png
-filter_complex
[0:v]scale=720:720,setsar=1[scl1]; [1:v]scale=720:720,setsar=1[scl2];
[scl1]zoompan=z=if(lte(zoom, 1.0), 1.55, max(1.001, zoom - 0.0010)):s=720x720:d=205, fade=t=out:st=7:d=1[v0];
[scl2]zoompan=z=if(lte(zoom, 1.0), 1.55, max(1.001, zoom - 0.0010)):s=720x720:d=205, fade=t=in:st=0:d=1,fade=t=out:st=7:d=1[v1];
[v0][v1]concat=n=2:v=1:a=0, format=yuv420p[v] -map [v] outputVideo.mp4

При использовании диапазона масштабирования для отдельных изображений установите длительность (в кадрах) в фильтре, а не на входе.

Выделенная вами проблема возникла из-за масштабного фильтра, регулирующего соотношение сторон. Фильтр сетсар делает их такими же.

person Gyan    schedule 02.08.2018