跳至主要內容
Skip to content

WebRTC 的故事:從 Flash 到瀏覽器即時通訊的革命

在 WebRTC 出現之前,要在瀏覽器上進行視訊通話,簡直是一場惡夢。

你需要安裝 Flash Player、Java Applet,或是下載各式各樣奇怪的 ActiveX 插件。即使你裝好了,你的朋友可能因為版本不對而無法看到你的畫面。這是一個被「插件 (Plugins)」統治的黑暗時代。

直到 2011 年,Google 的一項關鍵收購案,徹底改變了這一切。


一、 關鍵轉折點:Google 收購 GIPS

故事的起點要回到 1999 年,瑞典有一家名為 Global IP Solutions (GIPS) 的公司。他們專注於開發高品質的 VoIP (Voice over IP) 與視訊處理技術,並將即時通訊元件授權給多家網路通訊服務。

GIPS 擁有當時世界上最頂尖的即時音訊編解碼與回音消除技術,但這些技術是封閉且昂貴的。

6820 萬美元的豪賭

2010 年 5 月 18 日,Google 宣布以 6820 萬美元 收購 GIPS。

當時業界還在猜測 Google 是否要推出自己的 Skype 殺手級應用。但 Google 在一年後的 2011 年 5 月,將 GIPS 的核心技術 開源 (Open Source),並命名為 WebRTC (Web Real-Time Communication)

Google 的目標很明確:「讓瀏覽器具備原生的即時通訊能力,不需要任何插件。」


二、 雙巨頭的標準化之路:W3C 與 IETF

WebRTC 要成功,不能只有 Chrome 支援,必須成為 Web 標準。這涉及到兩個巨大的標準化組織:

  1. IETF (Internet Engineering Task Force):負責制定底層的 通訊協定。例如:封包要怎麼送?加密要用什麼格式 (DTLS/SRTP)?NAT 該怎麼穿透 (STUN/TURN)?
  2. W3C (World Wide Web Consortium):負責定義瀏覽器的 JavaScript API。例如:getUserMedia 怎麼寫?RTCPeerConnection 怎麼呼叫?

這是一場長達 10 年的馬拉松。

從 2011 年釋出草案開始,經歷了無數次的 API 修改與架構調整。直到 2021 年 1 月,W3C 正式宣布 WebRTC 1.0 成為 W3C 推薦標準 (Recommendation);而在同一個月,IETF 也發布了 RFC 8825,整理 WebRTC 使用的通訊協定與架構。

這標誌著 WebRTC 正式成熟,成為網路基礎建設的一部分。


三、 WebRTC 改變了什麼?

WebRTC 的出現,將即時通訊的門檻從「應用程式等級」降到了「網頁等級」。

Before & After

特性WebRTC 之前 (Flash/Plugins)WebRTC 時代
安裝需求需要安裝插件或專用軟體零安裝,打開瀏覽器即用
通訊延遲常依賴插件與專有架構支援低延遲直連或媒體伺服器架構
開發方式需依賴插件或特定私有 SDK提供標準化 JavaScript API
安全性插件漏洞多,安全性參差不齊媒體擷取需安全來源,傳輸強制加密
生態系封閉生態開放標準,跨平台 (PC/Mobile/IoT)

四、 核心三劍客

WebRTC 雖然底層複雜,但對開發者來說,主要由三個核心 API 組成:

  1. MediaDevices.getUserMedia():負責取得攝影機與麥克風權限,並回傳 MediaStream
  2. RTCPeerConnection:這是 WebRTC 的「心臟」。負責建立 P2P 連線、處理 NAT 穿越、頻寬偵測與編碼協商。
  3. RTCDataChannel:這是一條「萬能通道」。除了影音,你還可以傳送任意的二進位資料(檔案、遊戲狀態、聊天訊息),而且同樣享受 P2P 的低延遲與加密特性。

總結

WebRTC 將即時影音能力帶進標準化的 Web API。建立基本通話的門檻降低了,但穩定的產品仍需要處理信令、TURN、裝置相容性、品質監控與多人媒體架構。

在這個專題中,我們將不會只是紙上談兵。我們將這段歷史化為程式碼,從零開始打造屬於你自己的即時通訊應用。

關鍵字說明
GIPSGlobal IP Solutions,WebRTC 的前身技術擁有者。
P2PPeer-to-Peer,點對點直接傳輸,不經伺服器轉發 (理想狀況)。
SignalingWebRTC 規範未指定應用層信令的傳輸方式,需自行交換 SDP 與 ICE。

TIP

WebRTC 的價值不限於視訊會議,也涵蓋遠端協作、客服、教育、遊戲、即時資料交換與媒體處理。學習時應同時理解瀏覽器 API 與底層網路限制。


延伸閱讀與資源

返回專題首頁 | 下一章:瀏覽器影音採集