2010-07-02 75 views
0

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

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

是否有可能建立两个用户之间的联系,使他们能够(在这种情况下音频)交换他们的数据流,使得它不经过我,同时仍然能够控制他们已经时间相互连接和其他一些信息?

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

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

谢谢!

回答

0

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

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

如果您的项目是基于互联网的,听起来像一个典型的VoIP方法将很适合。

下面是一些常用的方法:

  • 所有的信令和语音流量通过相同的服务器(S)直接去(!这不会比例)
  • 信号经过您的服务器(S) ,并且语音流量通过专用服务器(规模非常好 - 电信运营商的典型方法)
  • 信令通过您的服务器,并且语音流量通过TCP/IP连接从用户直接进入用户(规模很好,现在你只需要提供信令服务器)
  • 信号经过您的服务器(S),和语音流量经过运行软件连接的用户的一个全球性的网格(尺度超好,你现在与Skype竞争!)

如果”重新谈论语音流量,那么您还希望使用特定于语音的音频压缩技术,因为语音可以被大量压缩并保持可理解性,这有助于限制用户端的带宽消耗。

如果您在浏览器环境中的时候,一个障碍可能是如何让普通用户之间的对等网络连接,并保证它的安全。像Web Sockets这样的新网络技术在这里值得一看。但对于这个特定的问题,问一些诸如“如何在Web应用程序中获得点对点连接”这样的问题可能会产生有益的答案。