Imagem do zoompan FFMPEG para a posição central

4

O documento FFMPEG para zoompan https://ffmpeg.org/ffmpeg-filters.html#Examples-89 diz

Aumente o zoom até 1,5 e gire ao mesmo tempo em algum ponto próximo ao centro da imagem:

zoompan=z='min(zoom+0.0015,1.5)':d=700:x='if(gte(zoom,1.5),x,x+1/a)':y='if(gte(zoom,1.5),y,y+1)':s=640x360

Aumente o zoom até 1,5 e gire sempre no centro da imagem:

zoompan=z='min(zoom+0.0015,1.5)':d=700:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'

Eu tentei tanto a opção, mas ainda não estou feliz com o efeito de zoom. Eu posso ver algum problema tremendo quando o zoom.

Pensando se existe alguma maneira melhor de conseguir isso. Quero ampliar uma imagem (proporção 16: 9) para a posição centralizada por alguns segundos XX e abaixo é o meu mesmo código

ffmpeg -r 25 -i image.png -filter_complex "zoompan=z='min(zoom+0.0032,5)':d=125:x='iw/1.7777-(iw/zoom/1.7777)':y='ih/1.7777-(ih/zoom/1.7777)'"  -shortest  -pix_fmt yuv420p -c:v libx264 image_output.mp4

Arquivo de vídeo: http://sendvid.com/zn6oftiu

Balajee
fonte
Arquivo de imagem: i.stack.imgur.com/LVjYi.jpg
Balajee
ffmpeg -r 25 -i LVjYi.jpg -filter_complex "scale=-6:6*ih,zoompan=z='min(zoom+0.0099,1.5)':d=125:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)',scale=-2:720" -y -shortest -c:v libx264 image_output.mp4está trabalhando para mim
Minesh Patel

Respostas:

1

Eu estava tendo o mesmo problema e obtive uma resposta que funcionou muito bem . A chave é aumentar a escala da imagem antes de aplicar o filtro de zoom. Você pode reduzir a escala posteriormente para a resolução desejada.

A seguir, a escala é aumentada em 10x, aumenta o zoom para o centro e diminui a escala para 720p (o -2valor x nos filtros de escala mantém a proporção, ou seja scale=-2:10*ih). Isso praticamente elimina o jiggle:

ffmpeg -r 25 -i LVjYi.jpg -filter_complex "scale=-2:10*ih,zoompan=z='min(zoom+0.0015,1.5)':d=125:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)',scale=-2:720"  -y -shortest -c:v libx264 image_output.mp4

Observe que, quanto maior o upscale inicial, mais suave será o zoom resultante. Compare o acima com um upscale de apenas 2x:

ffmpeg -r 25 -i LVjYi.jpg -filter_complex "scale=-2:2*ih,zoompan=z='min(zoom+0.0015,1.5)':d=125:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)',scale=-2:720"  -y -shortest -c:v libx264 image_output.mp4

Esse ainda é jiggly.

Timbó Branco
fonte