Функциональность VOIP (потоковая передача голоса в реальном времени максимум для 5 пользователей) через Silverlight 4.0?

StackOverflow https://stackoverflow.com/questions/1860606

Вопрос

As SL 4.0 имеет поддержку видео и микрофона...

Насколько реально обеспечить функциональность VOIP (потоковая передача голоса в реальном времени максимум для 5 пользователей) через Silverlight 4.0 для веб-приложения?

Каковы все связанные с этим проблемы?

Это было полезно?

Решение

Часть решения недавно была предоставлена в виде CSpeex ( русский язык ), порт старого Java-порта старой версии Speex (c.2003).Я поиграл с этим, и это определенно работает (например, сжатие в 10 раз или лучше).Однако вам все равно нужно будет передавать эти пакеты куда-нибудь на сервер, и, похоже, в Silverlight не существует никаких реализаций RTP / RTSP / SIP или RTMP, поэтому на этом этапе вам придется развернуть собственную поддержку контейнера сетевого потока.Кроме того, если вы не хотите, чтобы все ваши пользователи носили наушники, вам понадобится подавление акустического эха, а это совсем другая игра.Есть несколько очень хороших реализаций с открытым исходным кодом (например, speexdsp), но все они написаны на языке Си и их трудно портировать.Так что там ты тоже сам по себе.Вероятно, в течение следующих нескольких месяцев / лет появятся ответы на все это с открытым исходным кодом, но части еще не готовы.

Другие советы

Многое зависит от того, как реализована новая поддержка микрофона / видео SL4.Вам нужно было бы включить код, который способен

  1. Кодирование голоса в поток байтов
  2. Отправьте поток байтов другой стороне / сторонам
  3. Прием /декодирование потока байтов в аудиосигнал

Я полагаю, что в SL4 запланирована некоторая поддержка COM, поэтому, если существуют какие-либо неуправляемые библиотеки VOIP или аудио-кодирования на C ++ с открытым исходным кодом (или платные), вы могли бы подключиться к ним.

Существует множество библиотек, которые можно использовать.Например:conaito, ABTO llc, независимый софт SIP, который будет работать с Silverlight 4.0.Conaito и ABTO используют java scripting для подключения к своему веб-клиенту, в то время как у IndependentSoft есть управляемая сборка.

Conaito и ABTO хороши, но их библиотеки немного устарели из-за того, что они являются библиотеками ocx и используют COM dll, что может нарушить ваше развертывание.

IndedenpentSoft проще в развертывании, потому что это управляемый код, но требует гораздо больше работы для реализации, поскольку он в основном обеспечивает транспортный уровень, и это все, вам нужно указать кодек и протокол trnasport.

Основные вопросы, которые вам необходимо рассмотреть, - это ваши требования к брандмауэру.Мое предложение состояло бы в том, чтобы поискать управляемую сборку, которая использует ОГЛУШЕНИЕ, ПОВОРОТ и особенно ЛЕД.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top