![](https://habrastorage.org/files/ffe/57b/cd5/ffe57bcd53844e7f8bf03af7bb746067.jpg)
Понятное дело, что само понятие «сервер» накладывает особые требования к аппаратной части. Это и стоечное исполнение, и резервирование БП, и отказоустойчивая дисковая подсистема. Поэтому вряд ли кто-то захочет разместить какой-либо важный бизнес-процесс на десктопной платформе без должной отказоустойчивости со всеми вытекающими последствиями.
Заглавная картинка и само название статьи имеет в первую очередь психологический замысел. До сих пор аппаратные MCU для видео-конференц-связи строятся на базе специализированных плат DSP и стоят миллионы рублей, причём портовая ёмкость у них весьма ограничена. А решения отечественных разработчиков программных продуктов для ВКС, таких как TrueConf или VideoMost — могут реализовать аналогичный функционал хоть на карманном ПК Intel Stick с 4-ядерным Atom на борту.
Как раз о подобном программном решении ВКС от компании SPIRIT DSP и пойдёт речь в этой статье.
VIDEOMOST — это комплекс программного обеспечения на базе Linux (Debian, RHEL, CentOS, Ubuntu, AltLinux, AstraLinux), позволяющий реализовать полноценный функционал: видео-конференц-связи, видео и голосовых звонков, чата и совместной работы с документами (демонстрация рабочего стола, презентация и обмен файлами)
Архитектура решения
![](https://habrastorage.org/files/a31/68e/71c/a3168e71c5474cb6ae6b2cd51cfb451e.jpg)
Решение ВКС VideoMost имеет классическую для аналогичных продуктов архитектуру. Есть единый сервер (или несколько, в зависимости от задачи) который обеспечивает коммуникацию между пользователями локальной сети организации, удалёнными сотрудниками через VPN, и внешними участниками через интернет.
Преимущественно соединение происходит через браузер (через WebRTC или собственный плагин) или клиентское приложение под различные ОС, в том числе и мобильные.
Установка и настройка
Videomost можно установить вручную на любую из поддерживаемых ОС, либо развернуть уже готовый образ. Но, к сожалению, не все настройки производятся через веб-интерфейс, и придётся использовать настройку из под Linux.
Скачать образ возможно, пройдя регистрацию на сайте videomost.com
![](https://habrastorage.org/files/665/1ab/ca7/6651abca70384912b50670493654b6fa.png)
Устанавливаем часовой пояс
![](https://habrastorage.org/files/2a4/6ff/574/2a46ff574a164c27a02a8c078c013a87.png)
Размечаем диски
![](https://habrastorage.org/files/f4a/87f/be8/f4a87fbe86f542f890e9cc6143b9f94c.png)
Заводим доменное имя сервера и кучу паролей от различных сервисов (MySQL, openfire, Videomost)
![](https://habrastorage.org/files/550/0f2/736/5500f2736f6d4a5dbbbf400df09758ed.png)
Вводим данные о компании
![](https://habrastorage.org/files/eaa/628/e79/eaa628e79f584521bdacdd2c3fa73b23.png)
![](https://habrastorage.org/files/ff2/8c0/733/ff28c0733e524a1fae0da7aa536fc2c6.png)
Переходим к активации (с помощью триального или платного ключа)
![](https://habrastorage.org/files/635/d66/dca/635d66dca3934836b6da2c05c9f91b33.png)
В некоторых случаях в момент установки сервер может не достучаться до сервера активации, и результатом будет следующее сообщение об ошибке активации:
![](https://habrastorage.org/files/d25/ff3/871/d25ff38716424066ba42c745e0ed316f.png)
Но в этом нет ничего страшного — сервер на данном этапе уже установлен и можно перейти к активации через веб-интерфейс.
При первом входе в веб-интерфейс по IP-адресу сервера появляется сообщение следующего содержания:
Подключение к ВКС Видеомост осуществляется по доменному имени.
Если настройка службы DNS в сети для доменного имени videomost.local (в нашем случае) невозможна, можно использовать локальное разыменывание доменов на каждом клиентском месте, для этого необходимо пользователю с правами администратора отредактировать файл hosts.
Далее идёт инструкция, какие строки необходимо добавить, но при массовой настройке проще использовать прилагаемый bat-ник, который внесёт все изменения автоматически.
Добравшись до веб-интерфейса необходимо залогиниться под админом:
![](https://habrastorage.org/files/473/25e/f9a/47325ef9a49d402d93b05312f1dabe5a.png)
У админа доступен расширенный функционал управления:
![](https://habrastorage.org/files/1f3/679/c7d/1f3679c7d6e249acad603e595dea32f4.png)
В первую очередь необходимо произвести регистрацию лицензии:
![](https://habrastorage.org/files/8ea/c9b/497/8eac9b4978af4965a5ae922d8384c0ea.png)
После установки и удачной активации сервиса, результат отображается в следующем виде:
![](https://habrastorage.org/files/a10/3d2/0d2/a103d20d210148a1a2c81e1458d1b9f1.png)
В закладке «Настройки» производится управление качеством конференций, авторизацией LDAP, битрейтом и прочими параметрами.
Но интерфейс, к сожалению, не интуитивно понятный всем, и возможно придется обращаться к руководству администратора.
![](https://habrastorage.org/files/833/a50/e31/833a50e31c794a1c976e909eaf505f54.jpg)
В закладке «Видео профиль» размещаются json-файлы параметров качества видеоконференций. Эти профили можно скачивать для резервирования и подгружать в систему в случае необходимости.
![](https://habrastorage.org/files/d6c/2e9/608/d6c2e9608b934d7ba95778cb776aef76.png)
В закладке «Почтовые сообщения» настраиваются шаблоны писем для уведомления пользователей при определённых сценариях.
«Настройки пользователя» позволяют управлять активными пользователями и устанавливать ограничения на битрейт канала для конкретной конференции.
«Масштабирование» позволяет добавлять в систему серверы VideoMost, перераспределяя нагрузку на аппаратную часть с одного сервера на группу (кластер) из необходимого количества серверов.
Закладка «Сервисы» показывает статус Сервера конференций Jconfsrv и сервиса сигнализации Openfire. Из управления — запустить, остановить, перезапустить.
Перед тем, как начать использовать сервис и заводить новых пользователей (либо автоматизировать процесс самостоятельной регистрации) необходимо пройти в закладку «Тарифы»
![](https://habrastorage.org/files/9ae/767/78c/9ae76778c3a74c12a9d74ff444d5e8c3.png)
Создаваемый тариф — это своеобразный профиль, который прикрепляется за каждым пользователем и описывает перечень возможностей и ограничений сервиса видео-конференц-связи. Используя тарифы, можно установить различные права для пользователей с разными потребностями и полномочиями.
Ну и после того, как проведены основные настройки и созданы тарифы — можно переходить к созданию групп и пользователей (если не используется интеграция с AD).
![](https://habrastorage.org/files/6af/5b6/ce5/6af5b6ce532b426a800e5c2b48d45728.jpg)
При самостоятельной регистрации пользователей через свой веб-интерфейс учётная запись будет создаваться, но не будет активна, т.к. по умолчанию к ней не прикреплён ни один тариф.
Администратор может применять тарифы к новым пользователям самостоятельно, но может и создать «тариф по умолчанию», который будет присваиваться всем новым пользователям.
Пользовательский интерфейс
В пользовательском веб-интерфейсе есть закладка «Загрузка ПО»
![](https://habrastorage.org/files/32c/e5c/9b5/32ce5c9b5b7b465c937b3ca7c7385c87.jpg)
По умолчанию доступны плагины для различных браузеров под различные ОС и облегчённая версия клиента VideoMost Lite для Windows, которая идентична интерфейсу браузера.
Эти средства подключения позволяют организовывать мероприятия и подключаться, используя web-интерфейс браузера.
![](https://habrastorage.org/files/6ba/abd/abf/6baabdabf7c14d36ae7fdab650a1bc30.jpg)
При входе в мероприятие система предлагает войти через браузер либо через приложение VideoMost Lite. Функционал ограничен относительно полной версии приложения VideoMost Space и не позволяет создавать многопользовательские конференции с использованием адресной книги.
А в целом, интерфейс VideoMost Lite выглядит следующим образом:
![](https://habrastorage.org/files/457/37c/08b/45737c08bb204dc48a2c1bbb8f36974b.jpg)
Вверху основного окна есть несколько закладок:
Видео — основное окно видеоконференции, в котором отображаются видеопотоки от всех участников.
Документы — обеспечивает совместный просмотр документов, позволяет выбрать для демонстрации либо рабочий стол целиком, либо отдельное открытое окно из списка.
Материалы — эта опция позволяет загружать различные документы и файлы, и передавать их в общий доступ всем участникам. Загруженные файлы отображаются в общем чате и в закладке «Материалы», и могут быть скачаны любым участником.
Электронная доска — классический вариант электронного флип-чарта, наделённый стандартным функционалом графического редактора.
![](https://habrastorage.org/files/711/d38/0f1/711d380f192e4bf0a8f394a142cfbe14.jpg)
Опрос — функционал, позволяющий создавать и проводить различные опросы для получения обратной связи от участников мероприятия. Более актуально для вебинаров, но также может быть использовано для проведения корпоративных голосований по какому-либо вопросу или проекту.
Под основными закладками находится панель управления. В ней можно управлять видом и размером окна, включать или отключать микрофон, камеру и динамики.
Справа от основного окна интерфейса располагаются закладки, в которых производится управление правами участников, работа в чате (приватном и коллективном), настройка аудио и видео устройств, и прочий функционал администрирования конференции.
Функционал 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 появится в закладке «Загрузка ПО»:
![](https://habrastorage.org/files/c0c/4d2/d6b/c0c4d2d6ba0a4d9e87e85abc5ffb6bbf.png)
После установки приложения, запуска и авторизации открывается рабочее окно VideoMost Space.
![](https://habrastorage.org/files/a11/df9/ed3/a11df9ed35df47a1bcb56c42a6d2c1a4.jpg)
Здесь можно управлять адресной книгой, смотреть историю конференций и звонков. Также можно, кликнув на онлайн-пользователя из списка, активировать с ним чат или мгновенную конференцию (видео звонок точка-точка).
Если же необходимо создать многостороннюю видеоконференцию, необходимо нажать кнопку «Создать конференцию»
![](https://habrastorage.org/files/623/117/990/623117990fca41a5a60982c5f77e8604.jpg)
Окно создания конференции похоже на аналогичное из веб-интерфейса, за одним важным исключением: здесь есть возможность пригласить участников.
Участники выбираются из адресной книги и, в момент старта мероприятия, получают входящее приглашение об участии.
Окно активной конференции в VideoMost Space выглядит следующим образом:
![](https://habrastorage.org/files/a4f/f3a/e83/a4ff3ae83db045b38e15df83f9487728.jpg)
Здесь можно менять раскладки окон участников. Остальной функционал вынесен в боковую панель управления, в которой реализован чат, управление файлами и пользователями, а так же настройка оборудования.
Лицензирование
Для работы сервера 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 участниками. Но вот РТ, например, продает этот же видеомост как услугу.