Uma das melhores ferramentas que uso é ffmpeg
. Pode levar a maioria dos vídeos de uma ferramenta de screencast, como kazam
, e convertê-lo em outro formato.
Instale isto em software-center - ele é automaticamente instalado se você instalar o excelente pacote ubuntu-restricted-extras
.
O Kazam pode produzir nos formatos de vídeo mp4
ou webm
. Geralmente você obtém melhores resultados em formato mp4
.
exemplo de sintaxe de criação de GIF
A sintaxe básica para converter vídeo em gif é:
ffmpeg -i [inputvideo_filename] -pix_fmt rgb24 [output.gif]
GIFs convertidos - especialmente aqueles com um frame-por-segundo 25/29 padrão podem ser muito grandes. Por exemplo - um vídeo de 15 segundos de web de 800 Kb a 25 fps pode produzir até 435 MB!
Você pode reduzir isso por vários métodos:
framerate
Use a opção -r [frame-per-second]
por exemplo, ffmpeg -i Untitled_Screencast.webm -r 1 -pix_fmt rgb24 out.gif
Tamanho reduzido de 435 MB para 19 MB
limite de tamanho de arquivo
Use a opção -fs [filesize]
por exemplo, ffmpeg -i Untitled_Screencast.webm -fs 5000k -pix_fmt rgb24 out.gif
Nota - este é um tamanho de arquivo de saída aproximado para que o tamanho possa ser um pouco maior que o especificado.
tamanho do vídeo de saída
Use a opção -s [widthxheight]
por exemplo, ffmpeg -i Untitled_Screencast.webm -s 320x200 -pix_fmt rgb24 out.gif
Isso reduziu o tamanho do vídeo de 1366x768 para 26Mb
loop para sempre
Às vezes, você pode querer que o GIF faça um loop para sempre.
Use a opção -loop_output 0
ffmpeg -i Untitled_Screencast.webm -loop_output 0 -pix_fmt rgb24 out.gif
otimizar ainda mais e encolher
Se você usar imagemagick
convert
com um fator fuzz entre 3% e 10%, poderá reduzir drasticamente o tamanho da imagem
convert output.gif -fuzz 3% -layers Optimize finalgif.gif
finalmente
combine algumas dessas opções para reduzir a algo gerenciável para o Ask Ubuntu.
ffmpeg -i Untitled_Screencast.webm -loop_output 0 -r 5 -s 320x200 -pix_fmt rgb24 out.gif
seguido por
convert output.gif -fuzz 8% -layers Optimize finalgif.gif
exemplo