WebRTC

WebRTC，名稱源自網頁即時通訊（）的縮寫，是一个支援網頁浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被納入万维网联盟的W3C推荐标准。

瀏覽器支持

当前支持情况
WebRTC在以下浏览器版本中开始支持。
 桌上PC端
 Microsoft Edge
 Google Chrome 23
 Mozilla Firefox 22
 Opera 18
 Safari 11（仍处于开发者预览阶段）
 Android端
 Google Chrome 28（从版本29开始默认开启）
 Mozilla Firefox 24
 Opera Mobile 12
 Google Chrome OS
 Firefox OS
 iOS 11
Blackberry 10 内置瀏覽器
 Bowser

支持历史细节
 Google Chrome：2012年1月，將WebRTC整合進Dev Channel，同年6月又完成Stable Channel的20版的整合（2012年7月，PeerConnection與MediaStream仍必須透過chrome://flags來開啟）。
 Mozilla Firefox：2012年初Mozilla整合WebRTC入Firefox Alpha，此一版本的Audio Mixing已完成於Media Stream。
 2012年4月，Mozilla展示Firefox中WebRTC的視訊對話。
 2013年6月，發佈22.0版本正式整合及支援WebRTC。
 2013年9月，發佈24.0版本，並宣佈Firefox for Android（行動版）正式整合及支援WebRTC。
 Opera：2012年1月，Opera初步整合WebRTC。
 Internet Explorer：Microsoft開始開放API。
 Ericsson：2012年11月，Ericsson Labs做出了全世界第一個可以支援WebRTC的手機浏览器。
 SeaMonkey：2013年1月發佈的15.0版本初步整合WebRTC。

歷史 
2010年5月，Google以6820万美元收购VoIP软件开发商Global IP Solutions的GIPS引擎，並改為名为“WebRTC”。WebRTC使用GIPS引擎，实现了基于网页的视频会议，並支持722，PCM，ILBC，ISAC等编码，同時使用谷歌自家的VP8影片解碼器；同時支持RTP/SRTP传输等。

2012年1月，谷歌已經把這款軟體整合到Chrome瀏覽器中。同時FreeSWITCH專案宣稱支援iSAC audio codec。

组成 
 影像引擎（VideoEngine）
 音效引擎（VoiceEngine）
 會議管理（Session Management）
 iSAC：音效壓縮
 VP8：Google自家的WebM项目的影片编解码器
 APIs（Native C++ API, Web API）

重要API 
WebRTC原生APIs文件是基于WebRTC規格書撰寫而成，這些API可分成Network Stream API、 RTCPeerConnection、Peer-to-peer Data API三类。

Network Stream API
 MediaStream：MediaStream用来表示一个媒体数据流。
 MediaStreamTrack在浏览器中表示一个媒体源。

RTCPeerConnection
 RTCPeerConnection：一个RTCPeerConnection对象允许用户在两个浏览器之间直接通讯。
 RTCIceCandidate：表示一个ICE协议的候选者。
RTCIceServer：表示一个ICE Server。

Peer-to-peer Data API
DataChannel：数据通道（DataChannel）接口表示一个在两个节点之间的双向的数据通道。

安全性 
漏洞

2015年，TorrentFreak报告了一个WebRTC的安全漏洞，该漏洞会致使安装有WebRTC的使用者泄露真实IP，即使用户已经使用虚拟私人网路。

解决方案Mozilla Firefox：在地址栏输入“about:config”，搜索“media.peerconnection.enabled”并双击将值改为“false”，WebRTC将被关闭。

Google Chrome：在谷歌应用商店安装谷歌官方扩展“WebRTC Network Limiter”。

其它方案

uBlock Origin：安装uBlock Origin并在设置中启用“避免WebRTC 泄露本地IP地址”可以避免本地IP泄露。但需注意的是，该方案不适用于Firefox 41（或更低）、uBlock Origin 1.3.3（或更低）版本用户，且该设置选项在本程序的1.38版本中被移除

隐私獾：安装隐私獾并在设置中启用“避免 WebRTC 泄露本地 IP 地址 ”可以获得额外防护，但该选项在其2022年9月27日更新的新版本中移除。

相關條目 
Jingle
安全實時傳輸協議

參考資料

外部連結 
 Is WebRTC ready yet?  - 各家網頁瀏覽器對WebRTC支援程度
 IP/DNS检测  - 检测您是否能够防御WebRTC泄露与DNS泄露并提供帮助
網站開發
W3C标准