Запись экрана в анимированный GIF в Linux (альтернатива LICEcap)

Подмастерье Компьютерщик

Запись экрана в анимированный GIF в Linux (альтернатива LICEcap)

Я довольно широко использую LICEcap, когда отвечаю на вопросы на Stack Exchange — это ОЧЕНЬ интуитивно понятный инструмент для создания скриншотов на основе gif.

Пример GIF-файла LINEcap

Вы открываете приложение, выбираете область для записи, выбираете имя файла для его сохранения и делаете все необходимое, чтобы он мог записывать.

Однако это только для Windows и OS X - я иногда играл с использованием виртуальной машины Linux и захватом окна виртуальной машины, но мне нужна нативная альтернатива, которая записывала бы GIF таким же образом.

Что я мог использовать?

Анджело Фукс

Вам нужны и другие анимированные изображения, или формат файла "gif" является обязательным требованием?

Подмастерье Компьютерщик

Ну, я действительно не хочу/не нуждаюсь в видео . Gif является «принятым» стандартом для анимированных изображений. Если это что-то, что должно работать универсально, это было бы хорошо, но я не могу придумать какой-либо другой формат, который был бы подходящей заменой.

Анджело Фукс

MNG (расширение PNG) делает это.

Подмастерье Компьютерщик

о, если это что-то, что я могу засунуть на сервер с выходом в Интернет и открыть в браузере, я в порядке.

Подмастерье Компьютерщик

Кстати, к моему большому удивлению, вши отлично работает на вине. Конечно, это ограничено x86 boxen, имеет довольно большой набор зависимостей и так далее, но я думаю, что пока буду использовать именно его. Выбранный ответ поможет, но ему не хватает элегантности пользовательского интерфейса licecap.

Уилф

Я бы предложил recordMyDesktop , у которого есть сборки для различных дистрибутивов Linux. Проблема с ним в том, что он записывает только в формат ogv, хотя преобразование в GIF можно выполнить с помощью ffmpeg/imagemagick (объяснено здесь ). У RecordMyDesktop есть интерфейсы, которые просты в использовании — вы устанавливаете, где сохранить файл и параметры, такие как следование за мышью и что записывать в первую очередь, а затем нажимаете «Запись».

PMint

Я всегда использовал его под вином, работает отлично.

Колин Кинан

Обновление от 22.10.2014: Сет Джонсон улучшил Ubuntu PPA, теперь требуется только Silentcast PPA. (Ранее требовалось 3 PPA.)

Обновление 13.10.2014: Выпущена версия 2.0. Добавлены опции для создания видео в формате webm или mp4 вместо анимированных GIF-файлов. Добавлен скрипт для полной установки без привилегий root.

Обновление от 04.10.2014. Работает в Unity без проблем, теперь есть PPA для установки. Спасибо Сету за его патч для индикатора Unity и PPA. Пожалуйста, ознакомьтесь с приведенными ниже инструкциями по установке, которые я обновил сегодня. Кроме того, вы можете запустить его без установки . Следуйте инструкциям любого дистрибутива Linux , но не запускайте сценарий установки . С помощью Xfce просто откройте извлеченную папку и дважды щелкните bash Silentcast . С другими рабочими столами запустите из терминала из извлеченной папки. Вот и все! Ничего не будет скопировано в ваши системные файлы, и удаление извлеченной папки полностью удалит ее из вашей системы.

Меня не устроил ни один из этих ответов, поэтому я написал свой собственный: Silentcast .

Если у вас что-то не работает, отправьте сообщение об ошибке в Silentcast Issues.

Обратите внимание, что в области уведомлений есть значок остановки стоп1.pngеще до того, как я запустил Silentcast, а затем, стоп2.pngкогда начинается запись, появляется второй значок остановки. Это потому, что у меня уже был запущен Silentcast, чтобы сделать эти анимированные гифки о том, как использовать Silentcast. Silentcast 1 продолжает работать после того, как я остановлю Silentcast 2.

Полноэкранный режим: как использовать Silentcast для записи Gimp

