Лучший подход для пользователя к аудиосвязи - PullRequest
0 голосов
/ 02 июля 2010

Для одного из моих проектов мне нужно, чтобы пользователи могли общаться друг с другом в режиме аудио.Меня беспокоит масштабируемость проекта, даже если он становится большим с точки зрения потребления полосы пропускания.

Каковы альтернативы для передачи аудио через мой сервер пользователям?

Можно ли создать связь между двумя пользователями, чтобы они могли обмениваться потоком данных (в данном случае аудио)) чтобы он не проходил сквозь меня, но при этом мог контролировать время, когда они были связаны друг с другом и какой-то другой информацией?

Пока что это просто идея, которую я имею в виду, ноЯ действительно не знаю, что посмотреть.Я думаю, что это, вероятно, должно быть какое-то плагин-зависимое решение, поэтому я так и отметил этот вопрос.

Я не ищу конкретного решения, просто небольшой толчок в нужном направлении от того,пережил нечто подобное.

Спасибо!

1 Ответ

0 голосов
/ 03 июля 2010

Вы, конечно, можете хранить аудиоданные на своем сервере, и да, вам придется сделать это, чтобы получить какую-либо масштабируемость.

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

Если ваш проект основан на Интернете, он звучит как типичный VoIP подход..

Вот несколько общих подходов:

  • Весь сигнальный и голосовой трафик идет напрямую через один и тот же сервер (ы) (это не масштабируется!)
  • Сигнализация проходит через ваш сервер (ы), а голосовой трафик проходит через выделенные серверы (очень хорошо масштабируется - типичный подход в телекоммуникациях)
  • Сигнализация проходит через ваш сервер (ы), а голосовой трафик идет напрямую от пользователяпользователю через соединение TCP / IP (хорошо масштабируется, и теперь вам нужно только предоставить сервер сигнализации)
  • Сигнализация проходит через ваши серверы, а голосовой трафик проходит через всемирную сеть подключенныхпользователи, работающие с вашим программным обеспечением (отлично масштабируются, и теперь вы конкурируете со Skype!)

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

Если вы находитесь в среде браузера, одним из препятствий может быть то, как установить одноранговое соединение между пользователями в целом и обеспечить его безопасность.Здесь стоит ознакомиться с новыми веб-технологиями, такими как Web Sockets .Но для этой конкретной проблемы вопрос типа «как получить одноранговое подключение в веб-приложении» может дать полезные ответы.

...