WebRTC 與 HLS 是兩種常見的影音串流技術。WebRTC 提供亞秒級低延遲,適合即時互動;HLS 則透過 HTTP 與 CDN 提供大規模穩定分發,常用於 OTT 與大型直播。
在現代影音平台架構中,工程師常需要在 即時性(Latency) 與 大規模分發能力(Scalability) 之間取得平衡。
兩種最具代表性的串流技術為:
- WebRTC
- HLS(HTTP Live Streaming)
WebRTC 強調 Ultra Low Latency Streaming,適用於即時互動應用;
而 HLS 則專注於 高相容性與全球分發能力,是目前 OTT 平台最常見的串流協定。
實務上,許多 Streaming Server(例如 Ant Media Server 或 Wowza Streaming Engine)通常會同時支援兩種協定,透過混合架構同時滿足互動與大規模播放需求。
技術概念
技術原理
技術比較
技術優勢
應用場景
WebRTC (Web Real-Time Communication) 是一項開源技術,允許瀏覽器與應用程式直接進行即時影音與資料傳輸。
其核心特色包括:
- 亞秒級延遲(Sub-second latency)
- Peer-to-Peer 傳輸
- 瀏覽器原生支援
- 端到端加密
WebRTC 最初設計用於 即時通訊(Real-time communication),例如視訊會議與語音通話,但現在也廣泛應用於 互動式直播與監控系統。
在理想情況下,WebRTC 的端到端延遲可以低於 500ms。
HLS (HTTP Live Streaming) 是 Apple 推出的串流協定,目前已成為全球最普及的影音分發技術之一。
HLS 的核心設計是:
將影音內容切割為多個 小型 HTTP 檔案(Segments),並透過 .m3u8 playlist 進行管理。
主要特點包括:
- 基於標準 HTTP/TCP
- 可透過 CDN 快取與分發
- 支援幾乎所有裝置與播放器
- 適合 大規模直播與 OTT
因此,HLS 常被視為 網路影音分發的標準基礎設施。
WebRTC 的資料傳輸主要透過 UDP 進行,以減少 TCP 重傳機制帶來的延遲。
核心組件包括:
WebRTC 需要解決 NAT 與防火牆問題,因此使用:
- ICE (Interactive Connectivity Establishment)
用於尋找最佳連線路徑
- STUN Server
用來取得裝置的 Public IP
- TURN Server
當 P2P 無法建立時,作為中繼伺服器
所有 WebRTC 媒體流都透過 SRTP (Secure Real-time Transport Protocol) 加密,確保影音資料安全。
在大規模應用中,通常會加入 Media Server:
- SFU (Selective Forwarding Unit)
轉發媒體流給多個用戶
- MCU (Multipoint Control Unit)
將多個流合併後再輸出
這種架構常見於:
HLS 採用典型的 Client–Server 架構。
完整流程通常為:
Encoder → Segmenter → Origin Server → CDN → Player
將直播訊號(例如 RTMP)轉為可串流格式。
.tsfMP4並產生 m3u8 playlist。
儲存影音切片與 playlist。
CDN 會快取這些 HTTP 檔案,使全球觀眾都能快速取得內容。
播放器依照 playlist 下載片段並播放。
| 技術面向 | WebRTC | HLS |
| 延遲 | <500ms | 10–30 秒 |
| Low Latency | 最低延遲 | LL-HLS 約 2–5 秒 |
| Scalability | 需要 Media Server 集群 | CDN 原生擴展 |
| 網路相容性 | 依賴 UDP | HTTP 穿透性高 |
| CDN 支援 | 較少 | 全球 CDN 支援 |
| 實作複雜度 | 高 | 低 |
為了降低 HLS 延遲,Apple 推出 LL-HLS。
其核心方法包括:
- Partial Segments
- Chunked transfer
- CMAF
LL-HLS 可以將延遲降低至 2–5 秒,在保持 CDN 相容性的同時提升即時性。
WebRTC 適合需要 強互動性與低延遲 的應用:
- 視訊會議
- 線上教育
- 即時互動直播
- 即時監控
- 遠距醫療(Telemedicine)
- 即時拍賣
在這些場景中,若延遲超過 1 秒,使用體驗通常會顯著下降。
HLS 則適用於 大規模影音分發:
- OTT 影音平台
- 體育賽事直播
- 新聞轉播
- 娛樂直播
- VOD 平台
HLS 的優勢在於可以透過 CDN 同時服務 數十萬甚至數百萬觀眾。
WebRTC 與 HLS 並不是彼此取代的技術,而是解決不同問題的串流方案。
- WebRTC
適合需要 超低延遲與互動性 的應用。
- HLS
適合 高相容性與大規模分發 的影音平台。
在實際系統設計中,許多 Streaming Server 會採用 混合串流架構:
例如:
- WebRTC Ingest + HLS Egress
- WebRTC for hosts + HLS for viewers
透過這種方式,可以同時兼顧 即時互動與全球分發能力。
如果你的應用同時需要 Low Latency Streaming 與大規模影音分發,通常需要一個支援多協定的 Streaming Server。
例如:
- WebRTC 即時互動串流
- RTMP ingest
- HLS / LL-HLS 分發
- 自動轉碼與 ABR
像 Ant Media Server 或 Wowza Streaming Engine 這類媒體伺服器,都提供 WebRTC 與 HLS 的整合支援,能夠建立 混合串流架構(Hybrid Streaming Architecture),同時服務互動使用者與大量觀眾。
最大差異是 延遲與分發模式。
WebRTC 提供亞秒級低延遲,而 HLS 則透過 HTTP 與 CDN 提供大規模影音分發。
可以。
透過 Low Latency HLS (LL-HLS),延遲可降至約 2–5 秒。
可以,但通常需要 Media Server(SFU/MCU)與叢集架構,其成本與複雜度通常高於 HLS + CDN。
可以。
許多串流平台會採用 WebRTC 互動 + HLS 分發 的混合架構,以同時滿足低延遲與高併發需求。
📌 什麼是低延遲串流(Low Latency Streaming)?技術原理與串流架構解析