Pesquisa de site

Como aumentar e diminuir o zoom de vídeos usando FFmpeg


FFmpeg é um poderoso conversor de áudio e vídeo de código aberto. Usando o FFmpeg, podemos codificar, decodificar, transcodificar, mux, demux, gravar, redimensionar, transmitir, filtrar e reproduzir quase todos os tipos de arquivos de mídia. Além disso, também podemos obter transmissão de áudio/vídeo ao vivo. O FFmpeg vem com vários filtros para realizar diferentes tarefas. Um dos filtros menos conhecidos, mas úteis, é o zoompan. Usando o filtro zoompan, podemos facilmente ampliar e reduzir vídeos no Linux. Deixe-me mostrar como fazer isso usando um comando de exemplo.

Certifique-se de ter instalado o FFmpeg em sua máquina Linux. Documentamos as etapas para instalar o FFmpeg em sistemas operacionais Linux populares no link a seguir.

  • Como instalar o FFmpeg no Linux

Depois que o FFmpeg estiver instalado, vá para o local onde você salvou o vídeo e execute o seguinte comando para aumentar e diminuir o zoom a 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

O comando acima aumentará o zoom em direção ao centro do vídeo para zoom 2x durante os primeiros 3 segundos de cada bloco de tempo de 10 segundos. Substitua input.mp4 pelo seu nome de arquivo. Ajuste também os valores conforme sua necessidade e defina o FPS do filtro para corresponder à entrada. O valor padrão é 25.

Você pode encontrar os detalhes do FPS entre outros detalhes de um determinado vídeo usando o seguinte comando:

ffmpeg -i input.mp4

Encontre o valor FPS de um vídeo usando ffmpeg

Aqui está o vídeo de entrada real antes da conversão:

Vídeo de entrada

E aqui está o vídeo convertido (aumentar o zoom):

Vídeo de saída

Você notou a diferença? O vídeo é ampliado para 2X durante os primeiros 3 segundos e depois volta ao normal (menos zoom). Exatamente no 10º segundo, o vídeo é novamente ampliado durante os primeiros 3 segundos e o ciclo continua até o vídeo terminar.

Você também pode tentar as seguintes configurações de zoompan fornecidas na seção de ajuda do filtro zoompan FFmpeg.

Aumente o zoom em até 1,5x e mova 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

Amplie até 1,5x e desloque 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)'

O mesmo que acima, mas sem pausa:

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

Aumente o zoom 2x no centro da imagem apenas no primeiro segundo do 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 obter mais exemplos de comandos FFmpeg, consulte o seguinte guia:

  • Mais de 20 comandos FFmpeg para iniciantes

Espero que isto ajude.

Artigos relacionados