В последнее время с развитием широкополосного интернета все больше и больше сайтов предлагают пособия по установке отдельных программ или операционной системы в целом в виде видео файлов. Т.е. автор в процессе установки и настройки программы все свои действия записывает на видео. Задавали ли вы себе вопрос, как именно происходит запись? Что для этого нужно? Мне лично это было интересно, поэтому я решил ознакомиться с этим.
Большинство таких видео файлов создается с помощью специальных программ, которые могут сохранять все действия, происходящие на экране, в файл (обычно это или видео файл (.mpeg) или анимированный .gif или флеш .swf). Сохраненный таким образом файл называется скринкастом (screencast). Часто такая запись сопровождается аудио комментарием. Изначально скринкасты создавались в учебных целях, для того чтобы пользователю было легче разобраться с программой. Но область применения скринкастов на этом не ограничилась, чему служит доказательством широкое распространение видео файлов, показывающих лишь красоту десктопа и различных 3D эффектов.
Если и вам захотелось создать подробное видео руководство, посвященное какой-нибудь программе, или если вы хотите всему миру показать каких красивых эффектов можно достичь с установленной последней версией Beryl'a, тогда эта статья для вас.
Причина, по которой я начал именно с этой программы, довольно таки банальна, 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 и
исходники.
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