Home / Dicas e Tutoriais / Como Converter Um Vídeo em GIF Animado

Como Converter Um Vídeo em GIF Animado

Olá pessoal, hoje algumas dicas para fazer essa façanha. Vou passar como ter sucesso com isso usando 3 métodos.

Método 1

Usando o mplayer através de comandos.

1 – Instale alguns programas, caso não os tenha

Você precisa ter o mplayer, oimagemagick e o recordmydesktop instalados, então: No Ubuntu e derivados:

sudo apt-get install imagemagick mplayer gtk-recordmydesktop

No opensuse

sudo zypper install ImageMagick mplayer gtk-recordMyDesktop

Obs. O recordmydesktop serve apenas para gravar um vídeo de seu desktop ou uma área dele, mas você pode usar qualquer outro programa de gravação que desejar.

Saiba mais:
gravar

2 – Grave um vídeo

Grave um vídeo curto, de preferência de uma janela apenas e não da tela toda (para não ficar muito grande). E salve ou mova este vídeo gravado em uma pasta que desejar. No meu caso, salvei meu vídeo “teste.mp4” em /home/cleuber/Vídeos.

3 – Converta o vídeo em Imagens Jpeg

Bom agora que já gravamos um vídeo de nosso desktop, vamos gerar imagens jpeg desse vídeo. Primeiramente vou criar dentro da pasta Vídeos, uma pasta chamada “imagens”

mkdir /home/cleuber/Vídeos/imagens

Agora vou entrar na pasta Vídeos e converter o vídeo em diversas imagens jpeg colocando-as dentro da pasta “imagens”.

cd /home/cleuber/Vídeos
mplayer -ao null teste.mp4 -vo jpeg:outdir=/home/cleuber/Vídeos/imagens

4 – Convertendo em GIF

Agora vamos converter esse monte de imagens jpeg em uma imagem gif.

