Uma das melhores ferramentas que eu uso é ffmpeg
. Ele pode pegar a maioria dos vídeos de uma ferramenta de screencast, como kazam
convertê-los em outro formato.
Instale isso no centro de software - ele será instalado automaticamente se você instalar o excelente ubuntu-restricted-extras
pacote.
O Kazam pode produzir nos formatos de vídeo mp4
ou webm
. Geralmente, você obtém melhores resultados em mp4
formato.
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 25/29 quadros por segundo padrão podem ser muito grandes. Por exemplo - um vídeo de 800Kb webm de 15 segundos e 25fps pode gerar 435Mb!
Você pode reduzir isso por vários métodos:
taxa de quadros
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 435Mb para 19Mb
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 aproximado do arquivo de saída, portanto o tamanho pode 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 de exemplo 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 e encolher ainda mais
se você usar imagemagick
convert
com um fator de distorção 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