跳至主要內容
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) 與視訊壓縮引擎。當時許多知名的通訊軟體(如早期的 Skype、Yahoo Messenger、AOL)背後其實都使用了 GIPS 的技術授權。

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 時代
安裝需求需要安裝插件或專用軟體零安裝,打開瀏覽器即用
通訊延遲較高 (經過伺服器轉發)極低 (P2P 直連)
開發難度需懂 C++ 或特定私有協定只要懂 JavaScript
安全性插件漏洞多,安全性參差不齊強制加密 (DTLS/SRTP),HTTPS 必須
生態系封閉生態開放標準,跨平台 (PC/Mobile/IoT)

四、 核心三劍客

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

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

總結

WebRTC 不僅僅是一個技術,它代表了網路通訊的一次民主化。它讓任何一位 Web 開發者,都能在幾行程式碼內,建構出世界級的視訊通話應用。

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

關鍵字說明
GIPSGlobal IP Solutions,WebRTC 的前身技術擁有者。
P2PPeer-to-Peer,點對點直接傳輸,不經伺服器轉發 (理想狀況)。
Signaling信令,WebRTC 唯一沒定義的部分,需開發者自行實作 (交換 SDP 用)。

TIP

現在是學習 WebRTC 最好的時機:隨著 5G 與遠端工作的普及,即時通訊的需求呈現爆炸性成長。掌握 WebRTC,等於掌握了通往元宇宙與即時互動應用的鑰匙。


延伸閱讀與資源

下一章:瀏覽器影音採集