licode(三):流媒體數據怎麼轉發

前端時間安裝stun服務器,由於公司沒有開外網的端口映射,所以沒有搭建成功。但是單純的stun服務器搭建成功了

現在有兩個問題:

1)stun服務扮演什麼角色?

2)流媒體數據的傳輸方式

3)erizo-controler的作用?

首先回答問題2),上傳一張wireshark的截圖

licode流媒體數據傳輸

在這張圖中,10.2.31.80是我搭建的Licode服務器,10.134.244.200是我本地的機器,從圖中可以看出,數據直接傳到了licode的服務器,應該是erizo的wokrer,我讓我其他幾位同事可以連接了Licode服務器,截圖如下

多路數據轉發

這張圖裏,可以看到10.2.31.80g給我本機轉了多路的rtp數據,

所以可以看到,起碼有一條路:流媒體數據是通過erizo服務器中轉過來的。

 

那麼這個流程是怎樣的呢?客戶端和服務器直接是怎麼相互發現?端口號怎麼確定?怎麼協商媒體信息?stun服務在這其中扮演什麼角色?erizo-controler?nuve?這些交互呢?下面一個一個的探索

首先是stun服務器的發現,通過抓包。發現stun服務器通過http協議有服務器給出:

stun服務發現

這個好像是通過socket.io來獲取信息,那麼,服務器的組件中,誰擁有socket.io的能力呢?

???

 

拿到stun服務後,客戶端會和服務器連接

stun

問題是,爲啥80服務也有stun服務?

在向stun服務器詢問了自己的端口後,客戶端會用這個udp端口,和服務器進行連接傳輸數據

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章