Чтобы сделать статический скриншот выбранной части моего экрана, я часто использую scrot
с -s shot.png
. Это отлично подходит для добавления иллюстраций к сообщениям StackExchange. Я даже нашел этот скрипт, чтобы автоматически загружать такой скриншот на Imgur.com и помещать ссылку в мой буфер обмена X!
Давайте вернемся к двенадцати : Как мне аналогично создать GIF-скринкаст?
Существуют такие программы, как recordmydesktop
, byzanz
& co, как обсуждалось на Ask Ubuntu, которые стремятся быть «удобными для пользователя», но, по моему опыту, они ошибочны, неэффективны, в основном непригодны и не подходят для таких маленьких одноразовых вещей как эта.
Я просто хочу выбрать область и записать GIF, используя консольную команду, которую я могу понять, а не какое-то загадочное неприемлемое чудовище графического интерфейса.
Как я могу это сделать?
источник
Ответы:
хорошо, тогда
Я начал
ffcast
, сделалvim
, бросилffcast
, затемconvert
ed.avi
→.gif
.Я запустил команды записи в другом терминале. Отполированный сценарий для вас
$PATH
в конце этого ответа.Что случилось?
Capturing
ffcast
это славный продукт взлома в сообществе Arch Linux (главным образом, lolilolicon ). Вы можете найти его на GitHub (или в AUR для Arch ERS). Его список зависимостей простbash
иffmpeg
, хотя вы захотитеxrectsel
( ссылка AUR ) для интерактивного выбора прямоугольника.Вы также можете добавить
ffmpeg
флаги сразу после команды. Я настроен-r 15
на съемку со скоростью 15 кадров в секунду и-codec:v huffyuv
для записи без потерь. (Поиграйте с ними, чтобы настроить размер / качество.)GIFfing
ImageMagick умеет читать
.avi
видео и имеет некоторые приемы оптимизации GIF, которые резко уменьшают размер файла при сохранении качества. Функция-layers Optimize
toconvert
запускает оптимизатор общего назначения. В руководстве по ImageMagick есть страница, посвященная дополнительным оптимизациям .Финальный сценарий
Это то, что у меня есть в моем
$PATH
. Он записывает во временный файл перед преобразованием.Спасибо BenC за детективную работу по выяснению правильных флагов после недавнего
ffcast
обновления.Если вы хотите установить зависимости в дистрибутиве на основе Debian, Луи написал полезные замечания по установке .
источник
ffcast
изменился: github.com/lolilolicon/FFcast/issues/8ffcast -s rec [filename]
, хотя это не дает точных настроек, которые вы используете в своем примере. К сожалению, чтобы дать точные настройки, теперь вы должны дать всюffmpeg
команду. Ваш звонок о лучшем способе обновить этот ответ :)ffcast -s % ffmpeg -f x11grab -show_region 1 -framerate 20 -video_size %s -i %D+%c -codec:v huffyuv -vf crop="iw-mod(iw\\,2):ih-mod(ih\\,2)" $TMP_AVI
похоже, добился цели.Для меня ответ был использовать
ffcast
сffmpeg
таким образом:Затем я
ffmpeg
делал преобразование из avi в gif - это очень быстро и сохраняет частоту кадров:Наконец, я использовал преобразование таким же образом, как и ответ @anko , чтобы оптимизировать gif, но я установил ограничение на использование ресурсов, чтобы прекратить выходить с сообщением, и я удалил задержку, так как уже обработал это:
convert
killed
ffmpeg
источник
Этот репозиторий поможет вам создать свой GIF из выбранного региона, а также оптимизировать его для вас
https://github.com/devlifeX/record-screen-gif
источник
для моей установки (Ubuntu 16.04) ffcast не работает должным образом, так как он довольно долго не обновлялся на github.
поэтому я установил скрипт, используя slop ( https://github.com/naelstrof/slop ) и ffmpeg.
пример:
источник
По этой причине я написал интерактивный скрипт-обертку для рабочих столов Unix, и после года использования я рад поделиться им там!
Сделано с
byzanz
,gifsicle
,xdotool
, и сценарий написанphp
.Пример вывода:
[1020px, без изменения размера GIF, ширина 1020px, 70 секунд, 50 цветов, 65Kb ]
Он предоставляет хорошие сжатые GIF-файлы, и является хорошей демонстрацией для этого вопроса.
Это довольно простая база, готовая для взлома вами.
Функциональные возможности : запись Gif в положениях мыши или в полноэкранном режиме, изменение размера, сжатие, сжатие цветов, реверс / слияние, загрузка скручивания giphy.com
Чтобы начать 10-секундную запись GIF:
gif 10
Для записи несколько раз с одинаковыми параметрами:
gif !
Чтобы запустить полноэкранную 5-секундную GIF-запись:
gif 5 --fullscreen
Скрипт работает, приятно записывается сам:
[ 45 секунд, ширина 645 пикселей, полноцвет, 976 КБ ]
Полный 5kb скрипт:
Возможность реверса / слияния, для создания художественных вещей.
Оригинал (435 КБ)
Перевернутое, объединено: (826kb)
Чтобы установить, используя phi :
Полноэкранный:
[1920 * 1080px, gif 400px, 50 секунд , 100 цветов, 2Mb ]
Источник, с некоторыми дополнительными пояснениями и потенциальными обновлениями: https://github.com/webdev23/gif
источник