Создание скринкастов (screencast) в Linux
Понадобилась создать скринкаст в Ubuntu, там смотреть что есть и вспомнил что когда-то очень давно писал заметку по этому поводу еще при использовании Ubuntu 6.06, но как писал тут, о сайте многое, было утеряна и уничтожена, но остались старые бекапы (backup) Базы данных, вот что значит делать Резервное копирование (backup) баз MySQL хотя бы так, вытащил оттуда свою заметку, отряхнул пыль и выложил, надеюсь что это кому-то пригодиться, и авторы указанных мною программ сделали их еще лучше и функциональнее.
Что такое скринкаст (screencast)? Это запись всех действий, происходящих на экране, в файл (обычно это или видео файл (.mpeg) или анимированный .gif или флеш .swf).Для чего это нужно, например Вам захотелось создать подробное видео руководство, посвященное какой-нибудь программе или просто помочь другу который ни как ни хочет понять ваши инструкции которые Вы ему даете по Jabber(ICQ) или просто по телефону, или хотите всему миру показать каких красивых эффектов можно достичь с установленной последней версией Beryl'a.
Расмотрим несколько программ.
Xvidcap
Программа доступна в исходных кодах и в виде .deb пакета.. Если у вас [K»>Ubuntu 6.10 или выше, программа должна стать без проблем (даже вполне возможно она есть и в репозитария, не проверял, ставил из .deb пакета (в 6.06)).В процессе кодирования видео программа широко использует FFMPEG. Поэтому для нормальной работы последний должен быть установлен в системе вместе с требуемыми библиотеками.
Запуск программы в терминале:
xvidcap&
Для вызова настроек программы нужно кликнуть правой кнопкой мыши по названию файла и выбрать пункт меню "Параметры". Настроек в программе достаточно,можно выбрать различные аудио и видео кодеки, качество картинки, количество кадров в секунду и тд.Записываемую область экрана можно задать с помощью инструмента "Select rectangular area to capture" (что-то вроде пепетки).Для начало записи нужно нажать на красную кнопку,для завершения записи — квадратик.
Помимо настроек, доступных в главном окне программы, параметры "съемки" можно задавать и при старте программы. Вот как выглядит задание снять весь экран, без аудио сопровождения в файл test.mpeg.
$ xvidcap --audio no --cap_geometry 1280x1024[+0+0] --file test.mpeg
Единственный недостаток — присутствие окна программы на экране во время "съемки",но с этим можно бороться просто ее свернуть.
Istanbul
Программа Istanbul входит в репозитории Ubuntu. Поэтому для установки достаточно лишь одного движения в консоли:
$ sudo apt-get install istanbul
Пользователям других дистрибутивов можно скачать и установить программу из исходников. После запуска Istanbul в трее появится красный круг. Все настройки доступны в пункте меню "Параметры", в который можно зайти, нажав по иконке правой кнопкой мыши.По умолчанию файл будет сохранен под названием desktop-recording.ogg в домашней директории. Для записи нужно лишь нажать левой кнопкой мыши по иконке (нажмите еще раз для того чтобы выключить).
Recordmydesktop
Еще одна программа, которую можно установить с репозитория:
$ sudo apt-get install recordmydesktop
также можно скачать исходники
Recordmydesktop программа консольная,для создания видео файла (программа сохраняет выход в формате Ogg Theora-Vorbis) наберите в консоли следующее:
$ recordmydesktop -o mydesk.ogg
где, -o filename — Название записывающего файла (Name of recorded video(default out.ogg)).
С помощью ключа —help можно посмотреть дополнительные опции.
Если вам больше по душе программы с GUI интерфейсом, то можно установить gtk-RecordMyDesktop — .deb и исходники, или поставить из репозиториев:
$ sudo apt-get install gtk-recordmydesktop
.
Byzanz
Еще одна консольная программа, которую можно установить с репозитория:
$ sudo apt-get install byzanz
Самый простой способ записать скринкаст сводится к выполнению следующей команды:
$ byzanz-record my_desktop.gif
Как видите, результат сохранеется в виде GIF-файла. Для более подробного ознакомления с программой наберите:
$ byzanz-record --help
Вы увидите, что можно задавать длительность ролика (по умолчанию 10 сек.), координаты области экрана, которую нужно записывать, ширину и высоту записываемого прямоугольника, записывать ли курсор и некоторые другие возможности. Теперь о результатах. Ролик длительностью 10 секунд занял 5.8 мегабайт (запись всего экрана размером 1280-1024 пикселей).В общем программа может и подойтет для записи некоторой (маленькой) части экрана, но определенно не всего экрана.
Существует множество программ для создания скринкастов в Linux, и выбор за вами, какую из них использовать. Что касается меня,если мне понадобятся скринкасты, то я пожалуй воспользуюсь программой recordmydesktop или xvidcap.
Запись действий в консоли с помощью ttyrec
Иногда, возникает ситуация, когда хочется записать последовательность производимых в консоли действий. Это может понадобиться при выполнение каких-нибудь критических операций, что бы впоследствии проанализировать произведённые действия.
Так же при написании статей, описывающих какую-нибудь программу, или процесс настройки системы, возможность воспроизвести последовательность действий может оказаться очень полезной.
Для этого существует одна из программ — ttyrec — tty recorder. Эта программа идеально подходит для целей записи действий в консоли. Записанные сессии посмотреть в режиме "реального времени" с помощью программы ttyplay. Получается что-то похожее на tty video.
Программа ttyrec является производной от команды script. При запуске ttyrec запускает шелл, и записывает сессию, до тех пор, пока не будет завершена работа вызванной оболочки.
Данная программа доступна из репозиториев:
$ sudo apt-get install ttyrec
а также можно скачать исходные коды.
В пакет ttyrec входят две программы — ttyrec для записи данных, и ttyplay для воспроизведения записанного.
Запись
пример:
$ ttyrec
Запускается оболочка, определённая переменной окружения $SHELL, все действия в этой оболочке записываются.
Данные по-умолчанию записываются в файл с именем ttyrecord в текущей директории.
Также можно явно указать консольную программу, процесс работы которой будет записан.
$ ttyrec -e nano
Явно указать имя файла для записи можно путём задания его в качестве аргумента ttyrec
$ ttyrec -e nano ~/nano.tty
В данном примере сессия работы c nano будет записана в файл nano.tty в домашней директории пользователя.
Воспроизведение.
Ранее записанные сессии можно воспроизвести с помощью ttyplay. В качестве аргумента программы необходимо указать имя файла, в который была произведена запись.
$ ttyplay nano.tty
Так же с помощью опции -s можно указать скорость воспроизведения. Например, с опцией -s2 записанные данные будут воспроизводиться в два раза быстрее.
Опция -p позволяет просматривать файл в то время, как туда идёт запись. Используя это, можно, например, наблюдать за действиями другого пользователя.
Во время воспроизведения доступны следующие "горячие клавиши":
» "+" или "f" увеличивает скорость воспроизведения.
» "-" или "s" уменьшает скорость воспроизведения.
» "1" устанавливает нормальную скорость воспроизведения.
Другие подобные программы
Производить фиксирование действий в консоли можно так же непосредственно с помощью команды script, на основе которой создан ttyrec.
В (K)Ubuntu/Debian GNU/Linux команда script и scriptreplay, которая используется для просмотра зафиксированных сессий, входят в состав пакета bsdutils.
Например, запись:
$ script -t 2> timingfile
Воспроизведение:
$ scriptreplay timingfile
Еще есть программаLive Lab Log,так же основанная на script.
Live Lab Log — это система ведения журналов лабораторных работ. Предназначена для автоматического фиксирования и распознавания хода работы с терминалом Unix-системы. Может применяться для автоматизированного документирования процесса работы сисадмина, для записи хода лабораторных работ во время обучения, для создания заготовок при написании документации, для слежения за ходом работы младших админов.
Эта программа предоставляет такие возможность, как экспорт записанный сессий в XML с возможностью последующей публикации в формате HTML.
Дополнительные источники, где можно подробней ознакомиться с этими программами:
Screencast Guide: Capure Your Linux Desktop on Video!
HOW TO: Record Videos Of Your Desktop