Разберем возможности и процесс развертывания Apache OpenMeetings — Open Source-сервера видеоконференций, не требующего для использования клиентского программного обеспечения.nnРано или поздно, но перед компанией любого масштаба встает вопрос о необходимости систем видеоконференций и/или систем, обеспечивающих проведение вебинаров как для обучения персонала, так и для презентаций и непосредственно видеоконференций. Остановимся на OpenMeetings — Open Source-сервере веб-видеоконференции, не требующем для использования клиентского программного обеспечения.n
Сравнение вариантов
На данный момент на рынке имеется много продуктов, как платных, так и бесплатных, для организации видеоконференций. Они разделяются на следующие.n
Аппаратные системы
Это решение для видеоконференцсвязи с уже установленным программным обеспечением на основе специализированного оборудования, оно изначально готово к использованию, что называется, «из коробки». Это могут быть как видеотелефоны, так и разнообразные групповые ВКС-системы. Все они состоят из похожих компонентов:n
Инфраструктура:
- Сервер видеоконференцсвязи MCU (Multipoint Control Unit).
- Различные вспомогательные модули: » системы освещения;
- показ презентаций и совместной работы над документами; » средства записи сеансов ВКС; » специальная мебель;
- пульты дистанционного управления камерами и ВКС-оборудованием;
- шлюзы (gateway) для подключения стороннего оборудования.
Терминал:n
- кодек, аппаратный модуль для кодирования-декодирования медиатрафика;
- средство отображения (встроенный в терминал монитор или внешние ЖК-экраны);
- средство воспроизведения звука (встроенные в систему динамики, спикерфоны, выход на внешние системы звукоусиления);
- средство захвата звука (микрофоны, спикерфоны и вход для конгресс-систем);
- средство захвата видео (одна или несколько PTZ-камер, веб-камеры либо встроенная камера); средство захвата контента (DVI/VGA-вход на кодеке, документальные камеры, возможность чтения файлов с флеш-карты).
Программные системы
Программные аналоги представляют собой программное обеспечение для видеоконференцсвязи, которое устанавливается на компьютер или мобильное устройство, выступающее в роли терминала или даже сервера ВКС. Для захвата и воспроизведения медиаданных используется встроенное либо внешнее оборудование: камера, микрофон, гарнитура, динамики, а также различное USB/ PCI-X периферийное оборудование, включая PTZ-камеры, карты захвата, спикерфоны. Ассортимент периферийных решений для ПК значительно шире и богаче, чем у аппаратных систем.nnПрограммные решения легко масштабируются в отличие от аппаратных, для которых придется покупать дополнительное оборудование для расширения (если сразу не было приобретено), в большей степени они просты в установке и настройке, а все дополнительные функциональные возможности обычно уже интегрированы в них или их легко интегрировать в отличие от аппаратных.nnВ качестве терминала ВКС может выступать как обычный компьютер, так и смартфон, ведь кроссплатформенность -еще одно преимущество таких решений.nnТак как мы пытаемся сэкономить финансовые средства, будем рассматривать программные системы, они значительно отличаются в ценовой системе. А именно нас интересуют бесплатные продукты, готовые для внедрения в компаниях.nnОдной из таких программ является OpenMeetings. В журнале «Системный администратор» №6/2009 уже писали об этом продукте, но с тех пор многое изменилось в программе и оставлять ее без внимания нельзя.n
Обзор OpenMeetings
Система веб-конференций Apache OpenMeetings позволяет организовать проведение аудио- и видеосовещаний в многоточечном режиме, когда к серверу подключены десятки человек. За несколько лет проект сменил несколько команд и лицензий, в том числе был в Google Code (под лицензией Eclipse Public License). Последняя его дислокация — инкубатор Apache, соответственно, поменялась и лицензия — на Apache License 2.0. Последняя официальная версия на момент написания статьи 3.0.7.nnГлавный плюс — для видеосовещания не требуется установка дополнительного ПО, достаточно веб-браузера с плагином для поддержки технологии Flash (см. рис.1). Предусмотрена возможность записи и последующего проигрывания совещаний и экспорта в AVI/FLV-файл, импорт в конференцию документов более чем 20 форматов и изображений. Участники могут скачать загруженный файл и совместно редактировать, вводя текст поверх оригинала, рисовать и помечать интересные места.n
Особенности системы:
nn
- Интеграция с СДО Moodle и другими СДО: возможность создавать вебинары прямо из курсов Moodle, переходить из Moodle в вебинары без повторной регистрации и авторизации.
- Устанавливается на собственный сервер заказчика.
- Поддерживает режимы аудио- и видеоконференции нескольких участников или выступления одного участника.
- Белая доска: позволяет делать пометки и зарисовки, отображать картинки, видеозаписи и текстовые документы для участников вебинара.
- Демонстрация слайдов и презентаций.
- Модерация и управление доступом к вебинару.
- Функция записи видеовстречи.
- Функция демонстрации рабочего стола докладчика.
- Обмен файлами.
- Голосования и опросы.
- Система имеет плагины к таким популярным продуктам, как 1С-Битрикс, Moodle, Joomla, Drupal.
- Также имеется возможность интегрировать систему VoIP и SIP, OAuth2. Полный список на сайте.
- Поддерживается доменная авторизация через Active Directory или LDAP.
Интерфейс OpenMeetings переведен на несколько языков, среди которых есть русский. Встроенный редактор локализованных сообщений (Language Editor) позволяет при необходимости скорректировать перевод. Внешний вид можно изменить с помощью тем.nnПостроен OpenMeetings с использованием технологий Java и XML. Для организации сервера задействуются вебсервер Apache Tomcat, Open Source Flash/RTMP Server Red5, OpenOffice.org/LibreOffice. В качестве базы данных могут быть использованы MySQL, PostgreSQL, Oracle, DB2 или Apache Derby.n
Установка OpenMeetings
Установку OpenMeetings сложной назвать нельзя, процесс просто требует должной внимательности, в последующем эксплуатация особых хлопот не вызывает.nnТребования к оборудованию невысоки, минимальные, которые указаны на сайте, — компьютер с процессором 1 ГГц CPU и 1 Гб ОЗУ. Мы станем использовать ОС Debian 8 (Jessie). Будем считать, что система уже установлена и настроена. Все действия мы будем проводить из-под учетной записи суперпользователя root.nnПервым делом добавим репозитории Oracle Java и Adobe Flash Player:n
deb http://ppa.launchpad.net/webupd8team/java/ubuntu ntrusty mainnndeb-src http://ppa.launchpad.net/webupd8team/java/ubuntu ntrusty mainnndeb http://ftp.us.debian.org/debian jessie contrib non-free deb http://ftp.us.debian.org/debian jessie contrib
Установим сертификат репозитория:n
# apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
Обновим систему:n
# apt-get update
Устанавливаем Oracle Java:n
# apt-get install oracle-java8-installer
Соглашаемся с лицензией и продолжаем установку:n
# apt-get install oracle-java8-set-default
Проверить установленную версию Java можно командой:n
# java -version
Для работы с офисными документами установим LibreOffice:n
# apt-get install libreoffice
nnСамое главное в работе серверного ПО — библиотеки, для сборок пакетов установки, ставим их:n
# apt-get install imagemagick gdebi libgif4 libgif-dev synaptic zliblg-dev liboil0.3 libart-2.0-2 unzip make install build-essential libfreetype6-dev
Начинаем устанавливать ПО (необходимо точно использовать указанную версию, т.к. она 100% рабочая). Ставим SOX, программа для работы со звуковыми файлами:n
# cd /optnn# wget http://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2.tar.gznn# tar xzvf sox-14.4.2.tar.gznn# cd /opt/sox-14.4.2nn# ./configurenn# make && make install
Ставим Swftools, пакет программ командной строки для создания и работы с файлами SWF: Если ОС x64:n
# cd /optn# wget http://old-releases.ubuntu.com/ubuntu/pool/universeZs/swftools/swftools_0.9.0-0ubuntu1_amd64.debn# dpkg -i swftools_0.9.0-0ubuntu1_amd64.deb
Если ОС х86:n
# wget http://old-releases.ubuntu.com/ubuntu/pool/universe/s/swftools/swftools_0.9.0-0ubuntu1_i386.debn# dpkg -i swftools_0.9.0-0ubuntu1_i386.deb
Блокируем версию, чтобы случайно не обновить, т.к. разработчики не дают гарантий, что будет работать с другой версией из-за неполноты опций:n
# echo "swftools hold" | dpkg --set-selections
Устанавливаем Adobe Flash Player, мультимедийная платформа для воспроизведения векторной анимации, видеороликов в веб-страницах и интерактивных приложений:n
# apt-get install flashplugin-nonfree
Для работы с LibreOffice используется маленькая библиотека — jodconverter, которая, к сожалению, давно не обнляется, но работает при этом отлично. Она подключается к LibreOffice через TCP сокет и отдает ему файл на конвертирование, в ответ приходит отконвертированный файл. Все это работает гораздо быстрее и правильнее, чем все вышеперечисленные Java-библиотеки.n
# cd /optn# wget http://jodconverter.googlecode.com/files/jodconverter-core-3.0-beta-4-dist.zipn# unzip jodconverter-core-3.0-beta-4-dist.zip
FFmpeg — набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио- и видеозаписи в различных форматах. Он включает libavcodec — библиотеку кодирования и декодирования аудио и видео и libavformat — библиотеку мультиплексирования и демультиплексирования в меди-аконтейнер. Название происходит от названия экспертной группы MPEG и FF, означающего fast forward.n
# apt-get -y --force-yes install autoconf automake libass-dev libfreetype6-dev libgpac-dev libsdl1.2-dev libtheora-dev J libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev J libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texi2html J zlib1g-dev nasm libx264-dev cmake mercurial libopus-dev
Нужно собрать правильно библиотеки FFmpeg, лучше использовать готовый скрипт, который предоставила Apache:n
# wget https://cwiki.apache.org/confluence/download/attachments/27838216/ffmpeg_script_compile_Ubuntu_Debian.zip?version= J 3smodificationDate=1443530338096sapi=v2
Запускаем скрипт установки и ждем завершения:n
# ./ffmpeg.sh
Устанавливаем базу данных MariaDB — ответвление СУБД MySQL, разрабатываемое сообществом:n
# apt-get install python-software-propertiesn# apt-get install software-properties-commonn# apt-get install mariadb-server
При установке стандартно вводим пароль root два раза. Создаем базу данных:n
# mysql -u root -pn# CREATE DATABASE DATABASE DEFAULT CHARACTER SET 'utf8';n# GRANT ALL PRIVILEGES ON DATABASE.* TO 'openmeetings'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;n# quit
где:n
DATABASE - имя базы данных;nopenmeetings - имя пользователя базы данных;nlocalhost - хост, где стоит сервер баз данных;n123456 - пароль пользователя базы данных.
И завершающим действием будет скачивание и установка OpenMeetings:n
# mkdir /opt/red5307n# cd /opt/red5307n# wget http://apache.rediris.es/openmeetings/3.0.7/bin/apache-openmeetings-3.0.7.zipn# unzip apache-openmeetings-3.0.7.zipn# chown -R nobody /opt/red5307
Скачиваем и устанавливаем коннектор для соединения OpenMeetings и MariaDB:n
# cd /optn# wget http://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.36/mysql-connector-java-5.1.36.jar
копируем в…n
# cp /opt/mysql-connector-java-5.1.36.jar /opt/red5307/webapps/openmeetings/WEB-INF/lib
Дальше настраиваем OpenMeetings для подключения к mysql:n
# cd /opt/red5307/webapps/openmeetings/WEB-INF/classes/META-INFn# mv persistence.xml persistence.xml-orin# mv mysql_persistence.xml persistence.xml
Редактируем файл /opt/red5307/webapps/openmeetings/ WEB-INF/classes/META-INF/persistence.xml. Изменяем линию 81:n
, Url=jdbc:mysql://localhost:3306/openmeetings
наn
, Url=jdbc:mysql://localhost:3306/DATABASE
Изменяем линию 86:n
, Username=root
наn
, Username=openmeetings
Изменяем линию 87:n
, Password=" />
наn
, Password=123456" />
где:n
DATABASE - имя базы данных;nopenmeetings - имя пользователя базы данных;nlocalhost - хост, где стоит сервер баз данных;n123456 - пароль пользователя базы данных.
Скачиваем готовый скрипт запуска сервера от разработчиков:n
# wget https://cwiki.apache.org/confluence/download/attachments/27838216/red5?version= J 3smodificationDate=1443596054913sapi=v2n# mv red5?version=3 red5n# cp red5 /etc/init.d/
Делаем его исполняемым:n
# chmod +x /etc/init.d/red5
Запускаем все сервисы:n
# /etc/init.d/mysql startn# /etc/init.d/red5 start
Дальнейшая установка происходят через веб-интерфейс. Переходим на сайт установки по адресу: http:// localhost:5080/openmeetings/install. Далее все понятно, описывать не буду. Единственный момент, на который нужно обратить внимание, — это параметры пути сервисов для работы OpenMeetings:n
> swftools_path - /usr/binnn> imagemagick_path - /usr/binnn> sox_path - /usr/local/binnn> ffmpeg_path - /usr/local/binnn> office.path - /usr/lib/libreofficenn> jod.path - /opt/jodconverter-core-3.0-beta-4/lib
Для работы необходимо открыть порты на файрволе: 5080, 1935, 8088. Дальнейшие настройки производятся через веб-интерфейс в разделе «Администрирование»:n
- Создание и редактирование пользователей.
- Мониторинг подключенных пользователей.
- Создание организаций, для распределения пользователей.
- Создание шаблонов комнат совещания по умолчанию.
- Редактор языков, для правки перевода.
- Конфигурация LDAP, здесь прописывается только путь к файлу настроек, для подключения и считывания данных. В самом файле есть два типа подключения: Active Directory и LDAP. В зависимости от этого и указываются атрибуты поиска.
- Настройка OAuth2, по умолчанию есть три примера: Yandex, Google, Facebook. Можно легко добавить свои.
- Резервное копирование и подробная инструкция по его выполнению.
- Настройка серверов кластера.
- И, самое главное, настройка конфигурации системы. Из основных настроек выделю параметры для smtp сервера (smtp_server, smtp_port, system_email_adddr, email_username, email_userpass), название системы (application.name), URL путь к системе (application.base. url), временную зону (default.timezone) и размер загружаемого файла (max_upload_size). Остальные настройки системы можно посмотреть на официальном сайте.
Сама по себе система неприхотлива. Она одинаково подойдет и для проведения конференций с большим количеством участников, и для беседы тет-а-тет, для проведения семинаров и обучения. Неоспоримые плюсы — бесплатность, открытость и низкая нагрузка на канал. Для каждого пользователя, подключенного к видео, требуется минимальная пропускная способность (достаточно 64 кбит/с). Из недостатков можно отметить высокую нагрузку на процессор пользователя, так как каждый клиент самостоятельно декодирует видеопотоки (что одновременно и плюс — так как снимает всю нагрузку с сервера).n
Источник: журнал Системный администратор №(158-159)
nn
n
Вам необходима настройка сервера видеоконференций — мы произведем настройку для вас, подробности [email protected]
n