iT邦幫忙

2021 iThome 鐵人賽

DAY 3
0
Modern Web

後疫情時代的 WebRTC 微學習系列 第 3

Day03 WebRTC 架構

WebRTC整體架構圖取自官網如下

https://ithelp.ithome.com.tw/upload/images/20210917/20130062B9mqok6j5a.png

https://webrtc.github.io/webrtc-org/architecture/#

  1. 上方三個箭頭 Your web app ,是我們基於瀏覽器提供的 API 開發的程式,如視訊會議、遠距教學、視訊通話、遊戲直播、互動遊戲、人臉辨識等等應用。

  2. 紫色方框 Web API ,面向第三方開發者的WebRTC標準API(Javascript),使開發者能夠更容易開發出類似於網路視訊聊天的web應用,最新的標準可以參考 W3C 的 WebRTC 的文檔
    常用的三個 API :
    1. MediaStream:媒體流,如音訊、視訊等。
    2. RTCPeerConnection:建立連線、監控、加密等。
    3. RTCDataChannel:傳輸非音視訊的資料,如文字、圖片等。

    還有提供非常多的 API 可以參考 傳送門

  3. 藍色實線的框 WebRTC Native C++ API ,使瀏覽器廠商容易實現WebRTC標準的Web API,抽象地對數位訊號過程進行處理。

  4. Session management / Abstract signaling (Session) 是一個抽象的會話管理層,提供會話建立和管理功能。這一層協議留給應用的開發者自己實現,比如 Signaling Server的 SDP協議等。

  5. Transport 為 WebRTC 的傳輸層,涉及音視訊的發送、接受、NAT打動等技術,可以透過 STUNE 和 ICE 來建立不同類型網路間的連線。

  6. VoiceEngine 音訊引擎,包含多種音訊處理的框架,包括從音訊採集到網路傳輸端等整個解決方案。

  7. VideoEngine 是 WebRTC 視頻處理引擎,包含多種視頻處理的整體框架,從攝影機採集視訊到視訊網絡傳輸過程再到視訊的顯示,是一個完整的解決方案。

總結

了解了 WebRTC 的完整架構後,下一篇我們看看 WebRTC 是如何使兩個不同網路環境的設備,進行點對點的通訊。


上一篇
Day02 WebRTC 簡介
下一篇
Day04 如何通訊-網路協商
系列文
後疫情時代的 WebRTC 微學習30

尚未有邦友留言

立即登入留言