convert -limit memory 1 -limit map 1 /home/cleuber/Vídeos/imagens/* saida.gif

Obs. Na pasta que você estiver (no meu caso em home/cleuber/Vídeos), ele criará um arquivo chamado “saida.gif”. O arquivo ficará um tanto grande demais, (no meu teste 27,2 MB), mas vamos diminuir o tamanho.

teste

5 – Otimize o tamanho desse GIF para ficar menor:

convert -limit memory 1 -limit map 1 saida.gif -fuzz 10% -layers Optimize saida-otimizada.gif

Obs. Agora ele vai criar um novo arquivo bem menor chamado “saida-otimizada.gif” A diferença do meu teste é gritante – de 27,2 MB foi para 823,0 KB.

teste2

Pronto, sua imagem está pronta. Confira abaixo o resultado do arquivo.

saida-otimizada

Esse método, para mim, foi o melhor no sentido que o GIF ficou de um tamanho pequeno e com qualidade boa.

Método 2

Usando o FFMpeg e Criando um script para converter em GIF

1 – Crie um arquivo de texto usando o Gedit,

Aqui usarei o nome “mp42gif” com o comando abaixo e cole o conteúdo a seguir.

sudo gedit /usr/local/bin/mp42gif

Cole o conteúdo abaixo:

#!/bin/bash
clear
VIDEO_MP4=$1
echo "Qual tamanho do gif?"
echo ""
echo "1 - Pequeno"
echo "2 - Médio"
echo "3 - Grande"
read TAMANHO
case $TAMANHO in
1) TAMANHO=400 && EXT=pequeno ;;
2) TAMANHO=800 && EXT=mediano ;;
3) TAMANHO=1024 && EXT=grande ;;
*) echo "Opção desconhecida. Saindo..." && exit ;;
esac
clear
echo "Gravar por quantos segundos? (Ex.: 15)"
read TEMPO
clear
echo "Gravando por $TEMPO segundos em tamanho $EXT..."
sleep 2

ffmpeg -ss 00:00:00 -i $VIDEO_MP4 -to $TEMPO -r 30 -vf scale=$TAMANHO:-1 $(echo $1 | cut -f 1 -d '.')_$EXT.gif
echo "Fim do script!"

Obs.: altere o script para as suas necessidades, se quiser. Após isso, salve e feche o editor de texto.

2 – Mude as permissões do arquivo:

sudo chmod 755 /usr/local/bin/mp42gif

3 – Pronto, agora pode testar

Agora sempre que quiser criar um GIF a partir de um vídeo MP4 basta usar o comando:

mp42gif nomedovideo.mp4

Criando o GIF

1 – Com o aplicativo Kazam, gravei um vídeo do meu desktop e salvei-o com o nome gravar.mp4 na pasta vídeos 2 – Depois entrei na pasta Vídeos:

cd Vídeos

3 – E rodei o comando de conversão:

mp42gif gravar.mp4

Aparecerá no terminal duas perguntas: 1 – Tamanho: pequeno, médio ou grande, 2 – Quantos segundos ele irá gravar. (Daí veja o tamanho do seu vídeo e qual a duração dele ou até onde você deseja que ele seja convertido em gif), digite a quantidade de segundos e aperte Enter. Quando ele terminar, você terá como resultado o arquivo GIF na mesma pasta com o formato: nome do arquivo + tamanho + .gif. Veja o exemplo que acabei de fazer e que explica no próprio GIF que gerei este processo que acabei de citar:

convert-gif2_mediano

Observações

Esta é uma maneira bem simples de ter a mão sempre que precisar uma ferramenta de conversão para GIF muito simples e funcional. Mas vale lembrar que vídeos muito grandes e longos geram gifs muito pesados. A ideia é usar esse tipo de conversão para gifs para ilustrações bem curtas como o exemplo acima. E não esqueça de fazer as modificações necessárias nos scripts ao seu gosto. Por exemplo, onde eu determino o tamanho dos GIFs, coloquei os tamanhos 400, 800 e 1024 (para largura). Talvez você queira outros valores maiores ou menores. O framerate dos GIFs está em 30 (que significa 30 quadros por segundo), mas talvez você queira algo menor e menos fluido como 15 por exemplo. (O que geraria gifs de tamanhos menores também).

Método 3

Via Aplicativo 2GIF

2gifAinda em tempo, eu encontrei um aplicativo que utiliza justamente as opções do ffmpeg que podemos definir para criar um Gif. Trata-se do app 2Gif, que faz exatamente isso. Ele foi desenvolvido pelo Lorenzo Carbobell Cerezo e o site espanhol e repositório Atareao, que é famoso por outros apps e projetos para Linux como o My-weather-indicator entre outros (confira a lista completa aqui). Se você ainda não possui o repositório dele instalado, vale a pena e instalar esse app. Você pode instalá-lo no Ubuntu e derivados com o comando:

 

sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install 2gif

Agora que ele está instalado, basta abrí-lo utilizando o seu menu, ou Dash.

2gif-open

Agora é só arrastar o arquivo para o espaço esquerdo ou clicar no ícone de seta para cima para escolhê-lo. Depois definir no primeiro campo logo abaixo do arquivo, em que segundo o vídeo será capturado Depois definir no segundo campo logo abaixo do arquivo do lado direito, em que segundo ele parará de capturar. (isso ele costuma preencher sozinho quase sempre).

2gif1

Defina também o nome do arquivo de saída e local de saída dele e clique em “Executar”.

2gif2

Se preferir, antes de converter, você poderá também alterar algumas opções, tais como, taxa de quadros, e dimensões do arquivo GIF. Basta clicar no ícone das configurações.

2gif3

E então uma janela como esta aparecerá. Basta clicar no botão vermelho (de gravação) e então aguardar alguns segundos para ele fechar, (ou se não acontecer, você poderá fechá-lo) e visualizar o seu GIF no local onde definiu sua saída.

2gif-conv2

BUGS

Encontrei alguns travamentos nesse app e algumas configurações especialmente de tamanho não funcionaram fazendo o app travar.

RESULTADO:

Neste teste da imagem que você viu acima, o arquivo GIF ficou muito grande para colocá-lo aqui no post (cerca de 30MB), então depois de pronto eu reduzi ele no Gimp para 2MB. Ficou assim (a versão reduzida):

output7

E fiz outro GIF de outro vídeo, e segue abaixo a imagem.

output1

Conclusão

Está aí nos três métodos uma maneira de converter em GIF, e a primeira via comandos do mplayer foi a melhor opção para mim. A segunda via script do ffmpeg também foi legal.

Até a próxima.

Cleuber

About Cleuber

Cleuber Silva Hashimoto. Administrador

8 comments

  1. Super este teu post..

    Já agora, seria uma boa implementar por exemplo a função para definir em que segundo começa..

    Mas desde já bom trabalho.

Leave a Reply

x

Check Also

Elementary OS 6 Odin Lançado – Confira as Novidades

Desenvolver um sistema operacional não é ...