Artigo simples que se resume em ensinar como criar um vídeo da sua área de trabalho usando o FFMPEG e depois, opcionalmente, transformar tal gravação em uma imagem GIF. Ideal para fazer screencast e para quem pretende fazer tutoriais usando imagens GIF.
Artigo testado na distribuição SparkyLinux (Debian).
Obs.: precisa ter o programa
ffmpeg instalado.
GRAVANDO ÁREA DE TRABALHO COM FFMPEG (TECLAS DE ATALHO)
Obs.: instale o pacote "
zenity", pois é necessário para os passos a seguir.
Primeiro, para gravar a área de trabalho faça o seguinte. Crie um arquivo chamado "gravar_desktop" e coloque dentro dele os comandos listados a seguir:
#!/bin/bash
zenity --info --text="Gravação da área de trabalho iniciará 1 segundo após você clicar em OK\!" --title="Aviso!"
sleep 1 && ffmpeg -f alsa -i pulse -f x11grab -s $(xrandr | grep '\*\+' | awk '{print $1}') -r 26 -i :0.0 -acodec ac3 -ab 64k -vcodec mpeg4 -qscale 0 screencast-`date +%d-%m-%Y_%H:%M:%S`.mp4
Alternativamente, caso o comando acima não funcione, pode usar:
#!/bin/bash
zenity --info --text="Gravação da área de trabalho iniciará 1 segundo após você clicar em OK\!" --title="Aviso!"
sleep 1 && ffmpeg -video_size 1920x1080 -framerate 60 -f x11grab -i :0.0+0,0 screencast-`date +%d-%m-%Y_%H:%M:%S`.mp4
Após isso mova o arquivo para /usr/local/bin:
sudo mv gravar_desktop /usr/local/bin/
Mude as permissões:
sudo chmod 755 /usr/local/bin/gravar_desktop
Quando quiser gravar a área de trabalho basta usar o comando:
gravar_desktop
Obs.: para encerrar pressione Ctrl+c ou use o comando "killall ffmpeg". Mas veremos uma forma mais elegante de fazer isso a seguir.
Agora para parar a gravação de forma elegante crie um arquivo chamado "para_gravacao" com o conteúdo:
#!/bin/bash
killall ffmpeg
zenity --info --text="FFMPEG encerrado!\!" --title="Aviso!"
Mova-o para /usr/local/bin:
sudo mv para_gravacao /usr/local/bin/
Mude as permissões:
sudo chmod 755 /usr/local/bin/para_gravacao
Agora para parar uma gravação basta usar o comando "para_gravacao".
Porém seria interessante colocar os comandos em atalhos de teclado. Exemplo:
Com os atalhos personalizados você pode começar uma gravação com as teclas "Ctrl+Alt+r" e parar a gravação com "Ctrl+Alt+S". Ficou ótimo!
Por fim a gravação será salva na sua pasta pessoal.
TRANSFORMANDO MP4 EM GIF
Para transformar o vídeo em GIF também é muito simples. Basta usar um script que usa o ffmpeg. Para isso crie um arquivo (aqui usarei o nome mp42gif) com o conteúdo a seguir. Os comandos são:
sudo nano /usr/local/bin/mp42gif
Conteúdo:
#!/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 o arquivo e mude sua permissão:
sudo chmod 755 /usr/local/bin/mp42gif
Agora sempre que quiser criar um GIF a partir de um vídeo MP4 basta usar o comando:
mp42gif nomedovideo.mp4
E terá como resultado o arquivo GIF com o formato: nome do arquivo + tamanho + .gif. Veja um exemplo:
SOBRE A GRAVAÇÃO DO SOM
O som do microfone será gravado com o comando mostrado no começo do artigo. Porém, caso não funcione ou caso você queira alterar a forma de gravação do som, precisará do aplicativo Pulse Audio Volume Control, conhecido também como "pavucontrol" e pode ser baixado pelo apt-get. Com ele você terá acesso aos controles dos microfones do computador.
Faça os testes até obter o som que deseja, seja interno ou externo.
CONCLUSÃO
Há softwares voltados para gravação da área de trabalho como o
gtk-recordmydesktop e outros, porém (pelo menos comigo) o desempenho deles não costuma ser satisfatório. Há travamentos e cortes. Meu computador é fraco e o uso de softwares voltados para gravação da área de trabalho normalmente resulta em péssima qualidade. Porém, usando esses comandos do artigo eu consegui contornar os meus problemas. Espero que você também consiga.
Não esqueça de fazer as modificações necessárias nos scripts para o 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. O framerate dos GIFs está em 30 (que significa 30 quadros por segundo), mas talvez você queira algo menor e menos fluido como 5 por exemplo.
Espero ter ajudado!
Fontes: