简介
webrtc是一个再web端和移动app端实时交流与数据传输的开源项目。webrtc有一些js接口 - 点击下面的案例链接即可看demo。
- getUserMedia(): 获取本地音频和视频.
- MediaRecorder: 录制本地音频和视频.
- RTCPeerConnection: 用户间建立点对点通讯传输传输音频和视频.
- RTCDataChannel: 用户间数据传输.
在哪使用webrtc
在Firefox,Opera和桌面和Android上的Chrome中。WebRTC也可用于iOS和Android上的原生应用程序。
信令服务
WebRTC使用RTCPeerConnection在浏览器之间传递流数据,但也需要一种协调通信和发送控制消息的机制,这一过程称为信令.WebRTC未指定信令方法和协议。在这个代码框中,您将使用Socket.IO进行消息传递,但有许多替代方案。
什么是STUN和TURN
webrtc设计的初衷是为了p2p服务,因为用户间可以建立点对点通讯线路.然而,WebRTC旨在应对真实的网络:客户端应用程序需要遍历NAT网关和防火墙,并且在直接连接失败的情况下,对等网络需要回退。作为此过程的一部分,WebRTC API 使用 STUN 服务器获取计算机的IP地址,并使用TURN服务器作为中继服务器,以防p2p通信失败。 (WebRTC在实际网络中有更详细的解释。)
webrtc安全机制
所有WebRTC组件都必须进行加密,并且其JavaScript API 只能用于安全来源(HTTPS或localhost)。 WebRTC标准没有定义信令机制,因此您需要确保使用安全协议。
更多关于webrtc的讯息和学习资料可查阅webrtc.org/start.