Полноэкранный

Прозрачный: как использовать Silentcast для записи 2 окон

Прозрачный

Интерьер: Как использовать Silentcast только для записи рисунка

Интерьер

Entirety: Как использовать Silentcast для записи 1 окна

Целостность

Монтаж

... (пропуская некоторые вещи - в полном README он включает список зависимостей и инструкции по их установке для конкретных дистрибутивов)

  • Полная установка любого дистрибутива Linux без рут-доступа

    • Установите отсутствующие зависимости (см. Таблицу зависимостей и Установка зависимостей по дистрибутивам выше)
    • Загрузите версию Silentcast:
    • Извлекать. Затем из терминала cdв извлеченный каталог и инструкции по ./no_root_install удалению предоставляются в выводе сценария no_root_install . Вы также можете увидеть их в комментариях к лаунчеру. См. варианты с ./no_root_install -h. Если он установлен в папку по умолчанию, удалите его с помощью следующих команд: rm -r ~/.silentcastиrm ~/.local/share/applications/no_root_silentcast.desktop
    • Посмотрите, какая у вас версия с silentcast -v. [Проверить наличие более новой версии]( https://github.com/colinkeenan/silentcast/releases/latest
  • Полная установка любого дистрибутива Linux

    • Установите отсутствующие зависимости (см. Таблицу зависимостей и Установка зависимостей по дистрибутивам выше)
    • Загрузите версию Silentcast:
    • Извлекать. Затем из терминала cdв извлеченный каталог и инструкции по sudo ./install удалению такие же, заменяя install на uninstall . Сценарий установки (или удаления ) bash просто копирует (или удаляет) файлы. Вы можете отредактировать их, если ваш дистрибутив помещает файлы в необычные места.
    • Посмотрите, какая у вас версия с silentcast -v. Проверить наличие более новой версии

... (см. полный README, чтобы узнать, как установить зависимости для вашего дистрибутива)

  • Полная установка Arch Linux

    • Используйте помощник AUR, например yaourt -S silentcast. Это автоматически установит последнюю версию и отсутствующие зависимости. Обновляйте свою установку обычным способом с помощью помощника AUR, например yaourt -Syua. Удалить с помощьюsudo pacman -R silentcast
    • Без помощника AUR просто загрузите silentcast.tar.gz с aur.archlinux.org , извлеките и выполните действия makepkg -siиз извлеченного каталога. Это будет делать то же самое, что и помощник AUR для установки, но вам придется следить за обновлениями самостоятельно. Удалить с помощьюsudo pacman -R silentcast
  • Полная установка Ubuntu Linux

    • Для версий 14.04 и 12.04 выполните следующие команды для установки Silentcast (для более старых версий Ubuntu следуйте приведенным ниже инструкциям «Любой дистрибутив Linux»):

      sudo add-apt-repository ppa:sethj/silentcast  
      sudo apt-get update
      sudo apt-get install silentcast  
      

      Или выполните следующую сокращенную команду:

       sudo add-apt-repository ppa:sethj/silentcast && sudo apt-get update && sudo apt-get install silentcast  
      
      • Удалите «
        Выполнить» sudo apt-get remove silentcast. Затем вы можете удалить PPA sudo add-apt-repository -rследующим образом:

        sudo add-apt-repository -r ppa:sethj/silentcast && sudo apt-get update
        

Методы запуска

  • Иерархия меню
    • Графика -> Сайленткаст
    • Мультимедиа -> Бесшумная передача
  • Термины окна поиска
    • тихая передача
    • скринкаст
    • записывать
    • гифка
    • (и другие вещи тоже будут работать)
  • ALT+F2
    • тихая передача
  • Терминал
    • тихая передача

Найдите Silentcast в меню « Графика » или « Мультимедиа », введите в поле поиска « silentcast » или « ALT+ F2silentcast» . Его также можно запустить с терминала как молчаливую передачу .

Подмастерье Компьютерщик

Вау. Это выглядит эпично. Я попробую позже и посмотрю, не сможем ли мы исправить эти ссылки.

Колин Кинан

Спасибо - вы уже дали мне 11 баллов только за голосование, я думаю. Я не могу вспомнить, достаточно ли этого, чтобы добавить больше ссылок? Ну, я только что сделал. Так что да - теперь я могу добавить больше к своему ответу.

Подмастерье Компьютерщик

У меня возникли проблемы с тем, чтобы это работало на Fedora 20/KDE. Куда следует поместить отчет об ошибке?

Колин Кинан

Поскольку мой источник находится на github, это было бы лучшим местом для отправки отчета об ошибке: Silentcast Issues .

Колин Кинан

Я тестировал его только на своей собственной системе — Xfce на Arch Linux. Хотя я ожидаю, что он будет работать в KDE. Это просто bash-скрипты. Либо я что-то упустил в зависимостях, перечисленных в README.md, либо для этого может потребоваться специальная версия ffmpeg, которая у меня есть. Я хотел бы это исправить, поэтому, пожалуйста, отправьте отчет об ошибке. Спасибо вам.

Подмастерье Компьютерщик

Небольшая ошибка с моей стороны. sudo yum install ffmpeg yad xdotool xorg-xwininfo wmctrl python-gobject python-cairo xdg-utils ImageMagickдолжен тянуть все депы на федоре. Кажется, я забыл ImageMagik. Мне это нравится достаточно, чтобы бросить награду в 50 повторений, которую я награжу, как только период ожидания закончится;)

