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 (интерфейс демо-системы).