Я сделал терминальную запись с помощью инструмента script
.
mediainfo video
General
Complete name : video
File size : 1.29 KiB
Я могу воспроизвести ее с помощью scriptreplay
. Можно ли преобразовать его в GIF, например, с помощью ffmpeg
или другой программы?
Чтобы уточнить, я имею в виду script
из пакета bsdutils
, а не программный скрипт. Я думал, что сохраненный файл - это своего рода видео, поэтому я могу получить несколько кадров/картинок и создать из них GIF.
Надеюсь, теперь все стало более понятно.
Хороший вариант - использовать ttyrec
для записи активности вашего терминала, а затем преобразовать ее в GIF с помощью ttygif
.
Установите пакеты ttyrec
и ttygif
:
sudo apt install ttyrec ttygif
Откройте терминал и запустите ttyrec
для записи вашего терминала:
ttyrec
Запуск ttyrec
без аргумента сохранит запись в файле с именем ttyrecord
в вашей текущей папке. Вы можете указать имя файла в качестве аргумента, чтобы сохранить файл с этим именем.
Используйте свой терминал.
Нажмите Ctrl + D , чтобы остановить запись.
Чтобы преобразовать запись в GIF, запустите:
ttygif ttyrecord
Если вы сохранили запись с другим именем файла, замените ttyrecord
на имя файла, которое вы использовали.
Эта команда сохранит запись в формате GIF с именем tty.gif
.
Вот созданный мной с помощью описанной выше процедуры GIF-файл:
Примечания
Если вы получаете эту ошибку при запуске ttygif
:
Ошибка: переменная среды WINDOWID был пуст
вам необходимо выполнить следующую команду перед запуском ttygif
:
export WINDOWID = $ (xdotool getwindowfocus)
Для указанной выше команды требуется xodtool
. Вы можете установить его, используя:
sudo apt install xdotool
ttygif
по какой-то причине не работает с qterminal. Вместо этого используйте другой терминал для преобразования.
Я подтвердил, что он отлично работает с kitty, работает медленно с терминалом GNOME и очень быстро с XTerm.
Команда ttygif
может создавать каталоги большого размера в / tmp
. Я рекомендую удалить их вручную после преобразования, используя:
rm -r /tmp/ttygif.*