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
*安全實時傳輸協議
*

參考資料
外部連結

评论 (0)

  • 还没有评论,来抢沙发吧。