Понятное дело, что само понятие «сервер» накладывает особые требования к аппаратной части. Это и стоечное исполнение, и резервирование БП, и отказоустойчивая дисковая подсистема. Поэтому вряд ли кто-то захочет разместить какой-либо важный бизнес-процесс на десктопной платформе без должной отказоустойчивости со всеми вытекающими последствиями.
Заглавная картинка и само название статьи имеет в первую очередь психологический замысел. До сих пор аппаратные MCU для видео-конференц-связи строятся на базе специализированных плат DSP и стоят миллионы рублей, причём портовая ёмкость у них весьма ограничена. А решения отечественных разработчиков программных продуктов для ВКС, таких как TrueConf или VideoMost — могут реализовать аналогичный функционал хоть на карманном ПК Intel Stick с 4-ядерным Atom на борту.
Как раз о подобном программном решении ВКС от компании SPIRIT DSP и пойдёт речь в этой статье.
VIDEOMOST — это комплекс программного обеспечения на базе Linux (Debian, RHEL, CentOS, Ubuntu, AltLinux, AstraLinux), позволяющий реализовать полноценный функционал: видео-конференц-связи, видео и голосовых звонков, чата и совместной работы с документами (демонстрация рабочего стола, презентация и обмен файлами)
Архитектура решения
Решение ВКС VideoMost имеет классическую для аналогичных продуктов архитектуру. Есть единый сервер (или несколько, в зависимости от задачи) который обеспечивает коммуникацию между пользователями локальной сети организации, удалёнными сотрудниками через VPN, и внешними участниками через интернет.
Преимущественно соединение происходит через браузер (через WebRTC или собственный плагин) или клиентское приложение под различные ОС, в том числе и мобильные.
Установка и настройка
Videomost можно установить вручную на любую из поддерживаемых ОС, либо развернуть уже готовый образ. Но, к сожалению, не все настройки производятся через веб-интерфейс, и придётся использовать настройку из под Linux.
Скачать образ возможно, пройдя регистрацию на сайте videomost.com
Устанавливаем часовой пояс
Размечаем диски
Заводим доменное имя сервера и кучу паролей от различных сервисов (MySQL, openfire, Videomost)
Вводим данные о компании
Переходим к активации (с помощью триального или платного ключа)
В некоторых случаях в момент установки сервер может не достучаться до сервера активации, и результатом будет следующее сообщение об ошибке активации:
Но в этом нет ничего страшного — сервер на данном этапе уже установлен и можно перейти к активации через веб-интерфейс.
При первом входе в веб-интерфейс по IP-адресу сервера появляется сообщение следующего содержания:
Подключение к ВКС Видеомост осуществляется по доменному имени.
Если настройка службы DNS в сети для доменного имени videomost.local (в нашем случае) невозможна, можно использовать локальное разыменывание доменов на каждом клиентском месте, для этого необходимо пользователю с правами администратора отредактировать файл hosts.
Далее идёт инструкция, какие строки необходимо добавить, но при массовой настройке проще использовать прилагаемый bat-ник, который внесёт все изменения автоматически.
Добравшись до веб-интерфейса необходимо залогиниться под админом:
У админа доступен расширенный функционал управления:
В первую очередь необходимо произвести регистрацию лицензии:
После установки и удачной активации сервиса, результат отображается в следующем виде:
В закладке «Настройки» производится управление качеством конференций, авторизацией LDAP, битрейтом и прочими параметрами.
Но интерфейс, к сожалению, не интуитивно понятный всем, и возможно придется обращаться к руководству администратора.
В закладке «Видео профиль» размещаются json-файлы параметров качества видеоконференций. Эти профили можно скачивать для резервирования и подгружать в систему в случае необходимости.
В закладке «Почтовые сообщения» настраиваются шаблоны писем для уведомления пользователей при определённых сценариях.
«Настройки пользователя» позволяют управлять активными пользователями и устанавливать ограничения на битрейт канала для конкретной конференции.
«Масштабирование» позволяет добавлять в систему серверы VideoMost, перераспределяя нагрузку на аппаратную часть с одного сервера на группу (кластер) из необходимого количества серверов.
Закладка «Сервисы» показывает статус Сервера конференций Jconfsrv и сервиса сигнализации Openfire. Из управления — запустить, остановить, перезапустить.
Перед тем, как начать использовать сервис и заводить новых пользователей (либо автоматизировать процесс самостоятельной регистрации) необходимо пройти в закладку «Тарифы»
Создаваемый тариф — это своеобразный профиль, который прикрепляется за каждым пользователем и описывает перечень возможностей и ограничений сервиса видео-конференц-связи. Используя тарифы, можно установить различные права для пользователей с разными потребностями и полномочиями.
Ну и после того, как проведены основные настройки и созданы тарифы — можно переходить к созданию групп и пользователей (если не используется интеграция с AD).
При самостоятельной регистрации пользователей через свой веб-интерфейс учётная запись будет создаваться, но не будет активна, т.к. по умолчанию к ней не прикреплён ни один тариф.
Администратор может применять тарифы к новым пользователям самостоятельно, но может и создать «тариф по умолчанию», который будет присваиваться всем новым пользователям.
Пользовательский интерфейс
В пользовательском веб-интерфейсе есть закладка «Загрузка ПО»
По умолчанию доступны плагины для различных браузеров под различные ОС и облегчённая версия клиента VideoMost Lite для Windows, которая идентична интерфейсу браузера.
Эти средства подключения позволяют организовывать мероприятия и подключаться, используя web-интерфейс браузера.
При входе в мероприятие система предлагает войти через браузер либо через приложение VideoMost Lite. Функционал ограничен относительно полной версии приложения VideoMost Space и не позволяет создавать многопользовательские конференции с использованием адресной книги.
А в целом, интерфейс VideoMost Lite выглядит следующим образом:
Вверху основного окна есть несколько закладок:
Видео — основное окно видеоконференции, в котором отображаются видеопотоки от всех участников.
Документы — обеспечивает совместный просмотр документов, позволяет выбрать для демонстрации либо рабочий стол целиком, либо отдельное открытое окно из списка.
Материалы — эта опция позволяет загружать различные документы и файлы, и передавать их в общий доступ всем участникам. Загруженные файлы отображаются в общем чате и в закладке «Материалы», и могут быть скачаны любым участником.
Электронная доска — классический вариант электронного флип-чарта, наделённый стандартным функционалом графического редактора.
Опрос — функционал, позволяющий создавать и проводить различные опросы для получения обратной связи от участников мероприятия. Более актуально для вебинаров, но также может быть использовано для проведения корпоративных голосований по какому-либо вопросу или проекту.
Под основными закладками находится панель управления. В ней можно управлять видом и размером окна, включать или отключать микрофон, камеру и динамики.
Справа от основного окна интерфейса располагаются закладки, в которых производится управление правами участников, работа в чате (приватном и коллективном), настройка аудио и видео устройств, и прочий функционал администрирования конференции.
Функционал Videomost Lite примерно соответствует браузерному интерфейсу. Если же пользователю требуется более расширенный функционал и возможность создавать и управлять конференциями через приложение, тогда потребуется установка клиента VideoMost Space.
VideoMost Space — это полноценный ВКС-клиент с адресной книгой и возможностью организовывать многоточечные видеоконференции.
Для того, чтобы открыть VideoMost Space для скачивания в закладке «Загрузка ПО» пользовательского интерфейса, необходимо его скачать и залить на сервер VideoMost. Для удобства можно использовать WinSCP и PuTTY.
Далее устанавливаем дополнительный пакет p7zip:
# apt-get install p7zip-full - для Debian/Ubuntu Linux
# yum install p7zip - для CentOS/RHEL Linux
Переходим в каталог с инсталляционным пакетом VideoMost Space и производим распаковку:
# dpkg -i videomost-space*.deb - для Debian/Ubuntu Linux
# rpm -ihv videomost-space*.rpm - для CentOS/ RHEL Linux
После перезагрузки сервиса приложение VideoMost Space появится в закладке «Загрузка ПО»:
После установки приложения, запуска и авторизации открывается рабочее окно VideoMost Space.
Здесь можно управлять адресной книгой, смотреть историю конференций и звонков. Также можно, кликнув на онлайн-пользователя из списка, активировать с ним чат или мгновенную конференцию (видео звонок точка-точка).
Если же необходимо создать многостороннюю видеоконференцию, необходимо нажать кнопку «Создать конференцию»
Окно создания конференции похоже на аналогичное из веб-интерфейса, за одним важным исключением: здесь есть возможность пригласить участников.
Участники выбираются из адресной книги и, в момент старта мероприятия, получают входящее приглашение об участии.
Окно активной конференции в VideoMost Space выглядит следующим образом:
Здесь можно менять раскладки окон участников. Остальной функционал вынесен в боковую панель управления, в которой реализован чат, управление файлами и пользователями, а так же настройка оборудования.
Лицензирование
Для работы сервера VideoMost существуют три вида базовых лицензий:
1. Серверные порты (максимальное количество одновременных участников всех конференций)
Любые участники, в т.ч. не имеющие учётной записи, способные участвовать в конференциях на сервере.
2. Вебинарные порты — лицензия для слушателей вебинара (без обратной видео связи)
3. Учетные записи РС-пользователей (VideoMost Space и\или организатор web-конференций)
Участники, имеющие регистрацию на сервере и способные создавать и управлять конференциями.
Такой подход к лицензированию может снизить суммарную стоимость лицензий.
Например, если необходимо на сервере реализовать 50 портов (пользователей), а функционал создания и управления многоточечными мероприятиями нужен только 5 сотрудникам, то достаточно обеспечить всех лицензиями на подключение, и дополнительно приобрести 5 лицензий на учётную запись. Либо часть участников могут быть только зрителями — вебинарные порты стоят значительно дешевле.
Возможность участия через мобильный клиент или SIP-устройство лицензируются дополнительно, так же как и flash-трансляция мероприятий.
Нагрузка на сервер и каналы
Так как VideoMost использует технологию SVC, нагрузка на канал рассчитывается следующим образом:
Каждый клиент отправляет поток с тем разрешением, которое выдаёт его камера, а получает потоки с суммарным разрешением равным тому, которое может отобразить его дисплей.
Таким образом, если мы имеем FullHD камеру и панель с таким же разрешением, канал в одну и другую сторону загрузится на 2-4 Мбит/с.
Нагрузка на вычислительную подсистему клиента в данном случае будет эквивалентна просмотру пары FullHD-роликов. Поэтому при выборе процессора для FullHD ВКС-терминала, лучше воздержаться от использования Atom, Pentium или Celeron, а отдать предпочтение неурезанным вариантам — i3, i5 или i7.
Сервер, если в конференциях участвуют только VideoMost-клиенты, не занимается кодированием видео, а лишь грамотно коммутирует потоки между клиентами, в зависимости от их параметров и каналов связи. Таким образом, канал до сервера должен обеспечивать пропускную способность равную нагрузке одного клиента, умноженную на количество клиентов. Также стоит отметить, что система отслеживает качество канала до клиента, и сервер будет выдавать клиенту потоки, учитывая пропускную способность сети.
Нагрузка на вычислительную подсистему сервера в данном случае будет минимальна, и с ней справится практически любой современный процессор.
Но если в конференцию добавляется SIP/H.323-клиент, то серверу понадобятся дополнительные ресурсы для транскодирования SIP-потоков и микширования общей картинки для всех участников. И здесь уже важно учитывать количество сессий с участием SIP/H.323-устройств, которые будут требовать увеличение количества ядер центрального процессора сервера.
Типовые модели и конфигуратор решения
Для того, чтобы упростить расчет решения под типовые задачи, мы разработали две модели с удобным конфигуратором лицензий VideoMost и вычислительной подсистемы сервера, с учётом всех требований и особенностей ПО.
VideoMost113.5-004LH — модель начального уровня. Поддерживает работу до 100 подключений через клиентское приложение VideoMost. Эта модель актуальна, когда нет необходимости подключать к системе SIP-устройства или производить Flash-трансляции видеоконференций.
VideoMost217.4-004LH — мощный сервер, который обеспечивает работу до 500 подключений через клиентское приложение VideoMost, и плюс ко всему ещё до 40 SIP/H.323-сессий.
Воспользовавшись конфигуратором, можно рассчитать решение ВКС с учётом всех необходимых лицензий, а так же сравнить его с аналогами других производителей или разработчиков.
В лицензировании VideoMost есть одна особенность, и это важно учитывать при работе с конфигуратором. Опции: мобильный клиент, SIP и трансляция не имеют фиксированной стоимости, но увеличивают стоимость всех базовых лицензий. Поэтому, при выборе базовых лицензий, необходимо проследить, чтобы они были с одним и тем же набором опций.
Например, мне необходимы лицензии на серверные порты и на учётные записи, но в системе будет использоваться подключение через мобильные устройства. Значит в конфигураторе я выбираю необходимое количество лицензий на «Серверный порт + Мобильный клиент, бессрочная + 1 год Тех.поддержки» и нужное количество лицензий на «Учётная запись + Мобильный клиент, бессрочная + 1 год Тех.поддержки». И так далее — главное чтобы в базовых лицензиях совпадал набор опционала.
Если у Вас возникнут вопросы по этому решению — буду рад ответить в комментариях.
Спасибо за внимание!
Комментарии (8)
vviz
01.12.2016 14:57Честно сказать, не понятно, в чем тут революция. Очередной видеокоммутатор. Есть десять клиентов, каждый отдает 2Мб/с. Каждый клиент получает 18Мб/с. В локальной сети это нормально. А из Краснодарской области в Новосибирскую? Вся вкусность в мультиплексоре, как например OpenMCU. Но тогда два ядра — и максимум 5-6 клиентов. А нужно больше — будьте любезны прикупить навороченный сервер. У Вас то же самое. В чем выигрыш?
Usikoff
01.12.2016 15:04+1Не совсем верно Вы подметили. Отдаёт 2Мб/с — да, но получает не 18, а примерно те же 2-3Мб/с, так как сервер ему пересылает не полное разрешение, а тот слой, который нужно. За счет этого и клиенту не нужно раскодировать 100500 потоков FullHD, и каналы до клиента загружены предсказуемо и независимо от кол-ва участников.
На счет межгорода. По сути самый жирный канал нужен серверу. А клиентам достаточно обеспечить свои 2-4Мб/с в обе стороны.
По поводу ядер. Тут как раз на пару ядер можно сотню клиентов посадить. Дополнительные ядра нужны для интеграции с SIP/H.323-клиентами.vviz
01.12.2016 15:13"… сервер ему пересылает не полное разрешение, а тот слой, который нужно" — он, сервер, как то же получил видоизмененые данные, полученные от одного из клиентов? Как он это сделал без перекодирования потока?
Хотя может я и отстал от жизни…Usikoff
01.12.2016 15:20+1Это и есть основа SVC. Клиент отправляет слоёный поток, включающий несколько слоёв с разным разрешением, частотой кадров и пр. Создать такой поток ему не составляет труда, т.к. ресурсов утилизируется не много: основная нагрузка это FullHD, а чем ниже — тем кратно снижается нагрузка на процессор.
Этот «пирог» отправляется на сервер и весит не многим больше обычного FullHD. А сервер производит анализ: какой канал у клиента получателя, в каком размере он смотрит сейчас запрашиваемый поток и шлёт ему не всё, а только нужный слой.
В результате — предсказуемая нагрузка на клиента и каналы.
NikiN
а в чем ваше решение превосходит http://bigbluebutton.org/?
Usikoff
Предположу, что bbb не сможет симметричную видеоконференцию на 100 участников. Поправьте меня, если я не прав — не смог найти подробное описание функционала…
NikiN
не тестировал на таком объеме, но скорее всего да, вы правы.
sergarcada
100500 участников — это уже для провайдеров. Вряд ли кому придет в голову провести симметричную конференцию даже с 50 участниками. Но вот РТ, например, продает этот же видеомост как услугу.