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”这个模块。