Захват GIF с рабочего стола в Linux

Очень эффектно выглядят в интернетах gif анимации работы десктопных программ. Отличный выбор если нужно показать что-то, а для видео коротковато будет.
В Windows я пользуюсь LICEcap. Отличная софтина. Не требует никакой мороки вообще, бесплатна и умеет делать все что надо.
Но для Linux её к сожалению не бывает.
Но не беда. Все уже написано до нас.

Пример захвата при помощи byzanz

Я нашел два варианта.
Первый — использовать захват видео и последующую перекодировку в GIF.
Для этого нужно поставить ffcast и ImageMagic.
Дальше можно пользоваться таким скриптом:

#!/bin/bash
TMP_AVI=$(mktemp /tmp/outXXXXXXXXXX.avi)
ffcast -s % ffmpeg -y -f x11grab -show_region 1 -framerate 15 \
    -video_size %s -i %D+%c -codec:v huffyuv                  \
    -vf crop="iw-mod(iw\\,2):ih-mod(ih\\,2)" $TMP_AVI         \
&& convert -set delay 10 -layers Optimize $TMP_AVI out.gif

Дальше другой метод. Использовать утилиту byzanz-record.

byzanz-record --duration=15 --x=200 --y=300 --width=700 --height=400 out2.gif

Оба метода позволяют сделать анимацию хорошего качества. Так что ставим то, что больше по душе.

 

Похожий код:

Фото аватара
Алексей Петров

Программист, разработчик с 5 летним опытом работы. Учусь на разработчика игр на Unity и разработчика VR&AR реальности (виртуальной реальности). Основные языки программирования: C#, C++.

Оцените автора
Бла, бла код
Добавить комментарий