Создание скринкастов в Linux.
В последнее время с развитием широкополосного интернета все больше и больше сайтов предлагают пособия по установке отдельных программ или операционной системы в целом в виде видео файлов. Т.е. автор в процессе установки и настройки программы все свои действия записывает на видео. Задавали ли вы себе вопрос, как именно происходит запись? Что для этого нужно? Мне лично это было интересно, поэтому я решил ознакомиться с этим.
Istanbul


Byzanz
Еще одна программа, которую можно установить с репозитория:
Recordmydesktop
Для того чтобы программа установилась, нужны заголовочные файлы следующих пакетов:
alsa (libasound)
X
libXext
libXdamage
libogg
libvorbis
libtheora
Xvidcap

И скриншот снятый с этого видео:

pyvnc2swf
и зайдите в созданный каталог:
Должно появиться окошко программы:

Wink
Загрузить программу можно отсюда.
Распаковываем скачанный архив:
Запускаем инсталлер:
Screencast Guide: Capure Your Linux Desktop on Video!
Make a Movie of Your Linux Desktop
Пособие по видеопособиям
create screencast using xvidcap
HOW TO: Record Videos Of Your Desktop
Screencasting with Linux
Creating training movies with VNC2SWF
Большинство таких видео файлов создается с помощью специальных программ, которые могут сохранять все действия, происходящие на экране, в файл (обычно это или видео файл (.mpeg) или анимированный .gif или флеш .swf). Сохраненный таким образом файл называется скринкастом (screencast). Часто такая запись сопровождается аудио комментарием. Изначально скринкасты создавались в учебных целях, для того чтобы пользователю было легче разобраться с программой. Но область применения скринкастов на этом не ограничилась, чему служит доказательством широкое распространение видео файлов, показывающих лишь красоту десктопа и различных 3D эффектов.
Если и вам захотелось создать подробное видео руководство, посвященное какой-нибудь программе, или если вы хотите всему миру показать каких красивых эффектов можно достичь с установленной последней версией Beryl'a, тогда эта статья для вас.
Если и вам захотелось создать подробное видео руководство, посвященное какой-нибудь программе, или если вы хотите всему миру показать каких красивых эффектов можно достичь с установленной последней версией Beryl'a, тогда эта статья для вас.
Istanbul
Причина, по которой я начал именно с этой программы, довольно таки банальна, Istanbul входит в репозитории Ubuntu. Поэтому для установки достаточно лишь набрать в консоли:
serhiy@kubuntu:~$ sudo apt-get install istanbul
Пользователям других дистрибутивов можно скачать и установить программу из исходников. После запуска Istanbul в трее появится белый квадратик с красным шариком посередине (такой себе квадратный флаг Японии). Все настройки доступны в пункте меню "Параметры", в который можно зайти, нажав по иконке правой кнопкой мыши.

Проделав все настройки, можно приступать к записи экрана (по умолчанию файл будет сохранен под названием desktop-recording.ogg в домашней директории). Для этого нужно лишь нажать левой кнопкой мыши по иконке (нажмите еще раз для того чтобы выключить).
Поскольку у меня нет возможности приводить здесь пример в видео формате, буду вставлять скриншоты.

