Para tirar uma imagem estática de uma parte selecionada da tela do meu, eu uso frequentemente scrot
com -s shot.png
. Isso é ótimo para adicionar ilustrações às postagens do StackExchange. Eu até encontrei esse script para enviar automaticamente uma captura de tela para o Imgur.com e colocar um link na minha área de transferência do X!
Vamos aumentar para doze : Como criar um screencast GIF de maneira semelhante ?
Não são programas como recordmydesktop
, byzanz
e co como discutido sobre ASK Ubuntu que pretendem ser "user friendly", mas na minha experiência são de buggy, ineficiente, principalmente unscriptable e inadequado para pouco one-off coisas como esta.
Eu só quero selecionar uma área e gravar um GIF, com um comando do console que eu possa entender, e não alguma monstruosidade misteriosa da GUI não gravável.
Como posso fazer isso?
fonte
Respostas:
OK então
Comecei
ffcast
, fizvim
, fecheiffcast
e depoisconvert
ed.avi
→.gif
.Eu executei os comandos de gravação em outro terminal. Script polido para você
$PATH
no final desta resposta.O que aconteceu?
Capturando
ffcast
é o produto glorioso de alguns hackers na comunidade Arch Linux (principalmente lolilolicon ). Você pode encontrá-lo no github (ou no AUR para Arch ers). Sua lista de dependências é justabash
effmpeg
, embora você queiraxrectsel
( link AUR ) para a seleção interativa de retângulos.Você também pode anexar
ffmpeg
sinalizadores logo após o comando. Defino-r 15
capturar 15 quadros por segundo e-codec:v huffyuv
gravar sem perdas. (Brinque com eles para ajustar o tamanho / qualidade da troca.)GIFfing
ImageMagick pode ler
.avi
vídeos e tem alguns truques de otimização GIF que reduzem drasticamente o tamanho do arquivo, preservando a qualidade: O-layers Optimize
queconvert
invoca o otimizador de uso geral. O manual do ImageMagick também possui uma página sobre otimizações avançadas .Roteiro final
Isto é o que eu tenho no meu
$PATH
. Ele grava em um arquivo temporário antes da conversão.Agradecimentos ao BenC pelo trabalho de detetive na descoberta das bandeiras corretas após a
ffcast
atualização recente .Se você deseja instalar as dependências em uma distribuição baseada no Debian, Louis escreveu notas de instalação úteis .
fonte
ffcast
mudou: github.com/lolilolicon/FFcast/issues/8ffcast -s rec [filename]
, embora isso não dê as configurações exatas que você está usando no seu exemplo. Infelizmente, para fornecer configurações exatas, agora você precisa fornecer offmpeg
comando inteiro . A sua chamada sobre a melhor maneira de atualizar esta resposta :)ffcast -s % ffmpeg -f x11grab -show_region 1 -framerate 20 -video_size %s -i %D+%c -codec:v huffyuv -vf crop="iw-mod(iw\\,2):ih-mod(ih\\,2)" $TMP_AVI
parece fazer o truque.Para mim, a resposta era usar
ffcast
comffmpeg
assim:Eu costumava
ffmpeg
fazer a conversão de avi para gif - é muito rápido e mantém a taxa de quadros intacta:Por fim, usei o convert da mesma maneira que a resposta do @anko para otimizar o gif, mas estabeleci um limite no uso de recursos para parar de sair com uma mensagem e removi o atraso como já havia tratado isso:
convert
killed
ffmpeg
fonte
Este repositório ajuda você a criar seu gif a partir da região de seleção e também a otimizá-lo para você
https://github.com/devlifeX/record-screen-gif
fonte
para minha instalação (ubuntu 16.04), o ffcast não funciona bem, pois não é atualizado no github por um bom tempo.
então eu coloquei um script usando slop ( https://github.com/naelstrof/slop ) e ffmpeg.
um exemplo:
fonte
Eu escrevi um script de wrapper interativo para desktops unix por esse motivo e, após um ano de uso, fico feliz em compartilhá-lo lá!
Feito com
byzanz
,gifsicle
,xdotool
, eo roteiro é escrito emphp
.Exemplo de saída:
[1020 px, largura de gif não redimensionada 1020 px, 70 segundos, 50 cores, 65 KB ]
Ele fornece bons gifs compactados e é uma boa vitrine para esta pergunta.
Esta é uma base bastante simples, pronta para ser invadida por você.
Funcionalidades : registro de GIF nas posições do mouse ou em tela cheia, redimensionamento, compactação, compactação de cores, reversão / mesclagem, upload de ondulações do giphy.com.
Para iniciar um registro gif de 10 segundos:
gif 10
Para gravar várias vezes com os mesmos parâmetros:
gif !
Para iniciar um registro gif de 5 segundos em tela cheia:
gif 5 --fullscreen
Execução de scripts, gravando agradavelmente a si mesmo:
[ 45 segundos, largura 645px, cores completas, 976kb ]
Script completo de 5kb:
Reverse / mesclar capacidade, para criar objetos artísticos.
Original (435kb)
Invertida, mesclada: (826kb)
Para instalar, usando phi :
Tela cheia:
[1920 * 1080px, gif 400px, 50 segundos , 100 cores, 2Mb ]
Fonte, com mais explicações e possíveis atualizações: https://github.com/webdev23/gif
fonte