Substituir GIFs por vídeo

Neste codelab, você vai melhorar o desempenho substituindo um GIF animado por um vídeo.

Medir primeiro

Primeiro meça o desempenho do site:

  1. Para visualizar o site, pressione Ver app. Em seguida, pressione Tela cheia tela cheia
  2. Pressione "Control+Shift+J" (ou "Command+Option+J" no Mac) para abrir o DevTools.
  3. Clique na guia Lighthouse.
  4. Verifique se a caixa de seleção Desempenho está marcada na lista Categorias.
  5. Clique no botão Gerar relatório.

Ao terminar, você verá que o Lighthouse sinalizou o GIF como um problema em "Usar formatos de vídeo para conteúdo animado" auditoria.

Baixar o FFmpeg

Há várias maneiras de converter GIFs em vídeo: que este guia usa FFmpeg (em inglês). Ele já vem instalado na VM Glitch, e, se quiser, pode seguir estas instruções para instalá-lo em seu locais. máquina .

Abra o console

Verifique se o FFmpeg está instalado e funcionando:

  1. Clique em Remixar para editar para tornar o projeto editável.
  2. Clique em Terminal. Observação: se o botão "Terminal" não aparecer, talvez seja necessário usar a opção "Tela cheia".
  3. No console, execute:
which ffmpeg

Você vai encontrar um caminho de arquivo de volta:

/usr/bin/ffmpeg

Mudar GIF para vídeo

  • No console, execute cd images para inserir o diretório de imagens.
  • Execute ls para conferir o conteúdo.

Você verá algo como:

$ ls
cat-herd.gif
  • No console, execute:
ffmpeg -i cat-herd.gif -b:v 0 -crf 25 -f mp4 -vcodec libx264 -pix_fmt yuv420p cat-herd.mp4

Isso instrui o FFmpeg a receber a entrada, representada pela sinalização -i, de cat-herd.gif e convertê-lo em um vídeo chamado cat-herd.mp4. Isso deve demorar um pouco segundo para ser executado. Quando o comando for concluído, você poderá digitar ls novamente. e conferir dois arquivos:

$ ls
cat-herd.gif  cat-herd.mp4

Criar vídeos WebM

Enquanto o MP4 existe desde 1999, o WebM é um “iniciante” relativo e já foi lançado inicialmente em 2010. Vídeos WebM podem ser muito menores do que vídeos MP4. Portanto, faz sentido gerar os dois. Felizmente, o elemento <video> permite que você várias origens. Assim, se um navegador não suportar WebM, poderá substituí-lo por MP4.

  • No console, execute:
ffmpeg -i cat-herd.gif -c vp9 -b:v 0 -crf 41 cat-herd.webm
  • Para verificar os tamanhos dos arquivos, execute:
ls -lh

Você deve ter um GIF e dois vídeos:

$ ls -lh
total 4.5M
-rw-r--r-- 1 app app 3.7M May 26 00:02 cat-herd.gif
-rw-r--r-- 1 app app 551K May 31 17:45 cat-herd.mp4
-rw-r--r-- 1 app app 341K May 31 17:44 cat-herd.webm

Observe que o GIF original tem 3,7 mi, enquanto a versão em MP4 é 551 K, e a A versão do WebM é somente 341K. É uma grande economia!

Atualizar o HTML para recriar o efeito GIF

Os GIFs animados têm três características principais que os vídeos precisam replicar:

  • Eles são reproduzidos automaticamente.
  • Elas são executadas continuamente (normalmente, mas é possível evitar esse processo).
  • Eles são silenciosos.

Felizmente, é possível recriar esses comportamentos usando o elemento <video>.

  • No arquivo index.html, substitua a linha pelo <img> por:
<img src="/images/cat-herd.gif" alt="Cowboys herding cats.">
<video autoplay loop muted playsinline></video>

Um elemento <video> que usa esses atributos será reproduzido automaticamente, em loop sem parar, reproduzir áudio e inline (ou seja, sem tela cheia), comportamentos esperados de GIFs animados. 🎉

Especifique suas origens

Só falta especificar as origens dos vídeos. O elemento <video> requer um ou mais elementos filhos <source> que apontam para diferentes arquivos de vídeo que navegador pode escolher, dependendo do formato com suporte. Atualize o <video> com elementos <source> vinculados aos seus vídeos de gato:

<video autoplay loop muted playsinline>
  <source src="/images/cat-herd.webm" type="video/webm">
  <source src="/images/cat-herd.mp4" type="video/mp4">
</video>

Visualizar

  • Para visualizar o site, pressione Ver app. Em seguida, pressione Tela cheia tela cheia

A experiência deve ser a mesma. Até aqui, tudo bem.

Verificar com o Lighthouse

Com o site ativo aberto:

  1. Pressione "Control+Shift+J" (ou "Command+Option+J" no Mac) para abrir o DevTools.
  2. Clique na guia Lighthouse.
  3. Verifique se a caixa de seleção Desempenho está marcada na lista Categorias.
  4. Clique no botão Gerar relatório.

A caixa "Usar formatos de vídeo para conteúdo animado" auditoria agora é passando! Uhuuu! 💪