我正在研究WebRTC for Android。併成功創建並建立會議。使用單個MediaStream和幾個PeerConnection。WebRTC將遠程流添加到PeerConnection
現在我想找到更好的方法,其中之一是中繼連接。我的問題是,如Chromium Report所述,裝箱接力。我應該做同樣的事情,但有幾個問題。所以讓我們開始。
- 建立成功的對等連接。 (A→B)
- 使用另一個對等連接(B→C)中繼遠程媒體流。
- 中繼媒體流(A - > - > C)應在最終端點播放。
因此,對於用戶B,我們應該從用戶A的PeerConnection獲取遠程流,並將流添加到用戶C的PeerConnection。以及它如何與Java庫結合?
// Local Media Stream, just as example for this question
// Local stream of current User B
MediaStream mediaStream = new MediaStream(...);
PeerConnection peerA = new PeerConnection(...);
PeerConnection peerC = new PeerConnection(...);
peerA.addStream(mediaStream);
peerB.addStream(mediaStream);
// Now this User (User B) can here User A and B
// Connection successful establish.
// Here is question, how I can fetch remote
// MediaStream object from PeerConnection A?
我如何從一個PeerConnection等獲取遠程MediaStream對象,並將它們添加到其他PeerConnection等C 2
我也試着做,其從PeerConnection等獲取RTPSender和RTPReceiver。之後,我可以訪問遠程站點的MediaStreamTrack。但是我不能把這個對象放到另一個PeerConnection中。
爲什麼你在同一臺機器上有兩個對等連接? IIRC,當媒體流被添加到會話時發生回調。 –
請參閱https://webrtc.github.io/samples/src/content/peerconnection/multiple-relay/ - 我不明白問題所在。你將通常從'pc.onaddstream'獲得的流傳輸到視頻元素,而將'pc.addStream'轉換爲新的對等連接。 – jib
@BenjaminTrent我需要幾個會議連接。我可以如何開始與新的呼叫者重新談判,而不需要新的呼叫者? – GensaGames