iT邦幫忙

0

WebRTC相關問題

最近在開發WebRTC的專案,想釐清一下觀念:
1.整個RTCPeerConnection的流程是這樣嗎:
1. new RTCPeerConnection
2. addStream
3. createOffer => 這步是幹嘛的?
4. setLocalDescription,送出本地的SDP => 這步開始才會送出ice查詢嗎?
5. 收到remote SDP,setRemoteDescription
6. 開始peer to peer

2.那有沒有可能在知道對象電腦ip的狀況下,直接建立連線,做測試用?

不知道能不能召喚一下佛陀大人來回答一下,哈。

看更多先前的討論...收起先前的討論...
fillano iT邦超人 1 級 ‧ 2018-12-28 14:45:23 檢舉
WebRTC連接是兩段式,先透過非WebRTC的方式(例如雙方用Websocket透過伺服器交換資料)把雙方網路資訊做交換,然後用這些資訊透過stun/turn伺服器穿過NAT來直接連線。createOffer是做第一段準備的一部分。
fillano iT邦超人 1 級 ‧ 2018-12-28 14:46:28 檢舉
https://webrtc.github.io/samples/src/content/peerconnection/pc1/

這裡的程式有持續在更新,我已經幾年沒碰。
froce iT邦大師 1 級 ‧ 2018-12-28 15:19:06 檢舉
哈,我後來找到MDN有天機圖:
https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Signaling_and_video_calling
照著做就行,現在我在試著建一個模擬本地到遠端的單獨網頁,概念跟上面給的網頁一樣,只是為了完全理解,目前在自己重寫。

感謝fillano回答,其實您的大作也在我的參考資料裡面。
fillano iT邦超人 1 級 ‧ 2018-12-28 18:01:57 檢舉
XD
froce iT邦大師 1 級 ‧ 2019-01-03 09:43:49 檢舉
https://github.com/frocelu/WebRTC_LocalToLocal_example

有同樣需求的請自取。
因為概念比較簡單,應該稍微比google的那篇好懂一點。

sendSDP和getAnswer是發起者端的,實際在應用上應該是要整合成一個,透過事件來處理SDP。
reciveSDP是接收端的。
中間傳SDP是故意透過JSON,模擬信道透過網路傳送的狀況。

不過因為 RTCPeerConnection 都是異步的,所以加了一堆await,感謝JS加入async/await。
(這其實是第2版,第1版用 then() 寫發現以我的JS功力還是避不了callback hell)

接下來的目標大概是看看能不能寫出正常能用的sender/reciver端,最後用RxJS來組合整段code。

尚未有邦友回答

立即登入回答