2010-07-02 79 views
0

對於我的一個項目,我需要用戶能夠以音頻模式相互通信。我關心的是該項目的擴展性,如果它在帶寬消耗方面甚至變得更大。用戶與用戶音頻通信的最佳方法

將音頻通過我的服務器傳遞給用戶有什麼替代方法?

是否有可能建立兩個用戶之間的聯繫,使他們能夠(在這種情況下音頻)交換他們的數據流,使得它不經過我,同時仍然能夠控制他們已經時間相互連接和其他一些信息?

至於現在這只是我想到的一個想法,但我真的不知道該看什麼。我認爲它可能需要一些依賴於插件的解決方案,所以我就這樣標記了問題。

我不是在尋找一個具體的解決方案,只是從正在經歷類似事情的人那裏向正確的方向推進。

謝謝!

回答

0

您當然可以將音頻數據保存在您的服務器上,是的,您必須這樣做才能獲得任何可擴展性。

電信網絡長期以來一直以這種方式工作,從語音流量中分離信令流量。請參閱SS7 architectureIMS architecture

如果您的項目是基於互聯網的,聽起來像一個典型的VoIP方法將很適合。

下面是一些常用的方法:

  • 所有的信令和語音流量通過相同的服務器(S)直接去(!這不會比例)
  • 信號經過您的服務器(S) ,並且語音流量通過專用服務器(規模非常好 - 電信運營商的典型方法)
  • 信令通過您的服務器,並且語音流量通過TCP/IP連接從用戶直接進入用戶(規模很好,現在你只需要提供信令服務器)
  • 信號經過您的服務器(S),和語音流量經過運行軟件連接的用戶的一個全球性的網格(尺度超好,你現在與Skype競爭!)

如果」重新談論語音流量,那麼您還希望使用特定於語音的音頻壓縮技術,因爲語音可以被大量壓縮並保持可理解性,這有助於限制用戶端的帶寬消耗。

如果您在瀏覽器環境中的時候,一個障礙可能是如何讓普通用戶之間的對等網絡連接,並保證它的安全。像Web Sockets這樣的新網絡技術在這裏值得一看。但對於這個特定的問題,問一些諸如「如何在Web應用程序中獲得點對點連接」這樣的問題可能會產生有益的答案。