WebRTC
頁面Template:Multiple issues/styles.css沒有內容。腳本錯誤:沒有「Message box」這個模塊。Template:Main Other Template:NoteTA 腳本錯誤:沒有「Infobox」這個模塊。腳本錯誤:沒有「Check for unknown parameters」這個模塊。 WebRTC,名稱源自網頁即時通訊(Template:Langx)的縮寫,是一個支援網頁瀏覽器進行實時語音對話或視頻對話的API。它於2011年6月1日開源並在Google、Mozilla、Opera支持下被納入萬維網聯盟的W3C推薦標準[1][2][3]。
瀏覽器支持[編輯]
當前支持情況[編輯]
WebRTC在以下瀏覽器版本中開始支持。
- 桌上PC端
- Microsoft Edge
- Google Chrome 23
- Mozilla Firefox 22[4]
- Opera 18[5]
- Safari 11[6](仍處於開發者預覽階段)
- Android端
- Google Chrome 28(從版本29開始默認開啟)
- Mozilla Firefox 24[7]
- Opera Mobile 12
- Google Chrome OS
- Firefox OS
- iOS 11
- Blackberry 10 內置瀏覽器
- Bowser[8]
支持歷史細節[編輯]
- Google Chrome:2012年1月,將WebRTC整合進Dev Channel,同年6月又完成Stable Channel的20版的整合(2012年7月,PeerConnection與MediaStream仍必須透過
chrome://flags來開啟)[9]。 - Mozilla Firefox:2012年初Mozilla整合WebRTC入Firefox Alpha,此一版本的Audio Mixing已完成於Media Stream[10]。
- 2012年4月,Mozilla展示Firefox中WebRTC的視訊對話[11]。
- 2013年6月,發佈22.0版本正式整合及支援WebRTC[12]。
- 2013年9月,發佈24.0版本,並宣佈Firefox for Android(行動版)正式整合及支援WebRTC[13]。
- Opera:2012年1月,Opera初步整合WebRTC。
- Internet Explorer:Microsoft開始開放API[14]。
- Ericsson:2012年11月,Ericsson Labs做出了全世界第一個可以支援WebRTC的手機瀏覽器[15]。
- SeaMonkey:2013年1月發佈的15.0版本初步整合WebRTC。
歷史[編輯]
2010年5月,Google以6820萬美元收購VoIP軟件開發商Global IP Solutions的GIPS引擎[1][16][17],並改為名為「WebRTC」。WebRTC使用GIPS引擎,實現了基於網頁的視頻會議,並支持722,PCM,ILBC,ISAC等編碼,同時使用谷歌自家的VP8影片解碼器;同時支持RTP/SRTP傳輸等。
2012年1月,谷歌已經把這款軟體整合到Chrome瀏覽器中。同時FreeSWITCH專案宣稱支援iSAC audio codec[18]。
組成[編輯]
腳本錯誤:沒有「Message box」這個模塊。
- 影像引擎(VideoEngine)
- 音效引擎(VoiceEngine)
- 會議管理(Session Management)
- iSAC:音效壓縮
- VP8:Google自家的WebM項目的影片編解碼器
- APIs(Native C++ API, Web API)
重要API[編輯]
WebRTC原生APIs文件是基於WebRTC規格書[19]撰寫而成,這些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,即使用戶已經使用虛擬私人網路。[20]
解決方案
Mozilla Firefox:在地址欄輸入「about:config」,搜索「media.peerconnection.enabled」並雙擊將值改為「false」,WebRTC將被關閉。[21]
Google Chrome:在谷歌應用商店安裝谷歌官方擴展「WebRTC Network Limiter」。[22]
其它方案
uBlock Origin:安裝uBlock Origin並在設置中啟用「避免WebRTC 泄露本地IP地址」可以避免本地IP泄露。但需注意的是,該方案不適用於Firefox 41(或更低)、uBlock Origin 1.3.3(或更低)版本用戶,且該設置選項在本程序的1.38版本中被移除[23]
隱私獾:安裝隱私獾並在設置中啟用「避免 WebRTC 泄露本地 IP 地址 」可以獲得額外防護,但該選項在其2022年9月27日更新的新版本中移除。[24]
相關條目[編輯]
參考資料[編輯]
- ↑ 1.0 1.1 Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Firefox Notes - Desktop (頁面存檔備份,存於網際網路檔案館). Mozilla.org (2013-06-25). Retrieved on 2014-04-11.
- ↑ Dev.Opera. My.opera.com. Retrieved on 2014-04-11.
- ↑ Template:Cite news
- ↑ Firefox Notes - Desktop (頁面存檔備份,存於網際網路檔案館). Mozilla.org (2013-09-17). Retrieved on 2014-08-04.
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite news
- ↑ Template:Cite news
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
外部連結[編輯]
- Is WebRTC ready yet? (頁面存檔備份,存於網際網路檔案館) - 各家網頁瀏覽器對WebRTC支援程度
- IP/DNS檢測 (頁面存檔備份,存於網際網路檔案館) - 檢測您是否能夠防禦WebRTC泄露與DNS泄露並提供幫助
腳本錯誤:沒有「Navbox」這個模塊。