Questão Imagem do FFMPEG Zoompan para a posição central


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

Zoom até 1,5 e pan ao mesmo tempo para algum ponto perto do 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

Zoom até 1,5 e pan 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 está feliz com o efeito de zoom. Eu posso ver alguns sacudindo problema quando estiver zumbindo.

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


3


origem


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.mp4 está trabalhando para mim - Minesh Patel


Respostas:


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

As escalas a seguir aumentam 10x, aproximam o zoom e, em seguida, reduzem a escala de volta para 720p -2 O valor 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 parece que quanto maior o upscale inicial, mais suave é 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 é muito complicado.


1