Как видно из рисунка, при сжатии четкость немного теряется, но зато размер файла радует, короткий ролик занимает чуть больше мегабайта. Единственное, что раздражает, это желтый шлейф, оставляемый курсором мыши. Я так и не нашел как с этим бороться. Но эта проблема возникает не у всех (с чем она связана?). Поэтому можете попытать счастья. Тем более это не так уж и сложно. В целом, если бы не этот дефект, программа по простоте установки и использования и по качеству скринкаста заслуживает высокую оценку.
Byzanz
Еще одна программа, которую можно установить с репозитория:
$ sudo apt-get install byzanz
Эта программа не имеет GUI интерфейса, поэтому вся работа происходит в консоли. Самый простой способ записать скринкаст сводится к выполнению следующей команды:
$ byzanz-record my_desktop.gif
Как видите, результат сохранеется в виде GIF-файла. Для более подробного ознакомления с программой наберите:
$ byzanz-record --help
Вы увидите, что можно задавать длительность ролика (по умолчанию 10 сек.), координаты области экрана, которую нужно записывать, ширину и высоту записываемого прямоугольника, записывать ли курсор и некоторые другие возможности. Теперь о результатах. Ролик длительностью 10 секунд занял 5.8 мегабайт (запись всего экрана размером 1280-1024 пикселей). Качество изображения как минимум не лучше чем у Istanbul. Сказать определнно не могу, так как просмотрщик изображений очень тормозит при просмотре такой "малютки". В общем программа может и подойтет для записи некоторой (маленькой) части экрана, но определенно не всего экрана.
На этом программы, которые можно установить из репозиторий, заканчиваются. Поэтому придется закачать рукава и ставить из исходников или из .deb пакетов, где это возможно, и разбираться с зависимостями.
Recordmydesktop
Как говорится, название говорит само за себя. Для установки программы нужно скачать исходники. Распаковываем полученный архив, заходим в созданную директорию и устанавливаем:
$ tar -xzvf recocrmydesktop-0.3.3.1.tar.gz
$ cd recordmydesktop-0.3.3.1
$ ./configure
$ make
$ sudo make install
Для того чтобы программа установилась, нужны заголовочные файлы следующих пакетов:
alsa (libasound)
X
libXext
libXdamage
libogg
libvorbis
libtheora
Если при конфигурации увидите сообщения об ошибках, скорей всего это будет связано как раз с отсутствием этих файлов. Установите их с помощью apt (aptitude). У меня программа стала без проблем.
Для создания видео файла (программа сохраняет выход в формате Ogg Theora-Vorbis) наберите в консоли следующее:
$ recordmydesktop -o mydesk.ogg
С помощью ключа --help можно посмотреть дополнительные опции. Их немного больше чем у byzanz, но в целом они похожи. Ниже приведен скриншот из скринкаста (извините за такой каламбур), созданного с помощью recordmydesktop.
Качество изображения лучше чем у Istanbul, но зато и размер больше. Видео файл длительностью 15 секунд занял почти 6 Мегабайт. Зато все дейтсвия, которые я вытворял с окнами и рабочим столом с устновленным Beryl воспроизводились как живые. Для записи 3D десктопа эта программа определнно лучше всех рассмотренных выше.
Если вам больше по душе программы с GUI интерфейсом, то можно установить gtk-RecordMyDesktop - .deb и исходники.
Если вам больше по душе программы с GUI интерфейсом, то можно установить gtk-RecordMyDesktop - .deb и исходники.
Xvidcap
Программа доступна в исходных кодах и в виде .deb пакета. Если у вас [K]Ubuntu версии 6.10 или выше, програма должна стать без проблем. Также не должно быть проблем и в Debian-testing. Пользователям других дистрибутивов скорей всего придется ставить из исходников. В процессе кодирования видео программа широко использует FFMPEG. Поэтому для нормальной работы последний должен быть установлен в системе вместе с требуемыми библиотеками.
Запустить программу можно набрав xvidcap& в терминале. В левом верхнем углу рабочего стола появится следующее окошко:

Для настройки программы нужно кликнуть правой кнопкой мыши по названию файла и пройти в пункn меню "Параметры":
Как видно из рисунка, программа не скупится на настройки. Можно выбрать различные аудио и видео кодеки, качество картинки, количество кадров в секунду.... Записываемую область экрана можно задать с помощью инструмента "Select rectangular area to capture" (ручка с зеленым колпачком). Закончив все настройки и сохранив изменения можно приступить и к записи. Для этого нужно нажать на красную кнопку. Для завершения записи нажмите квадратик.
Помимо настроек, доступных в главном окне программы, параметры "съемки" можно задавать и при старте программы. Вот как выглядит задание снять весь экран, без аудио сопровождения в файл test.mpeg.
$ xvidcap --audio no --cap_geometry 1280x1024[+0+0] --file test.mpeg
И скриншот снятый с этого видео:

Как видно качество тоже на уровне. Единственный недостаток - присутствие окна программы на экране во время "съемки". Бороться с этим можно по разному. Например можно запустить программу на съемку и свернуть, а при выключении развернуть. Потом начало и конец обрезать.
pyvnc2swf
Это скрипт, написанный на Python, который записывает рабочий стол через протокол vnc и сохраняет в флеш файл .swf. Перед установкой программы установите следующие пакеты x11vnc,python-tk и python-pygame. В Ubuntu:
Если все установилось, то можно приступить и к самой программе. Для этого скачайте архив отсюда, распакуйте:$sudo apt-get install x11vnc
$sudo apt-get install python-tk
$sudo apt-get install python-pygame
$tar -xzvf pyvnc2swf-0.9.1.tar.gz
и зайдите в созданный каталог:
$ cd pyvnc2swf-0.9.1
Теперь откройте новый терминал (или новую вкладку(окно) теринала) и запустите там x11vnc:
вернитесь к предыдущему терминалу и запустите следующее:
$ x11vnc
$ ./vnc2swf.py
Должно появиться окошко программы:

