Vídeo para GIF
Transforma parte de um vídeo MP4, MOV ou WebM num GIF animado no navegador, com paleta de cores otimizada, estimativa de tamanho e pré-visualização.
Tempos em segundos (75,5) ou minutos:segundos (1:15,5).
O GIF é criado pelo FFmpeg compilado para WebAssembly, em duas passagens (uma paleta de cores ajustada ao teu clip e depois os fotogramas). Na primeira vez são transferidos cerca de 30 MB, que ficam depois na cache do navegador. Um navegador é mais lento do que um programa de computador: mantém os clips curtos.
Este GIF vai ser grande e lento de criar. Para um ficheiro mais leve, encurta a seleção, baixa os fotogramas por segundo ou reduz a largura.
Como criar um GIF a partir de um vídeo
- Larga um vídeo na caixa acima, ou clica nela para escolher um ficheiro (até 300 MB).
- Os primeiros 5 segundos ficam selecionados. Vai até ao momento que queres e carrega em Definir início aqui e depois em Definir fim aqui, ou escreve os tempos em segundos (
12,5) ou em minutos:segundos (0:12,5). Reproduzir seleção volta a mostrar a parte escolhida. - Escolhe os Fotogramas por segundo e a Largura. A linha ao lado do botão mostra a duração, o número de fotogramas, o tamanho em píxeis e uma estimativa aproximada do tamanho do ficheiro.
- Carrega em Criar GIF. Aparece uma barra de progresso com um botão Cancelar.
- O GIF animado aparece como pré-visualização. Se gostares, transfere-o; se for demasiado pesado, muda as definições e cria-o de novo.
Como funciona a conversão
Um GIF só pode ter 256 cores por fotograma, enquanto um fotograma de vídeo tem milhões. A qualidade de um GIF depende sobretudo de quais 256 cores são escolhidas. Esta ferramenta usa o método de duas passagens do FFmpeg, o recomendado para GIF com bom aspeto:
- Passagem da paleta. O FFmpeg lê uma vez a parte selecionada e cria uma paleta com as 256 cores que melhor representam este clip em particular (
palettegen), dando mais peso às zonas em movimento. - Passagem de codificação. Lê o clip outra vez e associa cada fotograma a essa paleta (
paletteuse), com um dithering leve por difusão de erro para suavizar os degradês. Só as zonas que mudam entre fotogramas recebem novo dithering, o que evita ruído intermitente e mantém o ficheiro mais pequeno.
Os fotogramas são também reamostrados para a taxa escolhida e redimensionados com o filtro Lanczos, que mantém o texto e os contornos nítidos. O resultado repete-se em ciclo infinito, como a maioria dos GIF na web.
Tudo corre no navegador, com o FFmpeg compilado para WebAssembly. Na primeira vez, são transferidos cerca de 30 MB, que ficam na cache do navegador. O teu vídeo nunca é enviado.
Manter o GIF pequeno
O GIF é um formato antigo e pouco eficiente: um GIF pesa muitas vezes 5 a 10 vezes mais do que o mesmo clip em MP4. O tamanho cresce com largura × altura × número de fotogramas, por isso:
- Encurta o clip. 2 a 6 segundos é o habitual para uma reação ou uma demonstração.
- Baixa os fotogramas por segundo. 10 fps é suficientemente fluido para a maior parte do conteúdo e pesa metade de 20 fps. As gravações de ecrã ficam muitas vezes bem a 5–8 fps.
- Reduz a largura. Passar de 640 px para 480 px divide o número de píxeis por quase dois. 480 px é um bom valor por defeito para conversas e redes sociais.
A estimativa de tamanho assume cerca de 0,3 bytes por píxel por fotograma. Os clips reais variam muito: as gravações de ecrã com cores lisas comprimem muito melhor, as imagens de câmara com grão muito pior. Quando a estimativa passa dos 15 MB ou o clip ultrapassa os 450 fotogramas, a ferramenta mostra um aviso. Acima de 1500 fotogramas recusa, porque a conversão demoraria demasiado e usaria demasiada memória num navegador.
Limites
Um navegador é mais lento do que um programa de computador: cada passagem descodifica o vídeo num único núcleo do processador. Clips curtos com larguras moderadas convertem-se em segundos; clips longos em Full HD podem demorar minutos. Para um excerto longo, corta-o primeiro com o cortador de vídeo e converte só essa parte. Os ficheiros que o navegador não consegue reproduzir (AVI, alguns MKV) podem ser convertidos na mesma, mas sem pré-visualização: escreve os tempos de início e de fim.
Perguntas frequentes
O meu vídeo é enviado?
Não. A conversão corre no navegador, com o FFmpeg compilado para WebAssembly. Nada é enviado para um servidor.
Porque é que o meu GIF é tão grande?
Porque o GIF comprime mal: cada fotograma é guardado quase como uma imagem completa com 256 cores. Encurta a seleção, baixa os fotogramas por segundo ou reduz a largura. Reduzir a largura para metade divide o tamanho por cerca de quatro.
Que taxa de fotogramas devo escolher?
10 fps é um bom equilíbrio entre fluidez e tamanho. Usa 15–25 fps para movimento rápido, como desporto ou jogos, e 5–8 fps para gravações de ecrã ou apresentações de diapositivos.
Porque é que há duas passagens?
A primeira passagem encontra as 256 cores que melhor se adaptam ao teu clip; a segunda desenha cada fotograma com elas. Uma paleta genérica única provoca faixas de cor e cores erradas, e é por isso que os GIF feitos desta forma ficam muito mais limpos.
A estimativa de tamanho é exata?
É uma orientação aproximada, não uma promessa. Usa uma proporção média, e o tamanho real depende de quanto a imagem se mexe e de quão detalhada é. O tamanho exato aparece depois da conversão.
O GIF mantém o som?
Não. O formato GIF não tem áudio. Para manteres o som, corta antes o vídeo, ou extrai o áudio em MP3 à parte.
Ferramentas relacionadas
- Cortar vídeo Corta um vídeo MP4, MOV, WebM ou MKV no navegador. Escolhe o início e o fim na pré-visualização, corta rápido sem recodificar ou ao fotograma exato.
- Extrator de fotogramas de vídeo Extrai qualquer fotograma de um vídeo como imagem PNG ou JPG em resolução total, avança fotograma a fotograma ou captura várias imagens num ZIP.
- Compressor de vídeo Comprime um vídeo no navegador para o partilhar por email ou chat. Escolhe uma qualidade ou um tamanho alvo em MB e baixa a resolução, sem envio.
- Vídeo para MP3 Extrai o som de um vídeo MP4, MOV, WebM ou MKV para um ficheiro MP3 no navegador. Escolhe a taxa de bits, guarda só uma parte, sem envio.