Колин Кинан

Вы сделали меня очень счастливым. Насколько мне известно, это первое созданное мной программное обеспечение, которым с энтузиазмом пользуется кто-то, кроме меня. Я удивлен, что что-то подобное еще не было сделано, потому что все, что я сделал, это дал уже существующим инструментам командной строки графический интерфейс, используя yad и некоторый код python, который я нашел с помощью Google.

Уэйн Вернер

Это невероятно круто. Я только что нашел два замечательных инструмента, чтобы поиграть с ними сегодня.

Сет

Это не работает в Unity, но это вина Unity (она очень строга к индикаторам). Однако я думаю, что смогу придумать патч. Хотя в Xubuntu действительно круто!

Колин Кинан

Я добавил в README.md инструкции по установке зависимостей Ubuntu.

химик

@JourneymanGeek, вы упомянули в комментариях к другому ответу, что, возможно, захотите сделать снимок экрана на RPi. Пробовали ли вы это решение на RPi, и если да, можете ли вы прокомментировать, насколько хорошо оно работает?

Подмастерье Компьютерщик

Пока не боюсь - надо.

Каспер

Я не могу найти программу запуска сайленткаста после установки.

Колин Кинан

Можете ли вы предоставить подробную информацию о вашей установке? Дистрибутив, десктоп, из пакетного менеджера что ли?

Даниэльц

Одним из возможных решений является byzanz , если вы не возражаете против использования CLI. Byznaz работает на Ubuntu, и я не тестировал его на других дистрибутивах Linux. Я тестировал его только на Ubuntu 12.04 LTS.

Это довольно примитивный скрин-рекордер с ограниченными возможностями.

византийский

Byzanz записывает GIF и работает только в терминале. Он не включен в репозитории Ubuntu и может быть установлен только через PPA .

Для установки используйте эти команды

$ sudo add-apt-repository ppa:fossfreedom/byzanz
$ sudo apt-get update
$ sudo apt-get install byzanz

Справочные страницы:

Usage:

  byzanz-record [OPTION...] record your current desktop session

Help Options:
  -?, --help               Show help options
  --help-all               Show all help options
  --help-gtk               Show GTK+ Options

GTK+ Options
  --class=CLASS            Program class as used by the window manager
  --name=NAME              Program name as used by the window manager
  --gtk-module=MODULES     Load additional GTK+ modules
  --g-fatal-warnings       Make all warnings fatal

