FFMPEG cria zoompan instável ou nervoso

FFMPEG cria zoompan instável ou nervoso

Quero criar um vídeo mp4 de 5 segundos a partir de 1 imagem.

Quando uso o código abaixo, o vídeo fica suave. A direção padrão é aumentar o zoom no canto superior esquerdo.

ffmpeg -loop 1 -i prop1.jpeg -vf "zoompan=z='min(zoom+0.0015,1.5)':d=125" -c:v libx264  -t 5 -s "800x450" fade.mp4

Então, para aumentar o zoom no canto superior direito, descobri como usar o código abaixo

ffmpeg -loop 1 -i prop1.jpeg -vf "zoompan=z='min(zoom+0.0015,1.5)':x='if(gte(zoom,1.5),x,x+1)':y='y':d=125" -c:v libx264  -t 5 -s "800x450" fade.mp4

Ele está aumentando o zoom na direção certa, mas o vídeo fica instável.

Também ocorreu algum erro ao converter:

[swscaler @ 0x429bda0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x429bac0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x429bac0] Warning: data is not aligned! This can lead to a speedloss
[swscaler @ 0x429bac0] deprecated pixel format used, make sure you did set range correctly
Last message repeated 97 times
[output stream 0:0 @ 0x37af200] 100 buffers queued in output stream 0:0, something may be wrong.
[swscaler @ 0x429bac0] deprecated pixel format used, make sure you did set range correctly
Last message repeated 24 times
[swscaler @ 0x42b7040] deprecated pixel format used, make sure you did set range correctly
Last message repeated 1 times

O que há de errado com o código?

Responder1

Use upscale antes do zoompan:

ffmpeg -loop 1 -i prop1.jpeg -vf "scale=8000:-1,zoompan=z='min(zoom+0.0015,1.5)':x='if(gte(zoom,1.5),x,x+1)':y='y':d=125" -c:v libx264  -t 5 -s "800x450" fade.mp4

Como acima nos comentários: este parece ser um bug do ffmpeg:https://trac.ffmpeg.org/ticket/4298

Encontrei esta solução alternativa aqui:ffmpeg: zoompan suave sem oscilação

informação relacionada