本页使用了标题或全文手工转换

WebRTC

维基百科,自由的百科全书
跳到导航 跳到搜索
WebRTC
WebRTC Logo.svg
原作者 Justin Uberti
Peter Thatcher
初始版本 2011年,​8年前​(2011
稳定版本
稳定版本
1.1
(2017年5月4日,​21个月前​(2017-05-04
编程语言 C++[1], Javascript
许可协议 BSD license
网站 webrtc.org
源代码库 github.com/webrtc/apprtc

WebRTC,名称源自网页即时通信英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在GoogleMozillaOpera支持下被纳入万维网联盟W3C推荐标准[2][3][4]

浏览器支持[编辑]

当前支持情况[编辑]

WebRTC在以下浏览器版本中开始支持。

支持历史细节[编辑]

  • Google Chrome:2012年1月,将WebRTC集成进Dev Channel,同年6月又完成Stable Channel的20版的集成(2012年7月,PeerConnection与MediaStream仍必须透过chrome://flags page来打开)[10]
  • Mozilla Firefox:2012年初Mozilla集成WebRTC入Firefox Alpha,此一版本的Audio Mixing已完成于Media Stream[11]
    • 2012年4月,Mozilla展示Firefox中WebRTC的视频对话[12]
    • 2013年6月,发布22.0版本正式集成及支持WebRTC[13]
    • 2013年9月,发布24.0版本,并宣布Firefox for Android(移动版)正式集成及支持WebRTC[14]
  • Opera:2012年1月,Opera初步集成WebRTC。
  • Internet Explorer:Microsoft开始开放API[15]
  • Ericsson:2012年11月,Ericsson Labs做出了全世界第一个可以支持WebRTC的手机浏览器[16]
  • SeaMonkey:2013年1月发布的15.0版本初步集成WebRTC。

历史[编辑]

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

2012年1月,谷歌已经把这款软件集成到Chrome浏览器中。同时FreeSWITCH项目宣称支持iSAC audio codec[20]

组成[编辑]

  • 影像引擎(VideoEngine)
  • 音效引擎(VoiceEngine)
  • 会议管理(Session Management)
  • iSAC:音效压缩
  • VP8:Google自家的WebM项目的影片编解码器
  • APIs(Native C++ API, Web API)

重要API[编辑]

WebRTC原生APIs文件是基于WebRTC规格书[21]撰写而成,这些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,即使用户已经使用虚拟私人网路。[22]

解决方案

Microsoft Edge: 在地址栏输入“about:config”,搜索“开发人员设置”并点击"在WebRTC上隐藏我的本机IP地址",即可隐藏IP地址。
Mozilla Firefox:在地址栏输入“about:config”,搜索“media.peerconnection.enabled”并双击将值改为“false”,WebRTC将被关闭。[23]

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

Opera:

其它方案

uBlock Origin:安装uBlock Origin并在设置中启用“避免WebRTC 泄露本地IP地址”可以避免本地IP泄露。但需注意的是,该方案不适用于Firefox 41(或更低)、uBlock Origin 1.3.3(或更低)版本用户。[24]

隐私獾:安装隐私獾并在设置中启用”避免 WebRTC 泄露本地 IP 地址 “可以获得额外防护,但未知具体效果。

相关条目[编辑]

参考资料[编辑]

  1. ^ https://webrtc.googlesource.com/src/webrtc/
  2. ^ http://www.h-online.com/open/news/item/Google-open-source-WebRTC-for-open-video-audio-chat-1253848.html
  3. ^ https://sites.google.com/site/webrtc/home
  4. ^ https://sites.google.com/site/webrtc/blog/introducingwebrtc-anopenreal-timecommunicationsproject
  5. ^ Firefox Notes - Desktop. Mozilla.org (2013-06-25). Retrieved on 2014-04-11.
  6. ^ Dev.Opera. My.opera.com. Retrieved on 2014-04-11.
  7. ^ Apple Releases Safari Technology Preview 11 With Bug Fixes and Feature Tweaks. [2017-06-10] (英语). 
  8. ^ Firefox Notes - Desktop. Mozilla.org (2013-09-17). Retrieved on 2014-08-04.
  9. ^ http://www.openwebrtc.io/bowser/
  10. ^ http://blog.chromium.org/2012/01/real-time-communications-in-chrome.html
  11. ^ http://www.webmonkey.com/2012/01/mozilla-demos-mediastream-processing-audio-mixing-in-firefox/
  12. ^ http://www.h-online.com/open/news/item/Mozilla-shows-WebRTC-browser-based-video-calling-1517803.html
  13. ^ Mozilla Firefox 22.0 Release Notes. Mozilla.org. 2013-06-25 [2013-06-26]. 
  14. ^ 行动版 Firefox 24 已支援 WebRTC. Mozilla Taiwan. 2013-09-24 [2013-10-02]. 
  15. ^ http://html5labs.interoperabilitybridges.com/prototypes/media-capture-api-(2nd-updated)/media-capture-api-(2nd-update)/info 互联网档案馆存档,存档日期2016-03-07.
  16. ^ 存档副本. [2012-11-29]. (原始内容存档于2012-12-18). 
  17. ^ https://sites.google.com/site/webrtc/license-rights
  18. ^ http://www.h-online.com/open/news/item/Google-open-source-WebRTC-for-open-video-audio-chat-1253848.html
  19. ^ https://sites.google.com/site/webrtc/faq
  20. ^ 存档副本. [2012-03-16]. (原始内容存档于2012-02-04). 
  21. ^ http://www.iwebrtc.com/blog/webrtc1-0/
  22. ^ Ernesto. Huge Security Flaw Leaks VPN Users’ Real IP-Addresses. torrentfreak. 2015年1月30日 [2018年3月1日]. 
  23. ^ Sphinx FreeBuf. WebRTC漏洞可泄露VPN用户真实IP. 比特网. 2015-02-6 [2018-3-1].  [永久失效链接]
  24. ^ Prevent WebRTC from leaking local IP address. github. [2018-3-1]. 

外部链接[编辑]