Захват вывода CLI в виде анимированного GIF

2717
Hydraxan14

Некоторые вопросы и ответы по codegolf содержат полезные анимированные GIF-файлы, которые отображают результаты работы программы командной строки.

Некоторые GIF-файлы выглядят великолепно, например, из вопроса « Сделай мне фальшивый загрузчик» :

great gif

Другие выглядят испорченными и изменчивыми, как этот из этого ответа :

corrupt gif

Каковы некоторые методы создания великолепных GIF-файлов для вывода программы из командной строки?

(Предположим, Windows 7 является платформой, хотя ответы на macOS / BSD / Linux приветствуются.)

3

3 ответа на вопрос

2
Anthony D.

Есть несколько способов сделать это. Мой подход обычно включал бы использование программного обеспечения для захвата экрана, редактирования и преобразования. Это может быть довольно трудоемким и довольно громоздким, если вы пытаетесь сделать быстрый GIF из CLI.

Однако для Windows вы можете использовать Gifify. Это отличная утилита с открытым исходным кодом от GITHUB. Который вы можете найти здесь .

gifify - это сценарий оболочки для преобразования экранных записей в GIF-файлы, которые удобно встраивать в такие места, как Slack-каналы или проблемы GitHub и запросы на извлечение.

Для Linux или Ubuntu вы можете использовать нечто похожее или, по крайней мере, более простое в установке и запуске, как ImageMagick.

sudo apt-get установить imagemagick

Теперь вы можете создать GIF из числа картинок (JPG), используя:

convert -delay 20 -loop 0 *.jpg myimage.gif 

Более подробная информация .

MAC

Для MAC вы также можете использовать Github, используя QuickTime, ffmpeg и gifsicle. Этот процесс в некоторой степени похож на шаги, которые вы можете предпринять и в Linux.

инструкции

Для захвата видео (размер файла: 19 МБ) с помощью бесплатного приложения «QuickTime Player»:

Откройте «Quicktime Player», перейдите в «Файл» -> «Новая запись экрана». Выделите часть экрана, перетащив прямоугольник, записав 13-секундное видео. Перейдите в Файл -> Экспорт -> Как фильм. Сохранение видео в полном качестве с именем файла in.mov. Чтобы преобразовать in.mov в out.gif (размер файла: 48 КБ), откройте терминал в папку с in.mov и выполните следующую команду. команда:

ffmpeg -i in.mov -s 600x400 -pix_fmt rgb24 -r 10 -f gif - | gifsicle --optimize = 3 --delay = 3> out.gif

Github ссылка

ttgif также является еще одной известной опцией для MAC. Это тем более на стороне преобразования терминальных записей в анимированные гифки

https://github.com/icholy/ttygif

Я надеялся, что в Windows будет более удобный способ сделать это, чем ffmpeg или imagemagick. Кроме того, не будет ли Gifify более подходящим для Linux, чем для Windows, так как это интерфейс сценария bash для ffmpeg? Hydraxan14 7 лет назад 1
Вы можете попробовать Gifsicle. Есть порт Windows, который доступен, хотя я не пробовал. https://www.lcdf.org/gifsicle/ Anthony D. 7 лет назад 1
2
Hydraxan14

LICEcap

Полезный сотрудник по методу Codegolf рассказал мне о LICEcap . Это та программа, которую я искал!

LICEcap может захватывать область вашего рабочего стола и сохранять ее непосредственно в .GIF (для просмотра в веб-браузерах и т. Д.) Или .LCF (см. Ниже).

LICEcap - это интуитивно понятное, но гибкое приложение (для Windows и теперь OSX), которое разработано, чтобы быть легким и функционировать с высокой производительностью.

2
sickill

Вы можете записать свой терминал с помощью Asciinema, а затем пропустить его через a2gif .