webrtc學習筆記

內容整理自2019RTC大會webrtc工作坊李超老師演講ppt

1.實時通信的主要矛盾

實時通信與網絡傳輸的矛盾

網絡傳輸質量與音視頻服務質量的矛盾

2.webrtc能做啥

音視頻實時互動

遊戲,即時通訊,文件傳輸等

音視頻處理(迴音消除,降噪)

3.webrtc的主要內容

音視頻採集

webrtc信令服務器的實現

NAT,STUN,TURN,ICE

媒體協商

webrtc使用的sdp

1對1實時通話

4.服務質量的主要內容

(1)TCP/UDP如何選擇

(2)如何保證網絡服務質量

延遲低,丟包 RTX

延遲高 FEC

jitterBuffer 網絡平滑,防止亂序

(3)網絡帶寬的評估

GCC-REMB

GCC-TransportCC

基於丟包的評估算法

基於延遲的評估算法

(4)減少網絡上傳輸的內容

固定帶寬減少內容:動態碼流,simulcast,SVC,業務定製

5.流媒體服務器的主要內容

多人互動架構方案

各媒體服務器架構模型

如何實現流媒體服務器

6.整體框架

 

7.音視頻採集

枚舉音視頻設備

採集音視頻數據

8.webrtc信令系統

信令系統的作用:

①讓雙方進入到同一個房間進行管理

②交換雙方的媒體能力(SDP)

③交換雙方的candidate數據

9.房間管理狀態機

10.信令系統的實現

socket.io

websocket/protoo

11.客戶端信令消息

join加入房間

leave離開房間

message端到端消息

12.端到端信令消息

offer消息

answer消息

candidate消息

13.服務端信令消息

joined已加入房間

otherjoin其他用戶加入房間

full房間人數已滿

leaved已離開房間

bye對方離開房間

14.直播系統消息處理流程

15.webrtc傳輸

NAT(network address translator)

STUN(simple traversal of UDP through NAT)

TURN(traversal using relays around NAT)

ICE(interactive connectivity establishment)

16.NAT類型

完全錐形NAT

地址限制錐形NAT

端口限制錐形NAT

對稱性NAT

17.candidate類型

主機候選者

反射候選者

中繼候選者

18.ICE具體做些什麼

收集candidate

對candidate pair排序

連通性檢查

19.candidate關係圖

意思大概就是能直接用本機地址通信就直接用本機地址,不能的話就NAT,還不行的話就通過中繼。

20.媒體協商過程

21.SDP規範

(1)會話層

會話的名稱與目的

會話的存活時間

會話中包括多個媒體信息

(2)媒體層

媒體格式

傳輸協議

傳輸IP與端口

媒體負載類型

22.webrtc中的SDP

SDP組成:會話元,網絡描述,流描述,安全描述,服務質量

23.客戶端流程圖

(1)加入房間

(2)離開房間

24.端對端連接的基本流程

25.多人音視頻架構

mesh方案

MCU方案

SFU方案

26.mesh通信模型

所有人之間兩兩建立P2P連接

27.MCU通信模型

multipoint conference unit

服務器把所有人的視頻合併爲一路視頻,音頻合併成一路音頻,並轉發給所有人,注意。給一個人轉發的混合後的音視頻不包含這個人本身的音視頻。

優點是帶寬小,缺點是不夠靈活,因爲每個終端收到的都是混合後的一路音視頻,無法在客戶端側分別處理各路音視頻。

28.SFU通信模型

selective forwarding unit

中心服務器轉發,將收到的音視頻轉發給所有其他人。

這樣每個終端都能收到分開的各路音視頻,可以靈活的進行處理,但佔用帶寬大。

29.一些成熟的開源架構

mediasoup架構

medooz架構

janus架構

licode架構

30.DTLS協議

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