Talvez o filtro de vídeo scale
possa fornecer o que você está procurando:
ffmpeg -r 30 -i foo/%04d.png -vf "scale=1920:1080,format=yuv420p" -codec:v libx264 out.mp4
Isso forçará um tamanho de 1920x1080 para cada quadro. Isso pode resultar em uma imagem ligeiramente esticada ou esmagada se suas entradas de tamanho estranho forem simplesmente cortadas em vez de redimensionadas incorretamente. Se esse for o caso, considere o uso do filtro de vídeo pad
, mas saiba que isso resultará em um barra colorida sólida para compensar os pixels ausentes.
scale
também aceita várias funções se você quiser se divertir com isso. Consulte Redimensionando vídeos com o ffmpeg para caber no player de tamanho estático como exemplo.
Eu adicionei format=yuv420p
porque, com uma entrada RGB para libx264, o ffmpeg tentará evitar a subamostragem de croma resultando no formato de pixel planar YUV 4: 4: 4 que a maioria dos jogadores não pode decodificar.