Open sourse решения для видеоконференц связи

5 Мар
2012

Рынок видеоконференц связи сейчас развивается очень активно – это и различные вебинары, и программные сервера, аппаратные решения — такие как: Tandberg и Policom. В последнем скайпе тоже появилась поддержка видео конференций. Один существенный недостаток у этих продуктов – цена как у чугунного моста слишком высока, особенно для бюджетных организаций.

Приведу краткий обзор двух OpenSourse программ, используемых мной и поддерживающих видеоконференции более 4х участников.

  • 1. BigblueButton

Бесплатный Open Source продукт. Можно скачать уже готовую виртуальную машину.

Данная программа относится к классу веб конференций.

Для проведения собственного вебинара рассматривал ее и OpenMeetings, в итоге второй отпал из-за существенных на мой взгляд недостатков.

Синяя кнопка прижилась, из плюсов хочу отметить удобный интерфейс, показ презентаций, в бета версии очень понравился видеодок.

Минусы, ИМХО, что для работы необходимо поработать напильником и сделать человеческое управление конференцией, из примеров представленных в API.

Но все же эта система больше подходит для дистанционного обучения.



Используем ее в конференц зале, в основном для показа презентаций на большом экране.

  • 2. Патченный OpenMCU

OpenMCU — сервер конференций. Open Source проект — был создан в мае 2000 года Craig Southeren как эксперимент при исследовании возможностей работы аудио MCU. [1] Работает с кодеком h261 – соответственно качество, как на Nokia 3200.

К сожалению, в сети очень мало документации по этому продукту, не только на русском, но и родном английском. Если набрать в гугле «openmcu», то в первых ссылках будет статья на блоге, написанная в общих чертах – «Мол, с горем пополам поставил, что-то покрутил и вроде как через одно место работает, но качество отвратное»
Другой источник, где можно было хоть как-то почерпнуть знания об этом продукте был форум ixbt – вот оттуда-то я и узнал, что проект не совсем мертв, а дорабатывается неким человеком с ником muggot, вот цитата с форума:
«Прошел почти год с тех пор как я начал доработку openmcu. В настоящее время реализованы следующие возможности: кодеки звука g711, g.722, g723.1, g726, g728, g.729, speex и т.п.; кодеки видео h.261, h.263, h.263+, h.264; размер картинки до 4CIF; управление приоритетами используемых кодеков на отправку и прием; управляемые раскладки 1×1,2×2,3×3,4×4,5+1; переключение видимых участников ручное и по голосовой активности; управление участниками конференций (подключение, отключение, отключение звука и т.п.). Количество участников конференций неограничено. Основной режим работы — все участники видят одну картинку, управление которой выполняет оператор. Работа мцу проверена на аппаратных терминалах sony, polycom, программных netmeeting, pacphone, mirial, polycom pvx, vcon vpoint hd.» конец цитаты.
Там же и познакомился с разработчиком. Помогли всем миром – кто-то дал место на своем хостинге, кто-то собрал виртуальную машину, я поддерживаю форум и собираю пакеты для Ubuntu и FreeBSD.

В данный момент в сервере сделаны следующие изменения:

1. Добавлено несколько новых раскладок.
2. Добавлены подписи к видео.
3. Заменен кодек H.264 и библиотека x264. Мцу выставляет настройки кодирования в соответствии с запросами терминалов (профиль, уровень, полоса пропускания). Также, благодаря настройке intra-refresh, количество i-frames сведено к минимуму, что делает нагрузку на канал более равномерной.
4. Новый веб интерфейс. Возможность использовать собственный шаблон.
5. Обновлен кодек h.263/h.263+, теперь это один кодек работающий через ffmpeg.
6. Добавлено кэширование всех исходящих видеопотоков.
7. На странице управления комнатой (Room Control) добавится редактор «пресетов». С его помощью можно сохранять удачные (часто используемые) раскладки участников конференции, а потом вызывать их одним кликом.

Размер картинки получаемый терминалом зависит от его настроек. Если терминал может принимать 4CIF, то MCU отправит ему 4CIF, если может максимум CIF, то и получит CIF. Выше 4CIF OpenMCU пока не отправляет. Если это кому-то нужно, можно внести изменения в исходники и включить поддержку режимов до 16CIF, при этом нагрузка на сервер заметно возрастет. Так же на форуме проскакивало – как собрать openmcu с режимом 16:9 в некоторых раскладках. [2]

Кодеки

Кодеки ECG* не являются бесплатными, их бесплатное использование допускается только в ознакомительных целях, условия использования можно посмотреть на сайте www.imtelefone.com. Как обстоят дела с H.264 и H.263-Plus, если честно я не знаю, эти кодеки являются запатентованными, хотя в Росиии — это вроде как не имеет значение. Возможно, из-за этого и тормозится перенос проекта на gitlab\sourseforge и тп.

Клиенты

В качестве клиентов могут выступать как аппаратные терминалы sony, polycom и тп., так и программые средства — netmeeting, pacphone, mirial, polycom pvx, vcon vpoint hd

Аппаратных терминалов нам было не потянуть, да и софтовых таких как vcon vpoint hd тоже.
Поэтому вот парочка бесплатных альтернатив, которые были использованы:

Ekiga – свободное кроссплатформенное приложение для SIP и видеоконференций. Использует h261 кодек, может использовать и другие, но для этого ее необходимо пересобрать с поддержкой проприетарных кодеков, если у кого получится – огромная просьба поделиться.

Myphone3 – программа для видеоконференц связи, дорабатываемая Андреем Варнавским — тем, который и модифицирует openmcu.

Можно выбирать какой кодек использовать. Тестировал на 4х клиентах в локальной сети – полет нормальный.

Для работы за NAT можно – установить привратника (Gatekeeper), который будет направлять наши звонки к серверу. Благодаря ему, так же возможно проводить несколько одновременных конференций, используя разные комнаты.
Используемый нами – Gnu Gatekeeper.



По видео: прошу прошения, под рукой было только 2 камеры, да и снимал дома. Чуть позже выложу запись конференции на несколько участников.

Огромное спасибо Андрею Варнавскому за доработку OpenMCU.

Список использованных материалов:
1. Википедиа
2. Сайт проекта OpenMCU
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх