
Consegui usar o upscale em uma imagem antes de panorâmica e zoom usando este código:
ffmpeg -y -t 15 -i 1.jpg -t 15 -i 2.jpg -t 15 -filter_complex "[0:v]scale=8000:-1,zoompan=z='min(zoom+0.0020,1.5)':d=417[v0]; [1:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.021,zoom-0.0020))':d=417,fade=t=in:st=0:d=5[v1];[v0][v1]concat=n=2:v=1:a=0,format=yuv420p[v]" -c:v libx264 -map "[v]" -s "800x450" -t 300 -threads 2 video.mp4
Mas não consigo fazer o mesmo em várias imagens usando:
ffmpeg -y -t 15 -i 1.jpg -t 15 -i 2.jpg -t 15 -filter_complex "[0:v]scale=8000:-1,zoompan=z='min(zoom+0.0020,1.5)':d=417[v0]; [1:v]scale=8000:-1,zoompan=z='if(lte(zoom,1.0),1.5,max(1.021,zoom-0.0020))':d=417,fade=t=in:st=0:d=5[v1];[v0][v1]concat=n=2:v=1:a=0,format=yuv420p[v]" -c:v libx264 -map "[v]" -s "800x450" -t 300 -threads 2 video.mp4
Este é o erro gerado:
Os parâmetros do link de entrada in1:v0 (tamanho 1280x720, SAR 59001:59000) não correspondem aos parâmetros do link de saída in0:v0 correspondentes (1280x720, SAR 1:1) [Parsed_concat_5 @ 0000022fb3004b80] Falha ao configurar o bloco de saída em Parsed_concat_5 Erro ao reinicializar os filtros! Falha ao injetar quadro na rede de filtros: Argumento inválido Erro ao processar os dados decodificados para o fluxo #1:0 Falha na conversão!
Qualquer ajuda seria apreciada, obrigado ...
Responder1
Usar
ffmpeg -y -i 1.jpg -i 2.jpg -filter_complex "[0:v]scale=8000:-1,zoompan=z='min(zoom+0.0020,1.5)':d=417:s=800x450,setsar=1[v0]; [1:v]scale=8000:-1,zoompan=z='if(lte(zoom,1.0),1.5,max(1.021,zoom-0.0020))':d=417:s=800x450,setsar=1,fade=t=in:st=0:d=5[v1];[v0][v1]concat=n=2:v=1:a=0,format=yuv420p[v]" -c:v libx264 -map "[v]" -t 300 -threads 2 video.mp4
zoompan opera em cada imagem individualmente. Ao adicionar -t 15
antes de cada imagem, ele operará em 375 frames de cada imagem, produzindo, para cada uma, um zoompan de 417 frames! Eu não acho que é isso que você quer.
Como concat está reclamando de proporções incompatíveis, setsar é adicionado para forçar um SAR comum.