W3C提供的WebRTC API
英文API:http://www.w3.org/TR/webrtc/(个人建议看英文版)
中文API:http://www.iwebrtc.com/blog/webrtc1-0/(old版)
三个主要API:
MediaStream:获取音视频流
RTCPeerConnection:用以音视频数据通信
RTCDataChannel:用以任意应用数据通信
WebRTC 文档链接
This version:
WebRTC 1.0: Real-Time Communication Between Browsers
Latest published version:
WebRTC 1.0: Real-Time Communication Between Browsers
Latest editor's draft:
WebRTC 1.0: Real-Time Communication Between Browsers
Test suite:
wpt/webrtc at master · web-platform-tests/wpt · GitHub
Implementation report:
webrtc-pc interop
Previous version:
WebRTC 1.0: Real-Time Communication Between Browsers
WebRTC(Web Real-Time Communication)也被称为网络实时通信,是由 Google、Mozilla 和其他公司推动的一个开源项目,它通过 Javascript API 实现无插件的实时通信,以及在不需要中介的情况下在浏览器之间交换任意数据。
WebRTC的优点:
开源、免费,开发者不需要承担高昂的专利费用
基于浏览器,不需要安装插件,只要调用就可以实现音视频互动
被纳入了HTML5标准,主流浏览器全面支持WebRTC
不仅支持Web之间的音视频通讯,还支持Android以及IOS端,由于该项目是开源的,我们也可以通过编译C++代码,从而达到全平台的互通
WebRTC技术的诞生,有一个很重要的原因在于,在浏览器实现实时音视频通话,需要依赖相关插件或程序,而插件安全漏洞问题则更为关键。浏览器开发人员无法控制这些插件以及更新,因此插件带来的安全风险也相对较大。
例如,Adobe Flash一直以来以安全性问题闹了不少负面新闻,以至于史蒂夫·乔布斯写了一封公开信,详细说明了为何iOS从2010年就禁止了该插件。所以,Adobe于2015年停用了Flash,并宣布2020年终止服务。 WebRTC音视频传输是基于点对点传输的,实现简单的 1 对 1 通话场景,需要较少的服务器资源,借助免费的 STUN/TURN 服务器可以大大节约成本开销,到目前为止,几乎所有主要的浏览器都兼容WebRTC,包括谷歌Chrome、苹果Safari、Mozilla Firefox 、QQ浏览器、360浏览器和Microsoft Edge,除了IE浏览器外。
WebRTC/PRTC直播效果
实拍图1:带货场景下的无延迟直播 / 手机端与PC端同步
实拍图2:带货场景下的无延迟直播 / 手机端与PC端同步
实拍图3:带货场景下的无延迟直播 / 手机端与PC端同步
网友评论