Как преобразовать запись терминала в GIF?

Как преобразовать запись терминала в GIF?

Я сделал запись терминала с помощью этого scriptинструмента.

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

Я могу воспроизвести его с помощью scriptreplay. Можно ли конвертировать его в GIF, например, с помощью ffmpegили другой программы?

Чтобы прояснить ситуацию, я имею в видуscriptиз bsdutilsпакета, а не скрипт программы. Я думал, что сохраненный файл — это своего рода видео, поэтому я могу grep некоторые кадры/картинки и создать из них GIF.

Надеюсь, теперь стало понятнее.

решение1

Хороший вариант — использоватьttyrecвместо того script, чтобы записывать вашу терминальную активность и затем конвертировать ее в GIF с помощьюttygif.

  1. Установите пакеты ttyrecи ttygif:

    sudo apt install ttyrec ttygif
    
  2. Откройте терминал и начните ttyrecзаписывать свой терминал:

    ttyrec
    

    Запуск ttyrecбез аргумента сохранит запись в файле с именем ttyrecordв текущей папке. Вы можете указать имя файла в качестве аргумента, чтобы сохранить файл с этим именем.

  3. Используйте свой терминал.

  4. Нажмите Ctrl+, Dчтобы остановить запись.

  5. Чтобы преобразовать запись в GIF, выполните:

    ttygif ttyrecord
    

    Если вы сохранили запись под другим именем файла, измените ttyrecordимя файла на то, которое вы использовали.

    Эта команда сохранит запись в формате GIF с именем tty.gif.


Вот GIF-файл, созданный мной с помощью вышеуказанной процедуры, который содержит указанную выше процедуру:

GIF-файл, содержащий указанную выше процедуру


Примечания

  • Если вы получили эту ошибку при запуске ttygif:

    Error: WINDOWID environment variable was empty
    

    Перед запуском необходимо выполнить следующую команду ttygif:

    export WINDOWID=$(xdotool getwindowfocus)
    

    Для команды выше требуется xdotool. Вы можете установить его с помощью:

    sudo apt install xdotool
    

    Ссылка:https://github.com/icholy/ttygif#additional-notes

  • ttygifне работает с qterminal по какой-то причине. Используйте другой терминал для преобразования.

    Я подтвердил, что он отлично работает с kitty, медленно работает с терминалом GNOME и очень быстро работает с XTerm.

  • Команда ttygifможет создавать каталоги большого размера в /tmp. Я рекомендую удалить их вручную после преобразования с помощью:

    rm -r /tmp/ttygif.*
    

Связанный контент