在上篇文章里,我们已经了解了MediaStream。那么这篇文章里,我们就来重点了解RTCPeerConnection。
RTCPeerConnection表示浏览器之间点对点的连接。只有当连接建立后,浏览器的两端才能真正完成流媒体数据的传输。
还记得之前讨论过的WebRTC架构图吗? 实际上,虽然RTCPeerConnection是一个暴露的连接接口, 但其内部封装了大量WebRTC编解码和协议处理的工作,因此使浏览器之间点到点的即时通讯变得简单。
EST.
2013
在上篇文章里,我们已经了解了MediaStream。那么这篇文章里,我们就来重点了解RTCPeerConnection。
RTCPeerConnection表示浏览器之间点对点的连接。只有当连接建立后,浏览器的两端才能真正完成流媒体数据的传输。
还记得之前讨论过的WebRTC架构图吗? 实际上,虽然RTCPeerConnection是一个暴露的连接接口, 但其内部封装了大量WebRTC编解码和协议处理的工作,因此使浏览器之间点到点的即时通讯变得简单。
WebRTC从设计之初,目的就是为开发人员提供更加简便的方式构建基于Web的视频、音频应用。对于任何的WebRTC应用程序,只需要做如下几件事情:
###什么是WebRTC
如今,互联网主流的音频、视频通信服务产品,如Skype, QQ, GTalk等, 都是各自厂商私有的技术。用户需要安装插件或者桌面客户端,才能使用其提供的音频或者视频通信功能。 如果某天,不使用任何插件,只通过浏览器,就能实现手机、平板、电视和电脑的视频或者音频通信;那会是什么场景? 而这正是WebRTC的愿景。
WebRTC(Web Real-Time Communication)由一套开放的标准、协议和一组JavaScript API构成。2010年,谷歌收购了VoIP软件开发商GIPS(Global IP Solutions),并获得了视频采集、编解码、网络传输、回音消除等RTC相关技术。2011年6月,谷歌开放了该部分源码,并积极推动该项技术,这奠定了RTC在Web领域发展的基础。
WebRTC使浏览器之间能够通过点对点的通信方式,直接完成视频、音频以及数据的实时传输。同时,WebRTC容许开发人员通过调用浏览器支持的API,使用HTML5标签和JavaScript轻松的实现基于Web的音频、视频应用。
目前,WebRTC的标准还在不断完善中,W3C、IETF和其他一些浏览器厂商正在积极的推动WebRTC的发展。WebRTC开创了浏览器之间能够直接通信并完成视频或者音频传输的新时代。对于构建开放的、标准的,无插件,免费的视频音频通信应用,迈出了划时代的一步。