用户进行用户音频通信的最佳方法

时间:2010-07-02 15:49:53

标签: flash silverlight audio activex communication

对于我的一个项目,我需要用户能够以音频模式相互通信。我关心的是项目的可扩展性,如果它甚至在带宽消耗方面变得很大。

将音频通过我的服务器传递给用户有哪些替代方法?

是否可以在两个用户之间创建链接,以便他们可以交换他们的数据流(在这种情况下是音频),这样它就不会通过我,同时仍然可以控制他们连接的时间彼此和其他一些信息?

至于现在,这只是我想到的一个想法,但我真的不知道该怎么看。我认为它可能需要一些依赖插件的解决方案,这就是为什么我标记了这样的问题。

我不是在寻找一个具体的解决方案,只是从一个经历过类似事情的人那里向正确的方向推进。

谢谢!

1 个答案:

答案 0 :(得分:0)

您当然可以保留服务器上的音频数据,是的,您必须这样做才能获得任何类型的可扩展性。

电信网络长期以来一直以这种方式工作,将信令流量与语音流量分开。请参阅SS7 architectureIMS architecture

如果您的项目是基于互联网的,那么听起来就像典型的VoIP方法一样。

以下是一些常规方法:

  • 所有信令和语音流量都直接通过同一台服务器(这不会扩展!)
  • 信令通过您的服务器,语音流量通过专用服务器(规模非常好 - 电信公司的典型方法)
  • 信令通过您的服务器,语音流量通过TCP / IP连接直接从用户传递给用户(扩展良好,现在您只需提供信令服务器)
  • 信令通过您的服务器,语音流量通过运行您的软件的全球网络连接用户(超级好,你现在正在与Skype竞争!)

如果您正在谈论语音流量,那么您还需要使用特定于语音的音频压缩,因为语音可以被大量压缩而且仍然可以理解,这有助于限制用户端的带宽消耗。

如果您处于浏览器环境中,一个障碍可能是如何在一般用户之间获得点对点连接,并确保其安全。像Web Sockets这样的新网络技术值得深入研究。但是对于这个特定问题,询问“如何在Web应用程序中获得点对点连接”这样的问题可能会产生有用的答案。