Búsqueda de sitios web

Cómo acercar y alejar videos usando FFmpeg


FFmpeg es un potente conversor de audio y vídeo de código abierto. Usando FFmpeg, podemos codificar, decodificar, transcodificar, mux, demux, grabar, cambiar el tamaño, transmitir, filtrar y reproducir casi todo tipo de archivos multimedia. No solo eso, también podemos capturar transmisiones de audio/vídeo en vivo. FFmpeg viene con muchos filtros para realizar diferentes tareas. Uno de los filtros menos conocidos pero útiles es zoompan. Usando el filtro zoompan, podemos acercar y alejar videos fácilmente en Linux. Déjame mostrarte cómo hacerlo usando un comando de ejemplo.

Asegúrese de haber instalado FFmpeg en su máquina Linux. Hemos documentado los pasos para instalar FFmpeg en sistemas operativos Linux populares en el siguiente enlace.

  • Cómo instalar FFmpeg en Linux

Una vez que FFmpeg esté instalado, vaya a la ubicación donde guardó el video y ejecute el siguiente comando para acercarlo y alejarlo cada X segundos:

ffmpeg -i input.mp4 -vf "zoompan=z='if(lte(mod(time,10),3),2,1)':d=1:x=iw/2-(iw/zoom/2):y=ih/2-(ih/zoom/2):fps=30" output.mp4

El comando anterior ampliará el vídeo hacia el centro del vídeo con un zoom 2x durante los primeros 3 segundos de cada bloque de tiempo de 10 segundos. Reemplace input.mp4 con su nombre de archivo. También ajuste los valores según sus requisitos y configure el FPS para que el filtro coincida con la entrada. El valor predeterminado es 25.

Puede encontrar los detalles de FPS entre otros detalles de un video determinado usando el siguiente comando:

ffmpeg -i input.mp4

Encuentre el valor de FPS de un video usando ffmpeg

Aquí está el vídeo de entrada real antes de la conversión:

Vídeo de entrada

Y aquí está el vídeo convertido (acercar y alejar):

Vídeo de salida

¿Notaste la diferencia? El vídeo se amplía a 2X durante los primeros 3 segundos y luego vuelve a la normalidad (alejamiento). Exactamente en el décimo segundo, el vídeo se vuelve a ampliar durante los primeros 3 segundos y el ciclo continúa hasta que finaliza el vídeo.

También puede probar las siguientes configuraciones de zoompan que se encuentran en la sección de ayuda del filtro de zoompan de FFmpeg.

Haga zoom hasta 1,5x y desplácese al mismo tiempo hasta algún punto cerca del centro de la imagen:

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

Amplíe hasta 1,5x y realice una panorámica siempre en el centro de la imagen:

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

Igual que el anterior pero sin pausas:

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

Amplíe 2x el centro de la imagen solo durante el primer segundo del vídeo de entrada:

zoompan=z='if(between(in_time,0,1),2,1)':d=1:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'

Para obtener más ejemplos de comandos FFmpeg, consulte la siguiente guía:

  • Más de 20 comandos FFmpeg para principiantes

Espero que esto ayude.

Artículos relacionados