A ideia por trás do meu Obter o primeiro quadro de um GIF animado com o ImageMagick O objetivo do post era melhorar o desempenho de uma página não carregando um GIF animado automaticamente, mas, em vez disso, pegando o primeiro quadro, exibindo-o e permitindo que os usuários “clicassem para ativar” o GIF. Essa estratégia economizaria o tempo de carregamento e a GPU. A melhor solução para GIFs animados era o ImageMagick, mas qual é a melhor solução para vídeo? A resposta é ffmpeg. Os comandos a seguir permitirão que o senhor exporte imagens (capturas de tela ou quadros) de um vídeo!




Primeiro quadro


O caso de uso mais comum é capturar o primeiro quadro (ou qualquer quadro individual em um determinado momento) de um vídeo. O senhor pode fazer isso por meio de:


ffmpeg -i myvideo.webm -ss 00:00:01 -vframes 1 first-frame.png


O senhor vai querer ajustar o -ss dependendo da marca de hora:minuto:segundo da qual o senhor deseja que a imagem venha.


Quadros em intervalos de segundos


Se o senhor quiser extrair imagens em determinados intervalos de um vídeo (preferencialmente um vídeo curto), usaria o seguinte:


ffmpeg -i myvideo.webm -vf fps=fps=1 screen-%d.png


O %d representa um número crescente que é usado para anotar o segundo número no nome do arquivo.


Quadros em intervalos de minutos


Agora, digamos que o senhor queira exportar imagens em intervalos de minutos, talvez como um ponto de entrada em diferentes momentos do vídeo, ou que seja um site pornô comum. Isso serve:


ffmpeg -i myvideo.webm -vf fps=fps=1/60 screen-%03d.jpg


%03d significa que o número ordinal de cada imagem em miniatura deve ser formatado com 3 dígitos.


Assim como o utilitário ImageMagick usado na minha postagem anterior, o ffmpeg tem sido um elemento básico do gerenciamento de mídia há vários anos. Ele é muito confiável, respeitado e, assim como o VLC player, o senhor pode usar praticamente qualquer arquivo de vídeo e obter um resultado!