MCU Media Server - бесплатный сервер видеоконференций, интегрированный с Asterisk

09.02.09



На днях мы рассказывали о бесплатном MCU сервер с OpenMCU. Оказывается, есть еще один подобный open-source продукт - MCU Media Server, и он позволяет управлять видеоконференцией с помощью популярного VoIP-сервера Asterisk. Выше приведена схема этого решения. MCU состоит из двух основных частей: VideoMixer и mcuWeb. Первый компонент представляет собой микшер медиа-потоков (аудио и видео). В его задачу входит получение RTP, распаковка аудио и видео содержимого. В соответствии с имеющимися настройками формируется изображение. Затем кодирование полученных данных и отправка RTP. Этот компонент полностью управляется с помощью XMLRPC интерфейса и не имеет своей самостоятельной настройки и логики. В данный момент доступны следующие XMLRPC методы:

- Создание и уничтожение конференции

- Добавление/удаление участника из конференции

- Установка параметров конференции таких как: размер изображения, количество участников и их распределение на экране

- Установка RTP портов для видео/аудио потока для каждого участника

- Установка кодеков и их параметров (fps, размер) участников

- Включение/отключение звука в конференции

- Добавление участников, только просматривающих происходящее (экспериментально: просмотр конференции через flash на web странице)

На данный момент поддерживается только кодек h263p, но не должно быть сложностей в добавлении поддержки других кодеков. Так же некоторые функции практически готовы, дело только за тестированием (поддержка flash). Для работы с изображением используются возможности ffmpeg

Второй компонент, решающий задачи управления конференциями, отделён от Asterisk, что позволяет обойти многие ограничения, связанные с монолитной архитектурой. Выбранная технология реализации — Java, на базе SIP сервера приложений Sailfin. mcuWeb принимает входящие SIP соединения, управляет микшером посредством XMLRPC и предоставляет средства управления конференциями по Web (интерфейс демо-системы).