Для записи нажмите кнопку Start. Записав, нажмите кнопку Stop, проследуйте в пункт меню File -> Save As и сохраните записанную сессию. Для просмотра скринкаста можно воспользоваться обычным браузером. Если говорить о качестве, то динамические сюжеты (игра с Beryl) отображаются плохо. Изображение явно притормаживает. Зато статические моменты отображает очень хорошо.
Wink
Загрузить программу можно отсюда.
Распаковываем скачанный архив:
$ tar -xzvf wink15.tar.gz
Запускаем инсталлер:
$ ./installer.sh
Как работать с программой можно почитать здесь. Я сам не пробовал, так как версии для 64-битных систем я не нашел.
Как видим, программ для съемки рабочего стола в Linux много, и выбор за вами, какую из них использовать. Мне больше нравятся те, которые сохраняют результат в видео файл, а не gif ил swf. Поэтому, если возникнет острое желание в создании скринкаста, то я пожалуй воспользуюсь программой recordmydesktop или xvidcap.
Ниже я привожу дополнительные источники, где можно подробней ознакомиться с этими программами:
Ниже я привожу дополнительные источники, где можно подробней ознакомиться с этими программами:
Screencast Guide: Capure Your Linux Desktop on Video!
Make a Movie of Your Linux Desktop
Пособие по видеопособиям
create screencast using xvidcap
HOW TO: Record Videos Of Your Desktop
Screencasting with Linux
Creating training movies with VNC2SWF










11 коммент.:
из всех программ пользывался только xvidcap - меня вполне устроила.
Спасиба хороший обзор, вот только бы немного раньше когда у меня возник этот вопрос, а так почитать для общего образования полезно
Потрясающая статья! Вот, оказывается, как много можно выудить из новых репозиториев... буду обновляться.
Под сарж этого великолепия много меньше...
Большое спасибо за пост, очень информативно!
вот только бы немного раньше когда у меня возник этот вопрос Всегда оно так, не во вовремя :). Может другие не такие быстрые как Вы:).
как много можно выудить из новых репозиториев...
Ага. Я уже подумываю переходить на Kubuntu 7.04. 6.06 по поводу новинок подтормаживает. Ставить все из исходников со всеми зависимостями надоет уже.
Пробовал Истанбул, оно конечно скринкастит, но сделать нормальный туториал со скринкастом консоли сделать не получилось - либо файл слишком большой, либо буквы слишком маленькие :)
Спасибо, неплохой обзор. Не знал, что так много утилит существует.
Немного оффтоп - с понедельника под 7.04 сижу - хоть и альфа но пака все супер
Подожду выхода. Осталось не так уж и много. Только вот незадача, сносить работающий дистрибутив как-то не охота, а обновлять с 6.06 до 7.04 не думаю, что пройдет все гладко. Хотя можно попробовать, если все сломается, будет причина ставить новую ось :).
Зачем устанавливать все заново?
Загрузиться с любого LiveCD, примонтировать системный раздел, запаковать все. Теперь можно ставить все, что угодно - всегда будет возможность восстановить систему из архива.
Хороший обзор. Пробовал xvidcap но на моём старом компьтере при попытке заснять эффекты берила (например кубик) успевает снять только 2 фпс в секунду =(
А другие программы не пробовали? У меня например компьютер достаточно мощный, но при сохранение и воспроизведении мегабайтовых гифок все тормозило.
Раз уж вы в каком-то месте дали ссылку на пакет из дебиановского репозитария, то почему бы не дать в остальных? В дебиане есть пакетами всё упомянутое кроме pyvnc2swf. Кроме того, к recordmydesktop существует ещё одна "морда" -- krecordmydesktop; также доступна в репозитарии. Ссылки на пакеты сам искать не буду, а вот sources.list скинуть могу:
t:~$ egrep -v '(^$|^#)' /etc/apt/sources.list
deb ftp://ftp.fr.debian.org/debian sarge main contrib non-free
deb ftp://ftp.fr.debian.org/debian-non-US sarge/non-US main contrib non-free
deb ftp://ftp.fr.debian.org/debian stable main contrib non-free
deb ftp://ftp.fr.debian.org/debian-non-US stable/non-US main contrib non-free
deb ftp://ftp.fr.debian.org/debian proposed-updates main contrib non-free
deb ftp://ftp.fr.debian.org/debian testing main contrib non-free
deb ftp://ftp.fr.debian.org/debian testing-proposed-updates main contrib non-free
deb ftp://ftp.fr.debian.org/debian unstable main contrib non-free
deb ftp://ftp.fr.debian.org/debian experimental main contrib non-free
deb http://security.debian.org/ etch/updates main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free
deb http://www.debian-multimedia.org testing main
deb http://www.debian-multimedia.org sid main
deb http://www.debian-multimedia.org experimental main
deb http://deb.opera.com/opera/ testing non-free
deb http://download.skype.com/linux/repos/debian/ stable non-free
Отправить комментарий