FFMPEG Zoompan Image para a posição central

3

Documento FFMPEG para zoompan link diz

Aplique zoom até 1,5 e desloque ao mesmo tempo para 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 desloque-se 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 ambas as opções, mas ainda não estou feliz com o efeito de zoom. Eu posso ver um problema de tremor quando estiver fazendo zoom.

Perguntando se existe uma maneira melhor de conseguir isso. Quero ampliar uma imagem (relação 16: 9) para a posição centrada por alguns XX segundos e abaixo está o 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: link

    
por Balajee 10.06.2016 / 16:04

1 resposta

1

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

As escalas a seguir aumentam 10x, aproximam o zoom e depois reduzem a escala de volta para 720p (o valor -2 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

Note 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

Aquele ainda é um jiggly.

    
por 12.08.2016 / 11:19

Tags