内容简介:WebRTC 是一个开源的实时通信项目, 主要目标是对Web/原生App平台上的语音、视频、以及数据传输等实时通讯提供支持。WebRTC 主要包括以下 JavaScript API(点击链接可查看相关demo)。目前, PC版和Android版的 Firefox、Opera 和 Chrome 浏览器都支持WebRTC。 此外、iOS和Android的一些原生App也支持WebRTC。
WebRTC 是一个开源的实时通信项目, 主要目标是对Web/原生App平台上的语音、视频、以及数据传输等实时通讯提供支持。
WebRTC 主要包括以下 JavaScript API(点击链接可查看相关demo)。
-
getUserMedia()
: 获取用户设备的音频和视频. -
MediaRecorder
: 录制音频和视频. -
RTCPeerConnection
: 流式传输两个客户端之间的音频与视频. -
RTCDataChannel
: 在两个客户端之间传输数据流.
WebRTC的平台支持情况
目前, PC版和Android版的 Firefox、Opera 和 Chrome 浏览器都支持WebRTC。 此外、iOS和Android的一些原生App也支持WebRTC。
译者注: 国内使用量巨大的360浏览器、搜狗浏览器兼容性基本和Chrome一致。当然, 推荐使用最新的版本(当前时间: 2018年6月28日)。
信令(signaling)
WebRTC 通过 RTCPeerConnection 在浏览器之间进行流数据传输, 但还需要一种机制, 来协调通信以及发送控制指令, 这个过程就叫做信令控制. WebRTC 没有规定具体使用的协议或方法。
在本教程中, 我们使用 Socket.IO 来传递消息, 当然也可以使用 其他实现 。
STUN和TURN简介
WebRTC 是基于点对点(peer-to-peer)网络设计的, 在理想环境中, 双方通过路由器进行直连. 但在现实世界中, 两个客户端之间, 需要穿透防火墙以及 NAT 网关 , 如果直连失败, 则需要回退降级。所以, 为了应对各种复杂的网络环境, WebRTC API 需要使用 STUN 服务器的帮助, 来获取双方的公网IP, 如果对等连接失败, 则需要使用 TURN 服务器作为中继服务器. 现实世界中的网络环境是什么样子的呢, 请参考 WebRTC in the real world
WebRTC的安全性
WebRTC的所有组件强制加密. 相关的JavaScript API也只能在安全的域名中使用(即 HTTPS 或者 localhost). 但WebRTC标准没有指定信令机制, 所以需要开发者确保使用了安全传输协议。
更多信息和资源, 请参考: http://webrtc.org/start
相关词汇对照:
capture audio video stream data stream record signaling Encryption relay server peer-to-peer
原文链接: https://codelabs.developers.google.com/codelabs/webrtc-web/#0
翻译人员: 铁锚 - https://blog.csdn.net/renfufei
翻译日期: 2018年06月28日
以上所述就是小编给大家介绍的《[译]WebRTC基础实践 - 1. WebRTC简介》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- [译]WebRTC基础实践 - 10. 总结
- iOS 基础知识实践(一)
- webpack 基础与实践(项目优化)总结
- 现代 Web 开发语法基础与工程实践
- [译]WebRTC基础实践 - 3. 获取示例代码
- [译]WebRTC基础实践 - 7. 配置信令服务
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。