Application Options:
  -d, --duration=SECS      Duration of animation (default: 10 seconds)
  --delay=SECS             Delay before start (default: 1 second)
  -c, --cursor             Record mouse cursor
  -a, --audio              Record audio
  -x, --x=PIXEL            X coordinate of rectangle to record
  -y, --y=PIXEL            Y coordinate of rectangle to record
  -w, --width=PIXEL        Width of recording rectangle
  -h, --height=PIXEL       Height of recording rectangle
  -v, --verbose            Be verbose
  --display=DISPLAY        X display to use

Подмастерье Компьютерщик

Я полагаю, это достаточно близко. Говорить ему, какие диапазоны пикселей записывать, кажется излишне хлопотным. Тем не менее, за исключением лучшего ответа, я был бы несправедлив, если бы не выбрал это как правильный.

Даниэльц

На самом деле есть инструмент с лучшими параметрами записи экрана и приятным графическим интерфейсом, но пока мне не удалось сохранить его в формате GIF. Хотя записать экран или часть экрана в каком-то другом формате не составляет труда.

Бенджамин Голдер

Вы должны ввести местоположение и размер? съеживаться

Уилф

Существует сборка RPM, которая, по-видимому, также доступна в репозиториях Fedora по умолчанию — RPM также можно найти здесь .

душан

Вы можете запустить xrectsel и перетащить мышь, чтобы получить местоположение и размер нужного прямоугольника, а затем использовать эти числа для запуска byzanz.

галлифрейец

Byzanz включен во вселенную в 16.04. Я бы не назвал это рудиментарным, потому что текущая версия кажется довольно полезной.

Даниэльц

Вопрос изначально был за 12.04. в то время Византия была далеко от того, что есть сейчас.

Бонх

LICEcap работает на Linux с Wine — проверьте это:

Прокрутка веб-страницы LICEcap

Это на Arch Linux, 64-бит и вино 1.7.18.

Подмастерье Компьютерщик

О, я знаю об этом - это не неправильный ответ, но я могу запустить его на архитектурах, отличных от x86, скажем, на raspberry pi, а вино сравнительно тяжелое - поэтому я предпочитаю нативный вариант

Гэндальф3

Также курсор не появляется, если окно licecap не сфокусировано.

даникотра

Вы также можете взглянуть на Пика .

Peek — это простой инструмент, который позволяет вам записывать часть экрана и сохранять ее в виде анимированного изображения в формате GIF.

Посмотреть скриншот: Посмотреть скриншот

Запись просмотра:

Просмотр записи

Peek требует установки FFmpeg + ImageMagick и в настоящее время работает только с X11 и нацелен на GNOME 3 (таким образом, он должен работать даже в Unity, если у вас не включены локально интегрированные меню).

DevSolar

Это требует> 700 МБ для загрузки и 2,5 гигабайта дискового пространства...?!?

MrMesees

Я не видел здесь упоминания об этом, поэтому попробуйте Scrot.

Scrot в диспетчере пакетов Synaptic

Это часть моих пакетов Ubuntu, поэтому он должен быть во вселенной, по крайней мере, без PPA.

У меня нет опыта в его использовании, но я обычно использую версию, управляемую пакетом дистрибутива, а не сторонний ppa или репозиторий в 90% случаев для такого программного обеспечения.

Подмастерье Компьютерщик

Он делает анимированные гифки? Я почти уверен, что scrot делает статические скриншоты из командной строки. У него есть свое применение, но я не уверен, что это правильный инструмент.

MrMesees

Я понятия не имею, что он делает, но я уверен, что с помощью скрипта bash вы можете заставить его собирать несколько изображений, а затем помещать их все в анимированный gif или png. Просто это был еще один вариант.

Андреа Ричиарди

Я не думаю, что мошонка записывает гифки

MrMesees

Возможно, это языковой барьер. Я предложил записывать отдельные изображения. Эти изображения (неявное отдельное последующее действие автора) будут тем, что автор преобразует в gif.

Нихил

Использую 1. Byznaz для записи

sudo apt-get install byzanz #ubuntu
dnf install byzanz #fedora
  1. python-xrectsel для выбора области
pip install python-xrectsel