跳至主要内容

WebRTC

Introduction

WebRTC是一個用於點對點的即時通訊協定。他支援的傳送檔案包含聲音、影像、和資料等等,並且可以跨平台(Web/Mobile/Desktop)使用此協定。 常見的使用場景,像是:

  • Video Call/Conference
  • Video Streaming

Application Implementation

在建立WebRTC真正連線前,Clients需要先交換彼此的資訊。這邊WebRTC沒有指定傳遞的方法,並把此方法稱為Signaling。

  • 常見的Signaling方法包含在Clients之間建立Backend Server,並透過Restful API, WebSocket等方式進行資訊交換。

此外,Client各自會需要先與ICE Servers建立連線。之後的訊息傳遞都會透過ICE Server來轉送。

一般的方式,假設兩個Client想要透過WebRTC相連,可以分成一個是發起者(Caller),另一個是接收者(Callee)。

  • Caller會建立透過WebRTC協議創建Offer,並把Offer資訊透過Signaling方式傳給Callee。
  • Callee在收到Offer後,會用此Offer一樣透過WebRTC協定建立Answer,透過Signaling方式傳給Caller。
    • Callee同時在收到Offer後也可以建立Session Description,並記錄Remote caller的資訊。
  • Caller在收到Answer後,便可以建立Session Description,並記錄Remote callee的資訊。

在交換完資訊後,兩者便可以透過WebRTC協定互相傳輸聲音及影像資訊了。

Reference