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

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

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

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

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

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

2
задан 12 August 2021 в 16:41

1 ответ

Хороший вариант - использовать ttyrec для записи активности вашего терминала, а затем преобразовать ее в 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 containing the above procedure


Примечания

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

     Ошибка: переменная среды WINDOWID был пуст
    

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

     export WINDOWID = $ (xdotool getwindowfocus)
    

    Для указанной выше команды требуется xodtool . Вы можете установить его, используя:

     sudo apt install xdotool
    

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

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

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

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

     rm -r /tmp/ttygif.*
    
5
ответ дан 20 August 2021 в 10:27

Другие вопросы по тегам:

Похожие вопросы: