webrtc學習筆記1(創建鏈接基本流程)

最近在作一個基於webrtc的視頻軟件,如下是本身對於上層創建通話鏈接流程的基本理解,記錄於此。web

假設A和B要創建視頻通話,A爲房間建立端,B爲加入房間端:服務器

一、A經過http登陸、獲取其餘服務器地址(作一些保存用戶信息的操做,獲取信令、stun、turn服務器地址等,非必要)websocket

二、A和信令服務器創建websocket長鏈接socket

三、A經過websocket向信令服務器註冊(建立房間,記錄房間號,等待B加入房間)視頻

四、A建立本地視頻,獲取A的sdp信息ip

五、B建立本地視頻,獲取B的sdp信息io

六、B發送本地sdp信息到信令服務器sendOfferwebrtc

6.一、B同時也在向stun(穿越)、turn(延時轉發)服務器獲取ice信息登錄

6.二、B發送ice信息到信令服務器(後續會和A交換3種信息,再也不贅述)軟件

七、信令服務器轉發sdp、ice信息到A(經過房間號辨別)

八、A將B的sdp信息設置到底層setRemoteDescription

8.一、A添加B的ice信息

8.二、A同時也在向stun(穿越)、turn(延時轉發)服務器獲取ice信息

8.三、A發送ice信息到信令服務器(後續會和B交換3種信息,再也不贅述)

九、A發送本地sdp信息到信令服務器sendAnswer

十、信令服務器轉發sdp信息到B

十一、B將A的sdp信息設置到底層setRemoteDescription

在交換sdp信息的同時,ice信息也在進行交換,經過交換ice信息,最終會選擇一種合適的方式來創建鏈接(p2p或者基於turn服務器的延時轉發通路)

相關文章
相關標籤/搜索