Como converter uma gravação de terminal em GIF?

Como converter uma gravação de terminal em GIF?

Fiz um registro de terminal com a scriptferramenta.

mediainfo video 
General
Complete name                            : video
File size                                : 1.29 KiB

Eu posso brincar com isso scriptreplay. É possível convertê-lo para GIF, por exemplo, com ffmpegou outro programa?

Para esclarecer, quero dizerscriptdo bsdutilspacote, não de um script de programa. Achei que o arquivo salvo era uma espécie de vídeo, então posso pegar alguns frames/fotos e criar um GIF dele.

Espero que esteja mais claro agora.

Responder1

Uma boa opção é usarttyrecem vez de scriptgravar sua atividade no terminal e depois convertê-la em um GIF usandottygif.

  1. Instale os pacotes ttyrece ttygif:

    sudo apt install ttyrec ttygif
    
  2. Abra um terminal e comece ttyreca gravar seu terminal:

    ttyrec
    

    Executar ttyrecsem argumento salvará a gravação em um arquivo nomeado ttyrecordem sua pasta atual. Você pode especificar um nome de arquivo como argumento para salvar o arquivo com esse nome.

  3. Use seu terminal.

  4. Pressione Ctrl+ Dpara parar a gravação.

  5. Para converter a gravação em GIF, execute:

    ttygif ttyrecord
    

    Se você salvou a gravação com outro nome de arquivo, mude ttyrecordpara o nome de arquivo usado.

    Este comando salvará a gravação como um GIF com o nome tty.gif.


Aqui está um GIF que criei com o procedimento acima que contém o procedimento acima:

GIF contendo o procedimento acima


Notas

  • Se você receber este erro ao executar ttygif:

    Error: WINDOWID environment variable was empty
    

    você precisa executar o seguinte comando antes de executar ttygif:

    export WINDOWID=$(xdotool getwindowfocus)
    

    O comando acima precisa de xdotool. Você pode instalá-lo usando:

    sudo apt install xdotool
    

    Referência:https://github.com/icholy/ttygif#additional-notes

  • ttygifnão funciona com qterminal por algum motivo. Use outro terminal para a conversão.

    Confirmei que funciona bem com o kitty, é lento com o terminal GNOME e é extremamente rápido com o XTerm.

  • O ttygifcomando pode produzir diretórios de tamanho grande no formato /tmp. Recomendo removê-los manualmente após a conversão usando:

    rm -r /tmp/ttygif.*
    

informação relacionada