Рубрика:
БИТ. Бизнес & Информационные технологии /
Телекоммуникации
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
СЕРГЕЙ ЯРЕМЧУК, фрилансер. Автор более 800 статей и шести книг. С «СА» с первого номера. Интересы: сетевые технологии, защита информации, свободные ОС
Проект BigBlueButton Платформа для видеоконференций и дистанционного обучения
Видеоконференции стали важным компонентом бизнес-процесса. Поэтому перед многими сисадминами уже стоит задача по организации подобного сервиса. Рассмотрим, чем может помочь здесь BigBlueButton
Поиск в Интернете выдаст несколько десятков самых разных реализаций систем для проведения видеоконференций: аппаратных, программных и организованных в виде сервиса (SaaS). В этом огромном списке можно найти несколько решений, доступных по открытым лицензиям – OpenMeetings, возможности которого уже рассматривались в журнале [1], WebHuddle (серверная часть доступна для нескольких ОС) и BigBlueButton [2]. О последнем и пойдет речь далее.
Проект BigBlueButton (BBB) ориентирован на организации, предлагающие услуги дистанционного образования. С его помощью преподаватели могут проводить эффективное обучение через Интернет. Видеоконференции – лишь одна из его функций, а потому область применения BBB гораздо шире: он может быть использован для простого общения, проведения брифингов и вебинаров.
Возможности BigBlueButton
Первая версия BigBlueButton была написана в 2007 году Ричардом Аламом (Richard Alam), одним из сотрудников Карлтонского университета г. Оттава, Канада (Carleton University), при поддержке программы развития инновационных технологий и управления.
Изначально проект назывался Blindside, позже название было изменено на BigBlueButton, что символизировало подход в использовании продукта – чтобы начать конференцию, нужно всего лишь нажать символическую синюю кнопку.
В 2009 году исходный код был загружен на рескрс Google Code [3].
В это же время была организована компания Blindside Networks для оказания платной поддержки пользователям продукта.
В 2010 году проект был принят в Google Summer of Code, получив в результате серьезный толчок в разработке; в частности, был добавлен API, позволяющий подключать сторонние приложения.
Сегодня в их списке: Sakai, Wordpress, Moodle, Joomla, Redmine, Drupal, Tiki Wiki CMS Groupware, Foswiki и LAMS.
То есть в любой ресурс, использующий данные приложения, можно легко встроить функциональность, предоставляемую BBB. Собственно, именно эта возможность более всего востребована пользователями BBB, а поэтому со временем из настроек сервера пропал интерфейс администратора.
Разработчики проекта просто не видят смысла его развивать (управление ложится на плечи того, кто встраивает приложение, а развивать дублирующий инструмент – пустая трата драгоценнго времени) и сосредотачиваются на функциональности.
В случае отдельного (stand-alone) сервера все установки можно без проблем произвести с помощью весьма простых конфигурационных файлов BigBlueButton и веб-сервера.
Проект пребывает на стадии активной разработки, хотя новые релизы появляются не очень часто. В настоящее время стабильным является релиз 0.71, вышедший в ноябре 2010 года, в марте 2012-го появилась четвертая бета будущей 0.8, которая постепенно идет к финалу.
Сейчас BigBlueButton обеспечивает:
- многопользовательские аудио- и видеоконференции, чат и обмен личными сообщениями (в качестве клиента поддерживается только собственный Java-апплет BigBlueButton);
- общий доступ к рабочему столу для практического показа работы с приложениями и ОС;
- загрузку презентации в формате PDF, а также любом другом, поддерживаемым OpenOffice.org (в том числе форматах Microsoft Office);
- функции рисования, виртуальная указка.
В версии 0.8, разработка которой сейчас ведется, планируется функция записи лекций (слайды, аудио и чат) для дальнейшего воспроизведения.
Конференции могут быть двух видов:
- открытые – к ним может получить доступ любой зарегистрированный пользователь;
- закрытые – список допущенных пользователей формирует выступающий, высылая им данные для доступа.
Пользователи могут входить в конференцию в роли выступающего, модератора и слушателя. Модератор может получить список всех «присутствующих» на конференции, полностью отключить пользователя или перевести его в режим «только просмотр». Создатель конференции автоматически получает статус модератора, остальные пользователи – слушателя.
В остальном работа виртуального лектора мало отличается от реального: кроме видео, он может загружать документы, используя указку, акцентировать внимание на важных моментах, включать аудио выбранного слушателя.
Пользователь может приблизить отдельные фрагменты, чтобы лучше рассмотреть их, привлечь внимание, «подняв руку», общаться в групповом или приватном чате.
Модератор может назначить любого пользователя выступающим, тогда все внимание будет переключено на него.
Все без исключения участники могут использовать веб-камеры (модератор может выбрать режим 320x240 или 640x480, остальные только 320x240) для обмена видеоинформацией, на количество подключений BBB каких-либо ограничений не накладывает.
Еще один важный момент: BBB поддерживает более 40 языков, в том числе и русский, при общении в чате пользователей на разных языках перевод может осуществляться автоматически (качество – на приемлемом уровне).
Для подключения к серверу пользователю достаточно использовать веб-браузер с поддержкой Adobe Flash, то есть это может быть любой компьютер, работающий под управлением Windows, Unix/Linux или Mac OS X. Ведется разработка клиента для Android.
Сам BigBlueButton разрабатывается по условиям лицензии GNU GPL и использует более десятка других Open Source-приложений: Asterisk/ FreeSWITCH, Nginx, Flash медиасервер Red5, MySQL, ActiveMQ, Tomcat, Redis, Grails, Xuggler, OpenOffice.org, Image Magick, SWFTools и многие другие.
Причем изначально в качестве VoIP-сервера использовался Asterisk, со временем добавилась поддержка FreeSWITCH. Причем есть вероятность, что в будущей 0.8 останется только FreeSWITCH, в котором функция записи реализована «из коробки» и не требует пересборки ядра, в Asterisk для этого задействуется модуль app_konference, его поддержка потребует дополнительных усилий разработчиков.
Сервер BBB используется многими организациями самого разного назначения, поиск в Интернете выдаст большое количество ссылок.
Документация на сайте проекта (только на английском) больше рассчитана на администраторов и разработчиков. В ней можно найти ответы практически на все возникающие вопросы – по установке, конфигурированию, API, локализации, настройке отдельных компонентов (VoIP, ngnix и т.п.) и прочим моментам.
Свои вопросы можно задать в списке рассылки, предлагается несколько видеоруководств.
Особо хочется обратить внимание на методические указания, разработанные в Тверском государственном техническом университете [4]. Это готовый документ, рассчитанный на пользователя, в котором подробно рассказано, как организовать и прослушать трансляцию.
Чтобы ознакомиться с основными возможностями BBB, не устанавливая систему, можно просто подключиться к демо-серверу [5].
Знакомимся с BigBlueButton
Для работы BigBlueButton рекомендуются сервер с процессором Dual Core 2.6 Ггц, 2 Гб ОЗУ и место на жестком диске с учетом записи трансляций.
Количество пользователей, которые смогут одновременно общаться на сервере, зависит от мощности оборудования и пропускной способности канала.
На сайте проекта в FAQ даны приблизительные расчеты, кроме того, в списке рассылки можно найти результаты реального стресс-теста [6], а разработчики предлагают ряд скриптов и рекомендаций для самостоятельного тестирования.
Для подключения клиентов по умолчанию используется стандартный 80-й порт, который не должен быть занят другим приложением. В правилах брандмауэра должны быть открыты порты 80 (HTTP), 935 (RTMP) и 9123 (общий рабочий стол).
Сервер может работать в облачной среде, вроде Amazon EC2, но до версии 0.70 здесь были проблемы со звуком и задержки VoIP, которые сегодня устранены.
Разработчики предлагают исходный код, позволяющий установить BBB на любой компьютер, работающий под управлением ОС Linux или FreeBSD (и теоретически на ОС Windows).
На сайте проекта можно найти инструкции по развертыванию BBB в Ubuntu, Debian Squeeze и FreeBSD/PC-BSD. Взяв их за основу, можно установить BBB на любой другой дистрибутив. Предлагаются и неофициальный ebuild-файл, и руководство для Gentoo.
Также на странице закачки можно найти примеры конфигурационных файлов для всех компонентов сервера BBB: это заметно упрощает установку. При некоторой внимательности проблем быть не должно.
Пользователям предлагается репозитарий пакетов для Ubuntu 10.04 LTS:
deb http://ubuntu.bigbluebutton.org/lucid/bigbluebutton-lucid main
Имеется и готовый образ виртуальной машины VMware с предустановленным BBB (собран на базе Ubuntu), который позволяет быстро запустить нужный сервер. Образ удобен еще и в том случае, когда функция «проведение видеоконференций» требуется лишь время от времени и держать отдельный сервер не имеет смысла.
Этот образ мы и будем использовать для дальнейшего знакомства с BBB. Образ легко конвертируется, и его можно запустить на Hyper-V.
Подключение образа к VMware Player или Virtual Box расписывать не имеет смысла, для работы потребуется возможность выхода в Интернет для загрузки пакетов.
Для администрирования создана учетная запись firstuser с паролем default, при регистрации будет выдан запрос на изменение пароля.
При первой загрузке будет обновлена ОС, а также загружены и сконфигурированы файлы BBB, по окончании будет выдан IP для подключения к серверу.
Проверить текущие настройки можно, введя:
$ sudo bbb-conf --check
Если понадобится изменить IP-адрес компьютера, следует повторно переконфигурировать BBB:
$ sudo bbb-conf --setip 192.168.10.10
И перезапустить BBB:
$ sudo bbb-conf --clean
Первая конференция
Образ содержит настройки демо-сервера (пакет bbb-demo), который можно использовать для организации своего самостоятельного (stand-alone) сервера.
Чтобы подключиться к конференции, достаточно набрать в браузере IP-адрес или DNS-имя сервера и указать свое имя, под которым пользователь будет виден всем остальным пользователям.
Далее разрешаем использование микрофона и веб-камеры и подключаемся к конференции.
Первый пользователь получает роль ведущего/модератора. Язык интерфейса выбирается автоматически по настройкам браузера.
Окно программы очень простое, не содержит ничего лишнего, интерфейс без особых проблем освоит пользователь любого уровня (это большой плюс BigBlueButton). Расположение и размер элементов можно менять перетаскиванием (см. рис. 1).
Рисунок 1. Окно BigBlueButton
По умолчанию слева отображается два окна со списком участников; выбрав значок напротив имени, можно выполнить определенное действие – включить микрофон, отключить его и т.п. (какое именно действие, можно узнать из подсказки).
В самом верху выбирается режим трансляции – аудио, видео и рабочего стола. В последнем случае потребуется разрешить запуск Java-апплета, указать область рабочего стола или установить полноэкранный режим.
В окне посередине отображаются слайды (если ткнуть мышкой в определенный участок, он будет подсвечен «указкой»), справа чат и видео пользователей, включивших видеокамеру.
Для Windows 7 в случае проблем при подключении следует отключить используемый по умолчанию протокол Teredo, который часто блокируется маршрутизаторами.
> netsh interface ipv6 set teredo disable
Собственно, того, что есть на данный момент, вполне хватает для организации периодических конференций, совещаний и вебкастов.
Как говорилось ранее, интерфейса администрирования последние версии BigBlueButton не содержат, поэтому, чтобы что-то изменить, потребуется отредактировать конфигурационные файлы.
Ничего сверхсложного в этом нет, а сам процесс, по сути, дает в руки администратора достаточно гибкий инструмент. Описание ряда параметров можно найти в документации проекта.
Готовые файлы демо-шаблонов находятся в каталоге /var/lib/tomcat6/webapps/demo, внутри которого есть несколько файлов, начинающихся на demo*; взяв любой, можно изменить начальную страницу, активировав аутентификацию и возможность выбора конференции.
Чтобы просмотреть, как работает тот или иной шаблон, достаточно добавить в URL название каталога и файла.
Например, возможность выбора конференции и ввод пароля реализован в шаблоне demo3.jsp – http://example.org/demo/demo3.jsp (см. рис. 2), вносим нужные исправления при необходимости и прописываем путь в настройках ngnix – /etc/nginx/sites-available/bigbluebutton. По умолчанию ngnix загружает index.html из каталога /var/www/bluebutton-default.
Рисунок 2. Используя конфигурационные файлы, можно изменить окно входа
***
Если сравнивать два открытых поекта: OpenMeetings и BigBlueButton, то первый проект выигрывает по количеству функций. Это два вида трансляций (лекции и совещания), поддержка большего количества типов файлов для загрузки, удобный файловый менеджер с Drag`n`Drop, интеграция с Active Directory и LDAP, продвинутые возможности по модерированию, запись сессий (эта функция будет и в BigBlueButton 0.8) и некоторые другие «мелочи», вроде планировщика лекций.
Но это усложняет управление и использование, а потому является и минусом, особенно в тех случаях, когда приходится иметь дело с малоподготовленными пользователями.
Здесь, несомненно, выигрывает BigBlueButton, также он немного обходит OpenMeetings по возможностям интеграции и особенно в простоте развертывания. Со времен статьи [1] OpenMeetings уже перебрался с Google Code в Apache Incubator [7].
- Яремчук С. Cистема видеоконференций OpenMeetings. //«Системный администратор», №6, 2009 г. – С. 58-64 (http://samag.ru/archive/article/2034).
- Сайт проекта BigBlueButton – http://bigbluebutton.org.
- Сайт BigBlueButton на Google Code – http://code.google.com/p/bigbluebutton.
- Организация видеоконференций на платформе BigBlueButton. Методические указания для преподавателей и студентов всех специальностей – http://cdokp.tstu.tver.ru/site.services/download.aspx?act=1&dbid=marcmain&did=87897 (http://clck.ru/0zXPi).
- Демо-сайт BigBlueButton – http://demo.bigbluebutton.org.
- Результаты стресс-теста BigBlueButton – http://groups.google.com/group/bigbluebutton-dev/browse_thread/thread/3c7ce9815a9800c3# (http://clck.ru/0zgQM).
- Страница OpenMeetings – http://incubator.apache.org/openmeetings.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|