вторник, 27 марта 2007 г.

Создание скринкастов в Linux.

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

Большинство таких видео файлов создается с помощью специальных программ, которые могут сохранять все действия, происходящие на экране, в файл (обычно это или видео файл (.mpeg) или анимированный .gif или флеш .swf). Сохраненный таким образом файл называется скринкастом (screencast). Часто такая запись сопровождается аудио комментарием. Изначально скринкасты создавались в учебных целях, для того чтобы пользователю было легче разобраться с программой. Но область применения скринкастов на этом не ограничилась, чему служит доказательством широкое распространение видео файлов, показывающих лишь красоту десктопа и различных 3D эффектов.

Если и вам захотелось создать подробное видео руководство, посвященное какой-нибудь программе, или если вы хотите всему миру показать каких красивых эффектов можно достичь с установленной последней версией 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 и исходники.


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

24 коммент.:

Unknown комментирует...

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

virens комментирует...

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

Большое спасибо за пост, очень информативно!

serhiy комментирует...

вот только бы немного раньше когда у меня возник этот вопрос Всегда оно так, не во вовремя :). Может другие не такие быстрые как Вы:).
как много можно выудить из новых репозиториев...
Ага. Я уже подумываю переходить на Kubuntu 7.04. 6.06 по поводу новинок подтормаживает. Ставить все из исходников со всеми зависимостями надоет уже.

antage комментирует...

Пробовал Истанбул, оно конечно скринкастит, но сделать нормальный туториал со скринкастом консоли сделать не получилось - либо файл слишком большой, либо буквы слишком маленькие :)

_Andrey_ комментирует...

Спасибо, неплохой обзор. Не знал, что так много утилит существует.

Unknown комментирует...

Немного оффтоп - с понедельника под 7.04 сижу - хоть и альфа но пака все супер

serhiy комментирует...

Подожду выхода. Осталось не так уж и много. Только вот незадача, сносить работающий дистрибутив как-то не охота, а обновлять с 6.06 до 7.04 не думаю, что пройдет все гладко. Хотя можно попробовать, если все сломается, будет причина ставить новую ось :).

_Andrey_ комментирует...

Зачем устанавливать все заново?
Загрузиться с любого LiveCD, примонтировать системный раздел, запаковать все. Теперь можно ставить все, что угодно - всегда будет возможность восстановить систему из архива.

fk_ комментирует...

