2013-01-17 43 views
0
  1. 我想了解什麼是用於創建文本,音頻和視頻交流的應用合適的工具。作爲服務器端工具,我想使用node.js.
  2. 有很多示例向您展示客戶端代碼,但服務器端又如何?我知道,WebRTC服務器僅僅用於信令目的,但我無法找到一個描述性的信息來幫助我找出如何說:「嘿,這是這個人,他想和你談談,所以這是他的知識產權」或類似的東西。
  3. 如何確保我建立直接連接?如何建立最高性能的連接?我知道有一些NAT穿越協議,但我如何明確地使用/啓用它們?
  4. 我可以通過連接多對多對等設備並擁有一些信令/ auth服務器來創建分佈式Skype類網絡嗎?或者也許使用一些對等體作爲服務器來進行信號傳輸?

回答

2

發現,幾乎所有的答案:)

  1. 有服務器端沒有任何限制的工具,所以你可以使用任何你想要的。 Node.js非常適合。爲了通信目的,可以使用WebSockets或XHR,但對其他任何人都沒有限制。
  2. 在創建連接的過程中,瀏覽器會生成一些包含所有需要的數據的事件。你只需要將它發送給雙方並在那裏處理。還有提供/回答系統,只有雙方同意才能進行連接。
  3. 瀏覽器將默認嘗試建立最佳連接。如果無法完成,它將回退到TURN,後者通過服務器轉換數據。
  4. DataChannels將被實現時,這將是可能的。
3
  1. 上述所有可以用軟件來獲得如Flash Media Server(或Red5的開源)。如果你想使用Node.JS,你需要創建你的Node服務(消息隊列,媒體服務器),或者使用一些已經可用的,並且讓Node.JS處理它們之間的交互。因此,所有的這些都將需要:

    • 節點的網絡服務(S)與網絡插口
    • 節點/其它消息代理(MQ)
    • 節點/其他媒體服務器(FMS,Red5的)
    • 可選,用於多個節點網絡服務(Redis)的緩存服務
  2. 您可以選擇Flash,它對RTMFP/RTMP有很好的支持。如果您確實需要WebRTC,則必須爲p2p發現創建STUN節點服務,該服務連接到緩存服務以處理授權。

  3. RTMFP也是一個選項,也是webrtc。最高性能取決於你如何定義性能:質量?潛伏?它應該如何偏向?如果你想要低延遲,去p2p。如果您想要錄製功能,請使用rtmp或節點webrtc中繼。

  4. 是的,但你很可能需要一個團隊來做到這一點:)

+0

1。節點+ websockets似乎是我的最佳選擇。你能解釋一下嗎? 3.低延遲是我的優先選擇。 –

+0

哪一個適合您2的需求? Flash與RTMFP或WebRTC? – randunel

+0

webrtc,我根本不知道flash,所以webrtc似乎更接近我。 –