Различного рода совещания являются неотъемлемой частью процесса управления в компании любого размера. Но одно дело, когда сотрудники находятся в одном здании, другое, когда их приходится собирать из разных городов и даже стран. Именно поэтому сегодня все более популярными становятся видеоконференции, позволяющие повысить эффективность общения и сэкономить на командировках.
Apache OpenMeetings
В настоящее время существует большое количество решений для организаций видеоконференций, отличающихся по: назначению (внутреннее, внешнее использование, вещание), типу (персональные или групповые (комнатные)), виду (точка-точка и многоточечные), реализации (аппаратные или программные), используемым протоколам, стоимости и так далее. Рыночная цена коммерческих и особенно аппаратных решений довольно высока, однако применение свободного ПО поможет снизить затраты.
Система веб-конференций Apache OpenMeetings позволяет организовать проведение аудио- и видеосовещаний в многоточечном режиме, когда к серверу подключено несколько десятков человек. За несколько лет проект сменил несколько команд и лицензий, в том числе был в Google Code (под лицензией Eclipse Public License). Последняя его дислокация — инкубатор Apache (incubator.apache.org/openmeetings), соответственно, поменялась и лицензия, на Apache License 2.0. Последняя официальная версия 2.0 вышла в конце июля 2012 года.
Главный плюс — для видеосовещания не требуется установка дополнительного ПО, достаточно веб-браузера с плагином для поддержки технологии Flash. Предусмотрена возможность записи и последующего проигрывания совещаний и экспорта в AVI/FLV файл, импорт в конференцию документов более чем 20 форматов и изображений. Участники могут скачать загруженный файл и совместно редактировать, вводя текст поверх оригинала, рисовать и помечать интересные места. Сами конференции могут быть открытыми и частными. Поддерживается два режима:
- Совещание – до 16 участников, каждый может передавать аудио- и видеоданные;
- Лекции — до 200 участников, передача аудио и видео только у модератора/лектора.
Предусмотрен также обмен текстовыми сообщениями в окне чата или приватными (используется встроенный Jabber сервис). Настройки позволяют создать опрос. Модератор, организующий конференцию, отправляет всем участникам приглашение, содержащее прямую ссылку, он же управляет всеми доступными им возможностями. У каждого зарегистрированного пользователя имеется календарь событий с напоминанием о событиях (через электронную почту или iCal). При подключении выбирается вариант участия (видео+аудио, только видео или аудио, рисунки), разрешение и устройство. Настройки в комнате просты и понятны каждому, пользователь, впервые воспользовавшийся сервисом, быстро освоится.
Возможна интеграция OpenMeetings с другими продуктами — сервером VoIP Asterisk, системой управления обучения Moodle, Drupal, Joomla, SugarCRM и некоторыми другими.
Реализовано три уровня доступа — пользователь, модератор и администратор сервера. Для аутентификации возможно использование внутренней базы или сервиса LDAP/ Active Directory (в $RED5_HOME/webapps/openmeetings/conf найдешь готовые шаблоны для подключения). Возможна работа нескольких серверов OpenMeeting в кластере, одна установка может обслуживать несколько организаций.
Интерфейс Openmeetings переведен на несколько языков, среди которых есть русский. Встроенный редактор локализованных сообщений (LanguageEditor) позволяет при необходимости скорректировать перевод. Внешний вид можно изменить при помощи тем.
Построен Openmeetings с использованием технологий Java и XML. Для организации сервера задействуются: веб-сервер Apache Tomcat, Open Source Flash/RTMP Server Red5, OpenOffice.org/LibreOffice. В качестве базы данных может быть использована MySQL, PostgreSQL, Oracle, DB2 или Apache Derby. Предлагается демосайт, на котором можно познакомиться с основными возможностями Openmeetings. Соединение с сервером осуществляется по протоколам http (порт 5080), rtmp (порт 1935), rtmpt (порт 8088). Встроенный менеджер создания резервных копий упрощает операции по резервированию и восстановлению работоспособности сервера и переносу в другую систему.
Компоненты мультиплатформенные, поэтому сервер будет работать на любой *nix системе или Windows. Установку Openmeetings сложной назвать нельзя, процесс просто требует должной внимательности, в последующем эксплуатация особых хлопот не вызывает.
Требования к оборудованию невысоки, минимальные, которые указанны на сайте — компьютер с процессором 1 ГГц CPU и 1 Гб ОЗУ. Но в случае конвертирования документов, загрузки файлов и записи видео, этой мощности не хватит. В качестве рекомендуемых указан компьютер 2x/4x 2 ГГц (32/64 бит) и 4 Гб ОЗУ. Для организации 100 соединений достаточно компьютера класса Pentium 4 с 2 Гб ОЗУ.
Как рассчитать пропускную способность?
Практически половина всех попыток внедрений систем видеоконференций проваливается из-за неготовности сетевой инфраструктуры. Поэтому еще на этапе выбора поставщика нужно оценить возможности своей сети и требования к пропускной способности. Возможно, они потребуют модернизации для поддержки QoS на уровне, достаточном для проведения видеоконференций. Каждый производитель обычно дает приблизительные расчеты для одного канала. Например, для Apache OpenMeetings каждое подключение к серверу требует 256 кбит/сек. Хотя клиент может выбрать подключение с меньшим качеством, уменьшая требование до 160 кбит/сек. В итоге для сервера нужно обеспечить (N – количество участников):
— входящий канал – (256 х N) кбит/с;
— исходящий канал – ((256 х N х (N – 1)) кбит/с
Для клиентской системы:
— входящий канал – (256 х (N – 1)) кбит/с;
— исходящий канал – 256 кбит/с
Отдельный поток в BBB требует 30-50 кбайт/сек. Приблизительные расчеты для BBB можно найти в FAQ — goo.gl/Pii7Y. В том же Skype для видеоконференций рекомендуется более широкий канал — 4 Мбит/сек (прием)/512кбит/сек (передача).
BigBlueButton
Первая версия BigBlueButton (bigbluebutton.org) была написана 2007 году одним из сотрудников Карлтонского университета г. Оттава, Канада (Carleton University), при поддержке программы развития инновационных технологий и управления. Изначально продукт носил имя Blindside, но позже название было изменено на BigBlueButton, чтобы отразить простоту в использовании – для начала конференции нужно всего лишь нажать символическую синюю кнопку. Именно в простоте BBB превосходит более функциональный и оснащенный, а значит и чуть более сложный OpenMeetings. Проект некоторое время искал свое место и сегодня ориентирован на организации, предлагающие услуги дистанционного образования, позволяя проводить обучение через интернет. Особую роль в этом процессе отводится одной из функций — видеоконференции. Но BBB с таким же успехом может быть использован для простого общения, проведения брифингов и вебинаров. В 2009 году была организована компания Blindside Networks для оказания платной поддержки пользователям продукта. Наиболее серьезный толчок в разработке продукта произошел в 2010 году после участия в Google Summer of Code. Именно тогда был добавлен API, позволяющий подключать сторонние приложения, и сегодня встроить BBB можно в Sakai, WordPress, Moodle, Joomla, Redmine, Drupal, Matterhorn, LAMS и некоторые другие. Эта возможность более всего востребована пользователями BBB, поэтому из настроек сервера был убран интерфейс администратора: разработчики просто не видят смысла его развивать, так как управление ложится на плечи того, кто встраивает приложение. В случае отдельного сервера все установки можно без проблем произвести при помощи конфигурационных файлов BigBlueButton и возможностей веб-сервера. Проект находится на стадии активной разработки, причем следует отметить особую щепетильность в этом вопросе. Например, выходу версии 0.8 Bailetti предшествовали 4 беты и 3 RC. Недавно проект присоединился к бизнес-инкубатору для открытых проектов WebFWD («Web Forward»), который поддерживает Mozilla.
BigBlueButton обеспечивает многопользовательские аудио- и видеоконференции, чат и обмен личными сообщениями (в качестве клиента поддерживается только собственный Java-апплет BigBlueButton), запись лекций (слайды, аудио и чат) для дальнейшего воспроизведения (используется HTML 5, поддерживается пока FF и Chrome), предоставление общего доступа к рабочему столу для практического показа работы с приложениями и ОС, загрузку презентации в формате PDF (и любом другом, поддерживаемым OpenOffice.org/LibreOffice), функции рисования и виртуальную указку. Реализован автоматический перевод при общении в чате пользователей на разных языках.
Для подключения к серверу пользователю достаточно использовать веб-браузер с поддержкой Adobe Flash, то есть это может быть любой компьютер, работающий под управлением Windows, *nix или Mac OS X. Ведется разработка клиента для Android. Конференции могут быть двух видов: открытые (может подключиться любой зарегистрированный пользователь) и закрытые. В случае приватной конфы список допущенных формирует сам выступающий, высылая им данные для доступа. Пользователи в конференции могут быть в роли выступающего, модератора (по умолчанию получает создатель конференции) и слушателя. Работа виртуального лектора мало отличается от реального: кроме видео, он загружает документы, используя указку, акцентирует внимание на важных моментах, включает аудио выбранного слушателя. Модератор может назначить любого пользователя выступающим, тогда все внимание будет переключено на него. Интерфейс пользователя позволяет приблизить отдельные фрагменты, чтобы лучше рассмотреть их, привлечь внимание «подняв руку», общаться в групповом или приватном чате. Модератор полностью контролирует возможности присутствующих, при необходимости отключает пользователя или переводит в режим «только просмотр». Поддерживается разрешение 320×240, 640×480, 1280×720, на количество подключений BBB каких-либо ограничений не накладывает.
В своей работе BBB использует более десятка OpenSource приложений: FreeSWITCH, Nginx, Flash медиасервер Red5, MySQL, ActiveMQ, Tomcat, Redis, Grails, Xuggler, OpenOffice.org, Image Magick, SWFTools и другие. Ранее в этом списке был Asterisk, но при реализации функции записи разработчики столкнулись с тем, что эта функция в FreeSWITCH не требует дополнительных усилий, и потому отказались от Asterisk/app_konference.
Веб-интерфейс BBB переведен на 40 языков, в этом списке есть и русский.
Для работы BigBlueButton рекомендуется сервер с CPU Dual Core 2.6 ГГц, 2 Гб ОЗУ и место на жестком диске с учетом записи трансляций. Количество пользователей, которые смогут одновременно общаться на сервере, зависит от мощности оборудования и пропускной способности канала. Отдельный поток требует 30-50 кбайт/сек. Приблизительные расчеты можно найти в FAQ (goo.gl/Pii7Y), там же приводятся данные стресс-теста. Для подключения клиентов по умолчанию используется стандартный 80 порт, который не должен быть занят другим приложением. В правилах брандмауэра должны быть открыты порты 80 (HTTP), 935 (RTMP) и 9123 (общий рабочий стол).
Доступен исходный код, позволяющий установить BBB на любой компьютер, работающий под управлением Linux, FreeBSD, Mac OS X или Windows. Для Ubuntu и CentOS есть готовые пакеты и репозитарии. Сервер BBB может работать в облачной среде вроде Amazon EC2.
Документация на сайте проекта весьма подробна, в ней можно найти ответы практически на все возникающие вопросы – по установке (есть готовые конфиги), конфигурированию, API, локализации, настройке отдельных компонентов (VoIP, nginx и т.п.) и прочим моментам. Свои вопросы можно задать в списке рассылки, предлагается несколько видеоруководств. Доступен образ VM и демосервер, позволяющие познакомиться с основными возможностями BBB, не устанавливая систему.
А что Asterisk?
В популярном VoIP сервере Asterisk конференцию можно организовать при помощи стандартного приложения MeetMe(app_meetme.so), поддерживающий динамическое создание конференций, защиту паролем, разделение ролей, запись и многое другое. Сам процесс можно сказать очень прост, только пару строчек в meetme.conf. Управление производится при помощи голосового меню. Но качество связи не всегда приемлемое. Кроме того доступно несколько альтернативных решений — ConfBridge(переработанный MeetMe), app_conference (appkonference.sf.net) и его форк app_konference. Так app_conference позволяет организовать аудио и видеоконференцию с несколькими пользователями в приемлемом качестве. При этом он не микширует видеопотоки от участников (только аудио), а просто пересылает нужным абонентам (аудио при этом микшируется). Что существенно снижает требование к оборудованию.
//
А как создать на BBB несколько комнат и возможности записи конференций я не увидел