Хороший обзор. Пробовал xvidcap но на моём старом компьтере при попытке заснять эффекты берила (например кубик) успевает снять только 2 фпс в секунду =(

serhiy комментирует...

А другие программы не пробовали? У меня например компьютер достаточно мощный, но при сохранение и воспроизведении мегабайтовых гифок все тормозило.

Анонимный комментирует...

Раз уж вы в каком-то месте дали ссылку на пакет из дебиановского репозитария, то почему бы не дать в остальных? В дебиане есть пакетами всё упомянутое кроме 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

calibra комментирует...

Изначально скринкасты создавались в учебных целях.

Анонимный комментирует...

Good day !.
You may , perhaps very interested to know how one can reach 2000 per day of income .
There is no initial capital needed You may start to receive yields with as small sum of money as 20-100 dollars.

AimTrust is what you need
The firm incorporates an offshore structure with advanced asset management technologies in production and delivery of pipes for oil and gas.

Its head office is in Panama with offices around the world.
Do you want to become a happy investor?
That`s your choice That`s what you wish in the long run!

I feel good, I started to take up income with the help of this company,
and I invite you to do the same. If it gets down to choose a proper companion utilizes your money in a right way - that`s the AimTrust!.
I earn US$2,000 per day, and what I started with was a funny sum of 500 bucks!
It`s easy to get involved , just click this link http://lypogono.uvoweb.net/rutaku.html
and lucky you`re! Let`s take our chance together to feel the smell of real money

Анонимный комментирует...

Good day, sun shines!
There have were times of hardship when I didn't know about opportunities of getting high yields on investments. I was a dump and downright pessimistic person.
I have never thought that there weren't any need in large initial investment.
Nowadays, I feel good, I started to get real income.
It gets down to select a correct companion who uses your money in a right way - that is incorporate it in real business, parts and divides the profit with me.

You may get interested, if there are such firms? I have to answer the truth, YES, there are. Please get to know about one of them:
http://theinvestblog.com [url=http://theinvestblog.com]Online Investment Blog[/url]

Анонимный комментирует...

Hi everybody!

Sure, you’ve heard about me, because my fame is running in front of me,
my name is Peter.
Generally I’m a social gmabler. for a long time I’m keen on online-casino and poker.
Not long time ago I started my own blog, where I describe my virtual adventures.
Probably, it will be interesting for you to read my notes.
Please visit my web page . http://allbestcasino.com I’ll be interested on your opinion..

Анонимный комментирует...

Hi everybody!

For sure you didn’t here about me yet,
my name is Peter.
Generally I’m a social gmabler. all my life I’m carried away by online-casino and poker.
Not long time ago I started my own blog, where I describe my virtual adventures.
Probably, it will be interesting for you to find out about my progress.
Please visit my web site. http://allbestcasino.com I’ll be glad would you find time to leave your comments.

Unknown комментирует...

И именно он рискнул назвать свои деяния не просто злом, он же назвал себя чистильщиком. 55 человек убил, частично съел, зарезал, изнасиловал, расчленил, и называл себя чистильщиком, считал, что выполнял светлое дело, потому что убивал только проституток, воришек.

Generic Viagra
Viagra Online
Buy Viagra

Buy Viagra online комментирует...

происходящие на экране, в файл (обычно это или видео файл (.mpeg) или анимированный .с установленной последней версией Beryl'a, тогда эта статья для вас.

Viagra without prescription комментирует...

Изначально скринкасты создавались в учебных целях, для того чтобы пользователю было легче разобраться с программой. Но область применения скринкастов на этом не ограничилась, чему служит доказательством широкое распространение видео файлов, показывающих лишь красоту десктопа и различных 3D эффектов.

Viagra without prescription комментирует...

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

Unknown комментирует...

Для консольного скринкастинга (запись содержимого терминала) лучше всего подходит http://shelr.tv

Анонимный комментирует...

It is also a good idea to avoid any accidents, slips or falls.
Now player can think that why they select this game. Best of
all, the basic version of this game is free.
The history of diamond simulants starts with the history of real diamonds which have to be known and treasured before some enterprising person gets around
to imitating them with a cheap substitute. If you are looking for a fun way to spend your weekends, aflight simulator games is one
of the most fun things to have.

Анонимный комментирует...

This simulator combines the realistic
control panels and control experience with the military element.
You must know the different points that you want from a gaming just
before you acquire 1. You can train up your hobo so that you can kill other hobos even more easily, and it is a very
addicting game. If you are using your own clubs, clean
it with a wet cloth at least every 2-3 days.
Just attach a Joystick and pedals, and you could have a
real experience of flying a plane.

三重古天樂 комментирует...

酒店經紀 酒店小姐 酒店經紀公司
台北酒店工作 台北酒店經紀人 酒店兼差 酒店兼職 酒店公關便服店 酒店上班 台北酒店上班 酒店打工 酒店工作內容 酒店pt 台北酒店 便服店 禮服店 酒店 酒店工作 酒店上班時間 酒店上班薪水 酒店上班內容 現領 當日領
打工兼職 打工兼差 酒店營業時間 酒店面試
酒店經濟
差点近くで分かりやすく酒店經紀、ショッピングや観光の酒店打工途中にも立ち寄りやすい場所酒店工作です。
店名になっている酒店上班參和院とは酒店兼差その発音から台湾の酒店兼職農村部で見かけ打工兼差るレンガ作りの昔の建物(三合院)で、ナビは伝統的な台湾料理の店をイメージして訪問しました。が、実際に訪問してみると小洒落たカフェバーのような雰囲気で打工兼職、とってもスタイリッシュ!ちょっと意表を突かれました台北酒店
參和院の林ラオバン
酒店應徵參和院の林ラオバン

店名と店内の雰囲気のギャップ禮服店 について林奕寛ラオバン酒店(老板=オーナーのこと)に伺ってみると、「そのギャップこそがこの店のコンセプト。伝統的な台湾料理、とくに熱炒のメニューをそのままに、新しいスタイルと空間で提供しています」經紀。一般的な熱炒のような雑然とした店構えとは異なり、店内は明るく清潔打工。スタッフも丁寧で柔らかな物腰なのでのおひとり様や女子同士、そして中国語ができない人 台北酒店經紀でも入りやすい雰囲気です。まさに酒店薪水 、これまでになかった新しいスタイルの熱炒です。たび
2015/09/13