УДК 004.42; 004.032.6
DOI 10.25205/1818-7900-2018-16-1-24-38
И. А. Архипец \ Д. Е. Бежецков 1 2, Ю. Э. Данилова \ Д. Ю. Кандров 3 М. Н. Солодовник \ А. А. Федотов 4
1 Новосибирский центр информационных технологий «Унипро» пр. Академика Лаврентьева, 6/1, Новосибирск, 630090, Россия
2 Новосибирский государственный университет ул. Пирогова, 1, Новосибирск, 630090, Россия
3 OOO «Аквелон»
пр. Ленина, 12Б, Иваново, 153000, Россия
4 ГП «Грин Стар»
ул. Расплетина, д. 5, стр. 1, Москва, 123060, Россия
[email protected], [email protected],[email protected], [email protected] [email protected], alexei.fedotov@gmail. com
ОТКРЫТЫЕ РЕШЕНИЯ ВЕБ- / ВИДЕОКОНФЕРЕНЦСВЯЗИ И ПРОЕКТ OPENMEETINGS
Открытые программные решения веб- / видеоконференцсвязи анализируются как с технологической, так и с функциональной сторон в масштабе хорошо развитого ИТ-сегмента ВКС. На примере международного проекта Apache OpenMeetings новосибирская команда разработчиков детально рассматривает программные, пользовательские, сервисные и коммерческие аспекты таких проектов в динамике их развития. Показаны возможности и достоинства, обозначены дальнейшие перспективы роста.
Ключевые слова: веб-конференцсвязь, видеоконференцсвязь, ВКС, открытый код, Flash, WebRTC, фонд Apache, мобильный клиент, разработка ПО, поддержка ПО.
Введение
В современном обществе практически любой человек, регулярно пользующийся компьютером, хотя бы изредка прибегает к помощи компьютерной конференцсвязи, не употребляя, однако, этот термин. Например, известный мессенджер Skype или сервис Google Hangouts предоставляют такую возможность. Конференцсвязь - это одновременное общение нескольких человек по аудио- и / или видеоканалам.
Современные системы, обеспечивающие конференцсвязь, на макроуровне делятся на аппаратные и программные. Аппаратные требуют наличия специального оборудования: управляемые видеокамеры, кодеки, серверы и др. Часто это оборудование устанавливают в специальный кабинет для проведения совещаний. Наиболее известные производители в этом сегменте - Polycom и Cisco (Tandberg).
Программные решения более доступны по цене, так как из оборудования они требуют только компьютер, веб-камеру и головную гарнитуру или спикерфон для громкой связи. Пользователи подключаются к конференции либо через специальное ПО, которое дополнительно устанавливается на компьютер, либо через обычный веб-браузер. Программные
Архипец И. А., Бежецков Д. Е., Данилова Ю. Э., Кандров Д. Ю., Солодовник М. Н., Федотов А. А. Открытые решения веб- / видеоконференцсвязи и проект ОрепМеей^ // Вестн. НГУ. Серия: Информационные технологии. 2018. Т. 16, № 1. С. 24-38.
ISSN 1818-7900. Вестник НГУ. Серия: Информационные технологии. 2018. Том 16, № 1 © Архипец И. А., Бежецков Д. Е., Данилова Ю. Э., Кандров Д. Ю., Солодовник М. Н., Федотов А. А., 2018
решения, использующие веб-браузер, технически наиболее просты с точки зрения обычного пользователя. В этой статье мы сосредоточимся на них.
В информационно-коммуникационной отрасли используются два похожих термина -«видеоконференция» и «веб-конференция». Хотя четкого разделения между ними нет, по интернет-источникам различие все же прослеживается \ Видеоконференции обеспечиваются высококачественным оборудованием и сетью, создающими эффект присутствия, которое используется в дорогих аппаратных решениях для делового общения. Веб-конференции не требуют спецоборудования, недороги или бесплатны, технические требования к сети и их установке ПО невысоки. Таким образом, веб-конференции соотносятся скорее с программными решениями. Тем не менее, термин «видеоконференцсвязь» широко применяется и к ним тоже. В англоязычном интернет-пространстве термин «web conferencing» используется в 2 раза чаще, чем «videoconferencing». В русскоязычном сегменте Интернета соотношение обратное. Кроме того, активно используется аббревиатура ВКС для «видеоконференцсвязи». Для удобства мы ниже также будем использовать термин ВКС, относя его сразу и к видеоконференциям, и к веб-конференциям, имея в виду программные решения.
Различные программные решения ВКС отличаются несколькими параметрами. Основные из них - это максимально возможное количество одновременно общающихся людей, качество передачи видео и звука, поддерживаемые операционные системы, наличие мобильного клиента.
Дополнительный функционал - это календарь, чат, средства для совместной работы над документами, для рисования, общий экран, средство для рассылки приглашений на электронную почту, запись конференций, возможности интеграции с другими системами. Многое из перечисленного воспринимается пользователями в настоящее время как должное.
В этой статье мы рассмотрим открытые программные решения ВКС, существующие на глобальном рынке, и более подробно одно из них, которое в 2017 г. отметило свое десятилетие. Это OpenMeetings, проект с интересной историей, на примере которого можно проследить, как возникают, за счет чего живут и развиваются подобные проекты.
Открытые системы ВКС
Технологическое сравнение
Всего в мире известно порядка пяти открытых программных решений ВКС. Они выполняют не только утилитарную пользовательскую, но и образовательную функцию, позволяя интересующимся инженерам разобраться, как устроены и работают такие программные решения, и создать свои решения на их базе. Программный код доступен в открытых репозиториях, таких как Github и Sourceforge. В таблице (см. далее) представлены сравнительные технические характеристики четырех известных свободных открытых программных систем ВКС, которые работают через веб-браузер, без необходимости установки дополнительного ПО.
OpenMeetings (OM) 2 и BigBlueButton (BBB) 3 реализованы архитектурно как классические системы «клиент - сервер» и близки по используемым программным технологиям и требованиям к серверному и клиентскому программному обеспечению. Так, передачу аудио- и видеосигналов в обоих проектах обеспечивает открытый медиа-сервер Red5. Оба проекта пока еще используют Flash для клиентской части.
1 См., например: Everything You Need to Know About Web Conferencing vs. Video Conferencing, 2017. URL: https://www.lifesize.com/en/video-conferencing-blog/web-vs-video-collaboration; Отличие веб-конференций от систем видеоконференцсвязи, 2016. URL: https://trueconf.ru/blog/reviews/otlichie-veb-konferentsiy-ot-sistem-videokonferentssvyazi.html
2 Apache OpenMeetings. URL: http://openmeetings.apache.org/.
3 Big Blue Button. URL: https://bigbluebutton.org/.
Система ВКС, Лицензия Программные технологии Требования к серверу Требования *** к клиенту ОС, поддерживаемые сервером
OpenMeetings (OM), Apache Red5, Java, Adobe Flash, HTML5 Java, 1 Database (MySQL/.../), OpenOffice , SWFTools * Flash plugin **, JRE 8 * Linux, Unix, Windows, macOS
BigBlueButton (BBB), LGPL Red5, Java, Adobe Flash, HTML5, WebRTC, Redis Java, 2 Databases (MySQL/.../; Redis) OpenOffice *, MongoDB *, SWFTools *, FreeSWITCH * Flash plugin Linux
MConf = BBB + own development, LGPL+ AGPL Red5, Java, Ruby, Adobe Flash, HTML5, WebRTC, Redis Java, Ruby on Rails, Chef, 3 Databases (MySQL/.../; Redis; MongoDB) MySQL, Redis, OpenOffice *, SWFTools* Flash plugin Linux
WebHuddle, GPLv2 Java, JBoss Java, JBoss, OpenOffice , Xvfb * Java plugin Windows, Linux, UNIX, macOS
* Опциональные требования для расширения функционала системы. В последних версиях веб-браузеров Flash Plugin устанавливается по умолчанию, для старых версий может потребоваться его установка.
Наличие веб-браузера на клиентской машине подразумевается.
Различия есть, например, в технологической реализации функции общего экрана и видеозаписи, в количестве баз данных для серверной части: для OM требуется всего одна, а для BBB как минимум две различных по назначению. Разнится и список поддерживаемых серверами OM и BBB операционных систем - у OM он расширен на Win, MacOS и Unix.
Проект MConf 4 развился в бразильском университете UFGRGS на базе проекта BBB. Его ядром является подпроект MConf-Live, который обеспечивает серверную и клиентскую части системы. Для него разрабатываются новые функциональные модули, улучшающие интерфейс, и большая часть новых модулей поставляется также в BBB. Разработан дополнительный большой компонент в виде веб-портала, ставший основой веб-сервиса Mconf-Web, где можно завести свою виртуальную комнату для проведения видеоконференций. Существует также проект MConf Academic Network 5, который связывает в единое облако ВКС-серверы различных научно-исследовательских организаций,
4 MConf. URL: https://github.com/mconf/.
5 MConf Academic Network. URL: http://mconf.org/about/mconf-network/.
помогая балансировать и оптимизировать нагрузку, повышая надежность общего ВКС-сервиса.
WebHuddle 6 - проект технологически и функционально менее развит, чем предыдущие. Так, например, не поддерживается передача видео. Работает он как java applet в браузере, однако апплеты в современных версиях браузеров по умолчанию не поддерживаются. Плюсом можно назвать поддержку всех популярных ОС. В дальнейшее сравнение этот проект включать нецелесообразно.
Есть еще две системы программной ВКС, которые стоит вкратце описать. Это Jitsi и VMukti. Проект Jitsi 7 изначально развивался как SIP коммуникатор (по сути веб-телефон для звонков на VoIP-серверы), позже в нем появилась поддержка других популярных протоколов, функционал для чата, видеоконференций и видеотрансляций. Весной 2015 г. команду проекта купила известная компания «Atlassian», после чего два года длилась неопределенность с развитием проекта в рамках концепции open source, а в начале 2017 г. проект продолжил развиваться как open source уже при поддержке «Atlassian». Хотя у проекта много достоинств, подробно его не рассматриваем, поскольку ВКС функционал работает не через веб-браузер.
Проект VMukti в первые годы (2007-2009) развивался как open source 8, а позже встал на коммерческие рельсы, существенно усилив аппаратное направление. Сейчас он предлагает широкую линейку коммуникационных решений, включая видеотрансляции, веби-нары, мониторинг объектов, рассчитанных на взаимодействие с облачной инфраструктурой.
Что важно для пользователя
В этом разделе анализируются принципиальные характеристики, присущие всем трем проектам - BBB, Mconf и OM, и важные с точки зрения выбора между закрытыми коммерческими и открытыми свободными ВКС системами.
Обучение - основная специализация. Эти проекты более всего востребованы сейчас в обучении, что обусловлено как интенсивным развитием области e-learning, так и историей развития самих проектов.
Публичные ВКС-серверы выполняют демо-функцию, позволяя протестировать их возможности. Здесь можно заводить постоянные виртуальные комнаты в привязке к конкретному пользователю. Но для проведения регулярных ВКС-совещаний и вебинаров с большим количеством участников эти сервисы вряд ли подходят, поскольку не могут гарантировать хорошее качество сети одновременно для множества виртуальных комнат.
Возможность установки на свой сервер позволяет пользователю обеспечить необходимые ему технические характеристики: объем оперативной памяти и баз данных, пропускную способность сети, подключение необходимых портов и протоколов, а также контроль всех информационных потоков. Это может быть как локальный, так и облачный сервер. При повышенных требованиях есть возможность сделать кластерную конфигурацию из нескольких серверов.
Интеграция с другими системами. Эти проекты имеют как API, так и готовые плагины интеграции для разнообразных систем управления сайтами и обучением (CMS, LMS): Moodle, Drupal, WordPress, Bitrix и др. У OM есть также интеграция с популярной системой управления ИТ-проектами JIRA. C помощью плагинов пользователь получает возможность переходить с сайта / портала в виртуальную комнату по прямой ссылке без пароля.
Мобильные клиенты, разработанные для каждой из систем, обеспечивают конкурентный уровень на рынке ВКС.
Открытый исходный код этих проектов дает дополнительные возможности: полная проверка на безопасность, интеграция и кастомизация.
6 WebHuddle. URL: https://www.webhuddle.com/homepage.jsp/.
7 Jitsi. URL: https://jitsi.org/.
8 VMukti news. URL: https://sourceforge.net/p/vmukti/news/.
Кастомизация - это частичное изменение пользовательского интерфейса. Благодаря открытому коду пользователи с хорошим программистским опытом могут сделать это самостоятельно. Брендирование - наиболее популярный вид кастомизации, который подразумевает внесение элементов фирменного стиля компании в клиентскую часть системы.
Безопасность. Если интеграцию и кастомизацию через различные API предлагают уже и некоторые проприетарные проекты, то безопасность кода - это сильное преимущество открытых проектов, в которых весь код на 100 % можно проверить. В сочетании с возможностью установки на собственный сервер заказчика под управлением нужной операционной системы и с использованием безопасных протоколов, это дает полную проверку и контроль над каналом ВКС. Для определенных категорий заказчиков именно безопасность является определяющим фактором выбора.
Качество передачи аудио / видео достоверно можно сравнить, только последовательно запуская в одних и тех же условиях OM, BBB и МСоп£ Заявленные же параметры не сильно отличаются друг от друга.
Максимальное количество людей в одной виртуальной комнате примерно одинаково -около 100. Доступно в формате вебинара / лекции, когда выступает один или несколько ведущих, а остальные слушают и могут задавать вопросы в чате либо в коротких видео- / аудиовключениях. Однако в общем случае максимальное количество участников зависит от размеров используемых видеоокон и пропускной способности сети между сервером и клиентами.
Лицензии. OM, BBB и MConf имеют свободные лицензии, разрешающие коммерческое использование. Команда OpenMeetings более чем за 6 лет реализовала десятки таких проектов для клиентов со всего мира.
История проекта OpenMeetings и его развитие в фонде Apache
Автором проекта стал немецкий разработчик Себастьян Вагнер, выпустивший в 2007 г. первую версию OpenMeetings. Проект успешно развивался благодаря внедрению в ряд университетов Германии для поддержки процесса обучения. С 2009 г. проект стал открытым, что помогло привлечь других разработчиков из разных стран. С мая 2009 г. проект стал развиваться и внедряться также силами российских разработчиков. Первой была компания «Телеком-Экспресс», локализовавшая проект для российских заказчиков. Затем та же команда разработчиков продолжила развитие проекта в компании «Датавед». Постепенно основная программная разработка и техническая поддержка проекта переместилась на российскую территорию. Несколько лет назад корпоративным «евангелистом» проекта стал Новосибирский центр информационных технологий «Унипро», взявший на себя основную роль в развитии проекта.
OpenMeetings регулярно попадает в поле зрения различных интернет-обзоров [1] 9.
При этом услуги веб-конференцсвязи на базе OpenMeetings формально предлагают около десятка компаний в мире. С 2012 г. проект развивается под эгидой фонда открытого ПО Apache (ASF) 10 и имеет одноименную лицензию, позволяющую использовать его в коммерческих проектах. Лидером проекта Apache OpenMeetings в ASF является Максим Солодовник, ведущий инженер «Унипро», он регулярно представляет проект на международной конференции ApacheCon. Несколько лет проект участвовал в программе Google Summer of Code, привлекая талантливых студентов к развитию проекта под руководством главного архитектора, имеющего статус Apache Chair.
Помимо своей популярной свободной лицензии, фонд Apache предоставляет свободным проектам множество удобных сервисов, избавляя разработчиков от необходимости
9 См. также: Выбираем решение для организации корпоративных видеоконференций. 2014. URL: https:// xakep.ru/2014/10/05/choice-video-conference-tool/; OpenMeetings Upgrades Web Conferencing App. 2010. URL: https://www.informationweek.eom/openmeetings-upgrades-web-conferencing-app/d/d-id/1093124; Система видеоконференций OpenMeetings // Системный администратор». 2009. Вып. 6 (79). URL: http://samag.ru/archive/ article/2034
10 Apache Software Foundation. URL: https://www.apache.org/.
устанавливать на собственных серверах немалый набор программных средств и поддерживать соответствующие техпроцессы. OpenMeetings использует практически все сервисы Apache, а именно:
• автоматические ночные сборки релизов 11 (OM Continious Integration) c использованием Jenkins;
• баг трекер 12 (OM Issue Tracking), построенный на известном удобном продукте Jira;
• списки рассылки 13 (OM Mailing lists), которые помогают поддерживать живую связь с сообществами пользователей и разработчиков (в настоящий момент их шесть);
• веб-площадка (хостинг) для сайта OM;
• сертификаты для java апплета, обеспечивающего совместное использование экрана;
• географически распределенная сетевая инфраструктура для доставки дистрибутивов (CDN);
• Wiki сервис 14 для ведения документации. В Apache это привычный многим разработчикам Confluence. В публичной части содержится 43 раздела, их составляли разработчики разных команд с 2011 г.
Использование готовых сервисов на веб-порталах Apache существенно облегчает жизнь разработчиков, поскольку нет нужды поддерживать их самим, что позволяет эффективно сфокусироваться на развитии собственно программных продуктов.
Функционал ОрепМеей^Б
Предлагаемые возможности
OpenMeetings удовлетворяет «джентельменскому» набору требований для систем этого класса.
При входе на демо-сайт 15 (а именно с него практически у всех начинается знакомство с функционалом ОМ) пользователь видит дашборд (рис. 1). Он выглядит одинаково независимо от того, где установлена серверная часть ОМ - на демо-сайте разработчиков или на сервере клиента.
Рис. 1. Пользовательский дашборд на демо-сервере
11 OM Continiuos Integration. URL: https://builds.apache.org/view/M-R/view/OpenMeetings/job/openmeetings/.
12 OM Issue Tracking. URL: https://issues.apache.org/jira/projects/OPENMEETINGS/.
13 OM Mailing lists. URL: http://openmeetings.apache.org/mail-lists.htm/.
14 OM Wiki. URL: https://cwiki.apache.org/confluence/display/OPENMEETINGS/Index/.
15 Demo server OM. URL: https://om.alteametasoft.com/openmeetings/signin/.
В дашборде через кнопки двух меню и окон-виджетов пользователь может делать следующие действия:
1) стартовать новое веб-совещание;
2) пользоваться виртуальными комнатами совещаний;
3) создавать приватные виртуальные комнаты через экран календаря в неограниченном количестве;
4) использовать чат;
5) делать рассылку писем-приглашений с возможностью автоматической привязки виртуальной комнаты совещания и общаться с другими пользователями через внутренний почтовый клиент;
6) вести календарь для планирования совещаний с автоматической рассылкой приглашений всем участникам;
7) управлять каталогом записей совещаний;
8) тестировать технические возможности своей интернет-сети;
9) редактировать свой пользовательский профиль;
10) производить поиск в базе зарегистрированных пользователей ОМ;
11) читать новостную ленту мейл-групп;
12) управлять видом дашборда через виджеты;
13) пользователь с правами администратора может заводить неограниченное количество групп и пользователей системы, создавать для них публичные и приватные виртуальные комнаты.
Виртуальные комнаты
Комнаты могут быть 3 разных типов: а) «Конференция» - с равными правами всех участников (до 25 чел.); б) «Вебинар» - с ограниченными правами на видео и модерацию (до 100 чел); в) «Интервью» - с 2 видеоокнами (для 2 чел). При планировании совещания через календарь комната выбранного типа создается на сервере автоматически. На демо-сервере доступны все три типа публичных комнат.
Когда пользователь заходит в комнату, сервер запрашивает разрешение использовать его микрофон и веб-камеру, а также предлагает провести проверку качества изображения и звука. После входа в комнату пользователь видит следующие визуальные компоненты (рис. 2):
• доска, на которой можно рисовать, писать, выкладывать картинки, видео и документы во всех популярных форматах (совместимых с ОрепО£йсе); таких досок может быть несколько, так что пространство комнаты можно назвать мультидоской;
• панель мультидоски для создания разных досок для разных целей на одном экране;
• панель инструментов и связанное с ней всплывающее окно свойств для управления параметрами доски;
• видеоокна для всех участников совещания поверх содержимого доски, которые легко передвигаются в любое место экрана;
• верхнее меню для управления действиями и правами пользователей;
• панель-проводник для списка участников / списков документов и видеозаписей;
• панели для чата и отслеживания статуса и действий пользователей.
Функционал комнаты обеспечивает:
1) передачу данных мультимедиа (звука и видео);
2) доску для коллективной работы с документами, презентациям, изображениями, видео;
3) общий экран, когда один из участников показывает остальным экран своего компьютера в виртуальной комнате;
4) чат приватный (с одним из участников) и общий (со всеми участниками);
5) проведение опросов для голосований участников, публикация их результатов,
6) управление правами пользователей внутри комнат.
кМигйккш
М lt kjoks4keyí-jh*rtiV{tfcirttJFtrtfüi( in inhibe. Dayou w*ntta<tan4ypr<x- ift«h, ttkerifw «килтс»? And b>th«w»>.wfii&n>t back" Rtfr«h 1 Ireic* . X
Рис. 2. Вид комнаты веб-совещаний
Зайти в дашборд или непосредственно в комнату можно также по ссылке с любого сайта или портала, интегрированного с OM (подробнее об этом см. далее)
Мобильный клиент
На данный момент код мобильного клиента OpenMeetings не является открытым, существует только платная версия под Android, которую можно купить стандартным способом через GooglePlay. Версия адаптирована для использования с мобильных устройств и имеет упрощенный функционал по сравнению с десктоп-версией.
Пользователь мобильного клиента может зайти с телефона в виртуальную конференцию, слышать, что происходит в комнате и видеть окно выступающего участника. Также доступен приватный и публичный чаты. Пока мобильный пользователь не имеет доступа к доске и общему экрану, не может модерировать совещание, следить за списком участников, загружать файлы и т. д.
В скором времени планируется выход аналогичной версии для мобильных устройств фирмы Apple (операционной системы iOS). Полный функционал OpenMeetings будет доступен мобильным пользователям после перехода пользовательского интерфейса OpenMeetings на технологии html5/webRTC. Заметим, что для мобильных устройств небольшого размера (телефонов) упрощенная мобильная версия в любом случае останется наиболее удобным вариантом.
Программная архитектура OpenMeetings
Система представляет собой классическое клиент-серверное приложение (рис. 3). Центральным компонентом серверной части является открытый медиасервер Red5 со встроенным веб-сервером Apache Tomcat. Red5 занимается пересылкой медиа потоков и обеспечивает обмен сообщениями по технологии Flash между клиентами и сервером
по протоколу AMF0/AMF3, а также принимает и пересылает медиапотоки от сервера IP-телефонии (Asterisk) (если настроено) и Screen-sharing (если активно).
Компоненты системы реализованы как Java Spring Beans и могут быть настроены редактированием соответствующего XML-файла.
Данные по объектам системы (пользователи, группы, комнаты, организации, сообщения, логи и пр.) хранятся в базе данных. «Из коробки» поддерживаются все популярные базы данных - DB2, Derby, MS SQL, MySQL, Oracle, PostgreSQL. CRUD операции управления данными осуществляются по стандарту JPA (используется Apache OpenJPA).
Рис. 3. Архитектурная схема OpenMeetings
Основные операции с объектами системы (пользователь, группа, событие, файл, запись и т. д.) могут быть совершены с использованием SOAP/REST веб-сервисов, реализованных с помощью Apache CXF. Интеграция с различными сторонними системами производится через веб-сервисы.
Клиентская часть в настоящее время активно переписывается, завершается переход на технологии html5/Apache Wicket web application. Технология Flash/Flex используется остаточно только в отдельных элементах комнаты и в скором будущем ее в системе совсем не останется. Таким образом, стек технологий упрощается.
Авторизация и аутентификация возможна как с использованием внутренней базы пользователей, так и с использованием внешних систем: 1) LDAP/ADS через Apache Directory LDAP API; 2) Google/Facebook/VK и другие через OAUTH.
Аудио- / видеопотоки распространяются через Red5: по протоколам RTMP, RTMPT для обхода брандмауэров, RTMPS для безопасного соединения.
VOD (Video on Demand, видео по запросу) используется для просмотра записей совещаний и медиафайлов и выполнено средствами HTML5/Wicket.
Возможности интеграции в OpenMeetings
Разработчиками OM сделано более 10 модулей интеграции (плагинов). В основном это популярные CMS-системы. Большинство плагинов можно бесплатно скачать с сайта OM,
но не все они являются актуальными и совместимыми с последними версиями. Большинство плагинов для последних версий ОМ являются платными, они не поддерживаются свободным сообществом.
Благодаря интеграции с системой управления пользователями сайта / портала система веб-конференцсвязи разрешает пользователю входить в комнату с тем же именем и реквизитами, с которыми он зарегистрирован на сайте / портале. При внедрении в корпоративном секторе необходима интеграция с централизованной системой управления пользователями, такой, как, например, Active Directory или FreelPA.
Грамотные инженеры могут самостоятельно интегрировать систему, подобную OM, со множеством других систем, используя в качестве инструмента открытые веб-сервисы SOAP/REST API. Команда «Унипро», помимо CMS, имеет опыт интеграции с системами интернет-телефонии и видеконференцсвязи, CRM, Wiki, управления проектами и платежной системой.
Как установить и начать пользоваться OpenMeetings
Операционные системы. OpenMeetings работает на всех широко используемых операционных системах, это Linux, Unix, Windows, macOS.
Требования к сети, к ее пропускной способности, сильно варьируются в зависимости от вида проводимой встречи: вебинар с одним-двумя выступающими и слушателями, либо рабочее совещание на 20 человек. Для оценки требований к пропускной способности сети сервера и клиентов был создан соответствующий калькулятор 1б. В калькуляторе можно выбрать используемое участниками разрешение видео, количество участников с видео и количество участников без видео (слушателей). На основе этих параметров выдается рекомендация о ширине канала для сервера и для участников.
На сервере должна быть установлена любая база данных из списка выше (кроме Derby, которая входит в состав дистрибутива). Операционные системы перечислены выше. Сервер Red5-Tomcat включен в дистрибутив OpenMeetings. В качестве аппаратного обеспечения для сервера желательно использовать сервер с многоядерным процессором (хотя бы двухъядерным) и оперативной памятью не менее 4 Гб. Дискового пространства без хранения видеозаписей потребуется около 2 Гб, однако если предполагается делать видеозаписи, то требуется предусмотреть достаточно дискового пространства для их хранения и обработки. Для примера: часовое видео c разрешением 640 х 480 px требует примерно 500 Мб.
На клиентской машине для работы с OpenMeetings нужен любой браузер, поддерживающий Flash-расширение, а для использования функций «Запись» или «Общий экран» дополнительно потребуется установить Java версии 8 или выше.
Улучшение передачи медиапотоков
У существующего технологического решения есть как плюсы, так и минусы. Плюсы в том, что Flash-player доступен и уже установлен во всех популярных браузерах, и пользователю, чтобы запустить видеоконференцию в OpenMeetings, достаточно перейти на сайт по нужной ссылке. Еще одним плюсом является то, что приложение работает в браузере и соответственно на большинстве современных операционных систем.
Теперь об ограничениях. Текущая реализация ограничена видеокодеками, которые поддерживаются Adobe Flash, а их немного, и большая часть этих кодеков являются закрытыми. В 2011 г. прекращена поддержка Flash под мобильные платформы, а значит, разработчикам мобильных клиентов стоит больших трудов реализация адекватного функционала без использования Flash на мобильных устройствах.
Поскольку за десятилетний срок жизни проекта появились новые технологии, реализующие взаимодействие в реальном времени, сейчас рассматриваются варианты, способ-
16 Network bandwidth for OpenMeetings. URL: http://openmeetings.apache.org/NetworkCalculator.html/.
ные адекватно заменить Flash-элементы интерфейсы на другой механизм передачи видео- /аудиопотоков.
Одной из альтернатив является использование набора технологий WebRTC, позволяющих работать с видео- и аудиопотоками прямо в браузере. На данный момент их поддерживает большинство современных десктопных и мобильных браузеров. WebRTC включает три различных API для обработки потоков данных: 1) getüserMedia, который позволяет получать данные пользователя в браузере, например видеопоток с веб-камеры; 2) RTCPeerConnection, позволяющий передавать потоки по сети; 3) RTCDataChannel -набор API, призванный помочь открывать UDP-соединения между двумя браузерами. Главное преимущество WebRTC перед Flash состоит в том, что эта технология обладает большей устойчивостью к «падениям» и использует напрямую html5 в отличие от технологии Flash. Кроме того, не нужно будет больше устанавливать какие-то плагины или расширения в браузер, поскольку все будет поддерживаться «из коробки».
Однако WebRTC - достаточно молодая технология и пока еще плохо оптимизирована по сравнению с Flash, но так как она уже стала де-факто стандартом обработки потоковых данных, то не за горами появление высокопроизводительных реализации этой технологии. Мы ориентируемся на технологию WebRTC, поскольку она разрабатывается под патронажем веб-консорциума W3C, а значит, неизбежно станет официальным стандартом веб-передачи медиаконтента.
В OpenMeetings мы начали переход на технологию WebRTC в июне 2015 г. как проект для студентов в рамках программы летней стажировки Google Summer of Code. Мы стремимся перейти к прототипу WebRTC с клиент-серверной архитектурой. Это приведет к повышению производительности и улучшит проведение веб-семинаров и веб-лекций, поскольку, имея один мощный сервер или кластер с высокой пропускной способностью сети, можно поддерживать большое количество слушателей, имеющих более скромное соединение и вычислительные ресурсы.
Как только из проекта OpenMeetings уйдет Flash-технология, будет сделан качественный рывок, а именно:
• разработка мобильных клиентов упростится на порядок, поскольку это позволит использовать только браузер без всяких дополнительных технологических требований (Java, Flash),
• повысится стабильность, поскольку WebRTC падает гораздо реже, чем Flash,
• новые протоколы, используемые в технологии WebRTC, позволят ускорить пересылку видео / аудио.
Пользователи OpenMeetings
и коммерческая составляющая проекта
Размер пользовательского сообщества
К настоящему времени количество скачиваний с сайта OpenMeetings Apache превысило 125 тысяч. Какой процент скачавших серверную часть технических специалистов оставляет OpenMeetings в качестве долговременного решения веб-конференцсвязи для своего круга пользователей, оценить трудно. Но даже если 1 из 10, это тысячи инсталляций по миру, каждая с сообществом пользователей от 5 до сотен человек.
В мейл-листах проекта состоит более 500 подписчиков, которые присылают сотни писем каждый месяц. Мейл-лист разработчиков включает ~ 150 человек с вдвое большей активностью общения, чем пользователи.
Виды услуг
За время развития проекта в НЦИТ «Унипро», с лета 2011 г., служба коммерческой поддержки OpenMeetings накопила определенную статистику, позволяющую сделать выводы о том, кто и зачем использует ОМ. Однако эта статистика - достаточно приблизи-
тельная, что объясняется двумя существенными факторами. Первое - самостоятельные инсталляции. В последние годы процесс инсталляции сервера ОМ существенно упростился, и его может выполнить любой продвинутый пользователь, зайдя на Apache сайт проекта. Подавляющее большинство инсталляций ОМ пользователи со всего мира делают сами, не прибегая к помощи официальной поддержки. Второе - закрытость бизнеса клиентов. Около 40 % тех, кто обращается к коммерческой поддержке, не раскрывают «свои карты», не разглашая информацию о характере своего бизнеса.
В порядке количественного убывания типы запросов описаны ниже.
1. Установка (инсталляция) ОМ на сервер заказчика (свой или арендуемый) -до 2015 г. была самой распространенной услугой и составляла ~ 60 % от общего количества заказов. Обычно процесс установки сопровождался простым ребрендингом, который включал в себя замену лого и заголовка OM на логотип и название компании клиента. Сейчас процесс инсталляции уже настолько упрощен, что помощь коммерческой поддержки многим не требуется.
2. Интеграция с сайтами клиентов - второй по распространенности вид услуг. Мы поддерживаем плагины к большинству широко используемых систем (Joomla, Moodle, WordPress, Bitrix и др.). В открытый доступ для последних версий OpenMeetings выложен только плагин для Moodle, все остальные актуальные плагины - коммерческие. Было несколько заказов на интеграцию с сайтами, написанными на php без CMS, также есть успешный опыт интеграции ОМ с PayPal. Это составило ~ 20 %.
3. Кастомизация - это внесение любых изменений пользовательского интерфейса под требования заказчика. Как минимум клиенты просят поместить свой бренд. Кроме того, меняются элементы, стили, цветовая гамма. Бывают клиенты, которым нужно полностью изменить вид виртуальной комнаты, так что потом их пользователи и не догадываются, что в основе очередного брендированного сервиса ВКС лежит OM.
4. Техническая поддержка включает обновления системного ПО и OpenMeetings, мониторинг активности OM и поддержку всей работоспособности сервера OM. В последнее время он становится все более популярным.
5. SIP-интеграция - это интеграция с серверами IP-телефонии (обычно с Asterisk).
6. Модерация. Модерирование было востребовано в нескольких проектах. Самый показательный - российский ОНФ, перед выборами президента РФ в 2012 г. Для веб-совещаний, в которых участвуют с полными правами более 20 человек, имеет смыл привлекать опытного модератора
7. Конфигурация кластера ОМ делалась под конкретного заказчика, которому требовалось проводить большее количество совещаний, чем позволяет один сервер одномоментно. В итоге было реализовано масштабирование на несколько серверов, которое в разы увеличило суммарную емкость системы. Этот компонент стал частью открытого кода системы с согласия заказчика.
8. Хостинг виртуальных комнат - для клиента заводится комната на сервере нашей компании, обычно эта комната интегрируется с сайтом клиента.
Категории клиентов
Если говорить о том, кто наши клиенты, то их можно распределить на четыре категории.
Обучение. Здесь OM наиболее востребован [2]. Как уже говорилось, основатель проекта Себастьян Вагнер начинал с того, что распространял ОМ в университетах Германии, интегрируя его с системой Moodle, традиционно используемой учебными заведениями. И если в начале развития проекта это были государственные университеты, то сейчас это в большинстве своем частные организации, зарабатывающие на различном онлайн-обучении. Например, мы интегрировали ОМ с несколькими сайтами для онлайн-кон-
сультантов школьных репетиторов (США). Есть и интересные нестандартные примеры, например, сайт музыкальной школы для взрослых в Германии. Согласно публичной статистике сайта, количество Moodle-сайтов, использующих OM, уже превысил тысячу 17.
Консалтинговые компании - смежные с обучающими организациями потребители ВКС. В нашей практике это клиенты, занимающиеся медицинским онлайн-консультированием, а также несколько юридических компаний, проводящих консультации по Интернету.
Мультисайтовые организации - третий по распространенности вид клиентов, имеющих отделения в разных городах и даже странах [3]. Сюда входят как госструктуры и некоммерческие организации, так и коммерческие компании, например банк. Здесь нельзя не сказать о нашем долговременном сотрудничестве с двумя крупными отечественными клиентами - Объединенным народным фронтом и Агентством по инновациям и развитию Воронежской области. Наше сотрудничество с ними длилось несколько лет. Несомненно, ОМ получил сильнейший толчок в развитии благодаря такому сотрудничеству, так как за время совместной работы был существенно переделан пользовательский интерфейс и улучшен функционал. Мы получили бесценный опыт практического использования системы и модерировали несколько сотен совещаний. В течение 3 лет мы поддерживали три сервера заказчиков, на которых проводились регулярные видеоконференции с участниками из разных городов. Максимальное количество участников конференции достигало 100 человек.
Продуктовые ИТ-компании - те, кто выпускает свои программные продукты и интегрирует в них функционал ВКС. В нашей практике это системы дистанционного обучения, платформы совместной работы.
«Дорожная карта» OpenMeetings
как пример технологического развития
OpenMeetings как продукт для массового использования хорош уже и в текущей реализации плюс настолько прост в установке, что любой продвинутый пользователь может поставить его на сервер без посторонней помощи. Тем не менее, проект постоянно развивается. Намеченные к реализации в ближайшем будущем улучшения включают в себя следующее.
Принципиальный рефакторинг пользовательского интерфейса
Зачастую именно интерфейс отличает разные системы веб-конференцсвязи друг от друга, а технологическая начинка может быть одинаковой. И часто именно удобство интерфейса определяет выбор клиента. Поэтому совершенствование интерфейса - постоянная задача в развитии продукта.
Завершается переход к версии ОМ реализованной на html5/Wicket. Осталась только небольшая часть элементов виртуальной комнаты с флеш-элементами. Благодаря этому комната и другие используемые экраны выглядят современно.
Но главное то, что с появлением html5 любые изменения стилей и элементов могут делаться в разы быстрее, чем ранее. Еще одно преимущество этих изменений: новый интерфейс поддерживается любыми браузерами, т. е. в ближайшее время функционал комнаты ОМ будет доступен в полном объеме из любого браузера, в том числе на мобильных устройствах с операционными системами iOS и Android.
Рефакторинг передачи медиасигналов с использованием технологии WebRTC
Об этом подробно написано выше. Кратко суммируем: 1) использование устоявшихся кодеков для видео и аудио без перекодирования позволит сохранить совместимость со старыми клиентами и поддержать новых без заметных накладных расходов; 2) суще-
17 Usage statistics for Moodle plugin. URL: https://moodle.org/plugins/stats.php?plugin=mod_openmeetings/.
ственно упростится разработка мобильных клиентов; З) повысится стабильность системы и скорость передачи медиасигналов.
Новый мобильный клиент
На данный момент доступен только мобильный клиент под ОС Android с достаточно ограниченным функционалом. Пользователь может подключиться к видеоконференции, однако не может видеть доску, принимать участие в голосовании, выполнять администраторские функции. В наших планах - создание улучшенной версии с более широким функционалом, доступной также и с мобильных устройств Apple под iOS.
Выводы и перспективы
Большое количество пользователей по всему миру является весомым стимулом для того, чтобы открытые системы ВКС жили и развивались. Несмотря на то что в концепции open source нет мощной коммерческой составляющей, технологические изменения популярных открытых программных систем продолжаются. Во многом это опирается на энтузиазм разработчиков, поскольку рядовые коммерческие клиенты расположены тратить средства на свои утилитарные нужды, а не на капитальный реинжиниринг систем. Стимулировать процесс может финансовая поддержка со стороны крупных институтов, как это делает бразильская научно-образовательная сеть RNP для проекта MConf или международная программа Google Summer of Code для проекта OpenMeetings, либо крупный заказчик или инвестор, заинтересованный в скорейшем улучшении открытого проекта с целью его интеграции в свои бизнес-процессы или в определенную технологическую платформу.
Список литературы
1. Pappas Ch. Top б Open Source Web Conferencing Software Tools For eLearning Professionals. 201б. May 27. URL: httpsV/elearningindustry.com/top^-open-source-web-conferenc-ing-software-tools-elearning-professionals/.
2. Francisco José Quaresma Figueiredo, Suelene Vaz da Silva, Ilha do Desterro. Interaçôes telecolaborativas na aprendizagem de línguas estrangeiras: foco no uso dos recursos do aplicativo computacional Openmeetings // A Journal of English Language, Literatures in English and Cultural Studies. 2014. v.0, issue бб, p. 133. http://dx.doi.org/10.5007/2175-S02б.20i4nббpi33
3. Santos B., Castro R., Santos J. H., Gomes D., Fernandes H., Sousa J., Varandas C. A. F. OpenMeetings as a browser-based teleconferencing tool for EFDA laboratories // Fusion Engineering and Design. 2011. Vol. S6. Iss. б-S. P. 12S2-12S5. http://dx.doi.org/10.101б/ j.fusengdes.2011.04.044
Материал поступил в редколлегию 19.02.2018
38
». A. ApxHneq, fl. E. BexeqKOB, fi. flaHËnoBa ë flp.
I. A. Arkhipets \ D. E. Bezhetskov 1 2, Yu. E. Danilova \ D. Yu. Kandrov 3 M. N. Solodovnik 1, A. A. Fedotov 4
1 Novosibirsk Center of Information Technologies «Unipro» 6/1 Academician Lavrentiev Ave., Novosibirsk, 630090, Russian Federation
2 Novosibirsk State University 1 Pirogov St., Novosibirsk, 630090, Russian Federation
3 OOO «Akvelon» 12ELenin Ave., Ivanovo, 153000, Russian Federation
4 Green Star company 5, building 1, Raspletin St., Moscow, 123060, Russian Federation
[email protected], [email protected],[email protected], [email protected] [email protected], alexei.fedotov@gmail. com
OPEN SOURCE WEB- / VIDEOCONFERENCING SOLUTIONS AND OPENMEETINGS PROJECT
Open software solutions for web / videoconferencing are analyzed both from the technological and functional aspects in the scale of a well-developed videoconferencing IT segment. Apache OpenMeetings international project is considered in details in programming, user, service and commercial aspects by the Novosibirsk developers' team as an example in the dynamics of the development. Opportunities and advantages are shown, further growth prospects are indicated.
Keywords: web conferencing, computer conferencing, teleconferencing and videoconferencing, multimedia information systems, open source, Flash, WebRTC, Apache, software development, software maintenance.
References
1. Pappas Ch. Top 6 Open Source Web Conferencing Software Tools For eLearning Professionals. 2016. May 27. URL: https://elearningindustry.com/top-6-open-source-web-conferenc-ing-software-tools-elearning-professionals/.
2. Francisco José Quaresma Figueiredo, Suelene Vaz da Silva, Ilha do Desterro. Interaçôes telecolaborativas na aprendizagem de linguas estrangeiras: foco no uso dos recursos do aplicativo computacional Openmeetings. A Journal of English Language, Literatures in English and Cultural Studies, 2014, v.0, issue 66, p. 133. http://dx.doi.org/10.5007/2175-8026. 2014n66p133
3. Santos B., Castro R., Santos J. H., Gomes D., Fernandes H., Sousa J., Varandas C. A. F. OpenMeetings as a browser-based teleconferencing tool for EFDA laboratories. Fusion Engineering and Design, 2011, vol. 86, iss. 6-8, p. 1282-1285. http://dx.doi.org/10.1016/ j.fusengdes.2011.04.044
For citation:
Arkhipets I. A., Bezhetskov D. E., Danilova Yu. E., Kandrov D. Yu., Solodovnik M. N., Fedotov A. A. Open Source Web- / Videoconferencing Solutions and OpenMeetings Project. VestnikNSU. Series: Information Technologies, 2018, vol. 16, no. 1, p. 24-38. (In Russ.)