2011-11-01 125 views
1

我公司正在實施利用Wowza媒體服務器的音頻聊天服務器,但我們需要一些指導,幫助我們解決以下帶寬的問題:合併音頻流實時使用Wowza媒體服務器

狀況:

我們有一個音頻聊天系統,用戶可以與他人協作。 N個用戶發佈自己的音頻頻道,同時訂閱N-1個音頻頻道(其他用戶減去他們自己的頻道)。

問題:

帶寬變大而快,當你開始添加更多的用戶。例如,假設有4個用戶在線 - 用戶A,用戶B,用戶C,&用戶D.如果每個用戶正在發佈一個8kbps音頻頻道,所有其他用戶正在訂閱該音頻頻道,則所使用的總帶寬將是巨大的的96kbps:

用戶A = 24kbps(從3個流:8kbps的從訂閱用戶B,從訂閱用戶C,從訂閱用戶d 8kbps的& 8kbps的)+

用戶B = 24kbps(從3流:8kbps從訂閱用戶A,用戶C,&用戶D)+

用戶C = 24kbps(來自3個流:從訂閱用戶A,用戶B,&用戶C)=的96kbps總

8kbps的:從訂閱用戶A,用戶B,&用戶d)+

用戶d = 24kbps(從3個流8kbps的

什麼,我認爲我們需要做的:

合併所有用戶聲道的音頻通道(實時)在線(除了自己),並讓每個用戶訂閱的獨特的,新合併的通道,就像這樣:

用戶A = 8kbps的(從1合併用戶B,C,& d流)+

用戶B = 8kbps的(從1合併用戶的流A,C,& d)+

用戶C = 8kbps的(從1合併用戶的流A,B,& d)+

用戶d = 8kbps的(從1合併用戶的流A,B,& C)= 32kbps的總

您能夠看看這個問題可以快速失控的地方,因爲這個例子一次只有4個人在線。假設您再添加一個共5個,那麼在我們目前的設置下,帶寬將使用20個不同的訂閱流,總共160kbps。然而,最佳的解決方案合併只會增加每增加用戶額外8kbps的,所以對於5個用戶總數的40kbps的,48kbps的6個用戶等

SO,沒有任何人有任何建議,我應該如何去做這件事?

回答

0

您可能會過度分析它。只有一個用戶可能會在任何時候說話(你可以假設一些重疊,如在正常的談話中)。如果您有語音活動檢測(簡單的閾值處理可能有效),那麼您不必在用戶的流中發送數據,如果他們不說話。這應該意味着您的整體帶寬將是單個用戶的110%。