WebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被归入万维网联盟的W3C推荐标准android
1、引言 最近有在关注Google IO 2016的同窗应该知道,google发布了新的一款视频聊天工具Duo(http://www.coolapk.com/apk/com.google.android.apps.tachyon),这款应用是基于 Google全新的QUIC和WebRTC协议开发的,也就是咱们今天这篇文章须要介绍的主角WebRTC。ios
2、它是什么 正如导语所言WebRTC是一种视频通话的一种标准,目的是经过浏览器提供简单的JS就能够达到实时通信的能力.除了Safari以外,主流的Chrome,Firefox,Opera已经在最新的浏览器中支持WebRTC好久了,Firefox更利用WebRTC制做了Hello应用,有兴趣的同窗能够在Firefox浏览器的右上角找到它,并快速的发起一个视频会议。git
3、过程描述 只须要作到如下的十步,你就能够完成一个简单的WebRTC视频应用了。github
至此10步,咱们就完成了一个简单的1:1视频的过程了.web
4、主要的API描述浏览器
WebRTC原生APIs文件是基于WebRTC规格书[1]撰写而成,这些API可分红Network Stream API、 RTCPeerConnection、Peer-to-peer Data API三类。服务器
###Network Stream API### MediaStream
:MediaStream用来表示一个媒体数据流。 MediaStreamTrack
在浏览器中表示一个媒体源。session
###RTCPeerConnection### RTCPeerConnection
:一个RTCPeerConnection对象容许用户在两个浏览器之间直接通信。 RTCIceCandidate
:表示一个ICE协议的候选者。 RTCIceServer
:表示一个ICE Server。app
###Peer-to-peer Data API### DataChannel
:数据通道(DataChannel)接口表示一个在两个节点之间的双向的数据通道。工具
5、学习的资源
针对于WebRTC的爱好学习者,本文罗列了一些学习的资源(干货)供你们参考。
参考示例:
第三方接入服务:
书籍(PPT)下载:
##版权申明
版权归原做者全部,这里仅作收集整理,欢迎自由转载-非商用-非衍生-保持署名和连接。
本文中内容将持续更新。
ps:本文做者系代码牛(面对面的技术分享平台)讲师keepcleargas,正在进行基于WebRTC的学习和开发,有兴趣的可关注 代码牛 公众号,获取最新的WebRTC项目的最新博客信息.