2015-11-10 41 views
0

有我的問題:的WebRTC服務器 - 客戶端

  1. 是否有可能給瀏覽器通過的WebRTC連接服務器?
  2. 我的服務器廣播不同的音頻通道,根據我點擊的按鈕類型,我必須更改音頻流。 webRTC有可能嗎?
  3. 在服務器端我用用的NodeJS socketIO

謝謝!

回答

0

您可以將WebRTC與節點服務器一起使用,但WebRTC實際上是兩個客戶端之間持久通信的協議。使用socketIO將在客戶端和服務器之間建立持久連接。

如果您有興趣從節點服務器設置WebRTC握手,您可能需要查看PeerJS

WebRTC依賴於STUN和TURN服務器,這些服務器很難自行設置。這裏有一些指南,但是我的理解是,這不是通過基本節點應用程序運行的。幸運的是,Google提供了一個免費的STUN服務器,您可以嘗試使用這些服務器,並且基本實施時不需要TURN服務器(儘管當兩個客戶端無法直接通信時您不會有後備)。

0

這裏是我的鏡頭在回答你的問題:

1)這取決於你的意思是通過連接到與WebRTC技術的服務器是什麼。如果你在談論信令,那麼Node.js絕對是一個使用WebSockets的選項,但是你需要定義你自己的信令協議。如果您正在談論媒體,那麼您需要支持DTLS,SRTP和所有各種媒體編解碼器(VP8,Opus,G.711等)的媒體服務器。看看Kurento的開源選項。我們使用Dialogic PowerMedia XMS來處理記錄/回放,轉碼,多路等。

2)您當然可以從單個WebRTC客戶端打開多個對等連接。像Simulcast這樣的事情將在未來的版本中出現。關於你在這裏要求的更多細節將有所幫助。

3)不是一個真正的問題,所以不知道如何回答這個問題。

請注意,如果您在後端使用媒體,則需要一種方法來控制媒體服務器。 JSR 309是我們用作媒體控制界面的。 Kurento擁有專有的API。如果你想了解更多關於我們的解決方案,你可以去這裏:http://www.wasdev.net/webrtc

+0

Thanks @bpulito!我會更精確。用Angular實現的客戶端有img,當有人說話時它會改變顏色。在這種情況下,您可以選擇,說話或聆聽。如果我們選擇監聽,客戶端會收到已經在服務器中的音頻,該音頻將實時用於另一個流。當客戶端點擊瀏覽器中的按鈕時,必須播放該流。如果我們點擊通話,它必須在我們點擊按鈕的同時記錄和發送。 – Ganbel

+0

我用nodeJS設置的信令協議。我看到kurento作爲媒體服務器,但它對我的應用程序有太多的延遲。是否有可能通過nodejs交換音頻?或者,webRTC和媒體服務器更好嗎?一切都是新的,所以即使小的幫助也是有用的。謝謝@bpulito – Ganbel

+0

@Ganbel我們通常會在Kurento上遇到300毫秒的延遲。你需要低於那個嗎?如果您有延遲問題,可能是由於CPU負載過高。您是否使用任何CV過濾器? – igracia