WebRTC基础实践 - 1. WebRTC简介

简介:

WebRTC 是一个开源的实时通信项目, 主要目标是对Web/原生App平台上的语音、视频、以及数据传输等实时通讯提供支持。

WebRTC 主要包括以下 JavaScript API(点击链接可查看相关demo)。

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日

目录
相关文章
|
23天前
|
Web App开发 编解码 安全
视频会议技术 入门探究:WebRTC、Qt与FFmpeg在视频编解码中的应用
视频会议技术 入门探究:WebRTC、Qt与FFmpeg在视频编解码中的应用
162 4
|
23天前
|
Web App开发 编解码 安全
【WebRTC 入门教程】全面解析WebRTC:从底层原理到Qt和FFmpeg的集成应用
【WebRTC 入门教程】全面解析WebRTC:从底层原理到Qt和FFmpeg的集成应用
150 1
|
4月前
|
Web App开发 前端开发
ZLMediaKit解决webrtc前端replaceTrack断流问题
ZLMediaKit解决webrtc前端replaceTrack断流问题
|
Web App开发 编解码 算法
WebRTC简介
WebRTC (Web Real-Time Communications) 是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和(或)音频流或者其他任意数据的传输。WebRTC包含的这些标准使用户在无需安装任何插件或者第三方的软件的情况下,创建点对点(Peer-to-Peer)的数据分享和电话会议成为可能。
582 0
WebRTC简介
|
18天前
|
Web App开发 编解码 API
WebRTC简介及使用
WebRTC简介及使用
65 0
|
10月前
|
Web App开发 编解码 JavaScript
WebRTC技术笔记笔记:WebRTC 网络技术理论与实战(一)
WebRTC 网络技术理论与实战(一) - WebRTC 概述
139 0
|
12月前
|
Web App开发 编解码 Linux
webRTC开篇
WebRTC系列
214 0
|
12月前
|
Web App开发 编解码 JavaScript
webRTC架构说明
WebRTC系列
155 0
|
Web App开发 编解码 安全
零基础快速入门WebRTC:基本概念、关键技术、与WebSocket的区别等
本文主要分享了WebRTC的基本概念、关键技术术语(包括NAT、STUN、TURN、ICE、SDP 和信令),着重讲解了WebRTC是如何实现P2P通信以及WebRTC信令的作用,同时讨论了WebRTC在技术上的优势和劣势,最后还提供了一个简单的WebRTC Demo代码。
348 0
零基础快速入门WebRTC:基本概念、关键技术、与WebSocket的区别等
|
Web App开发 编解码 网络性能优化
《WebRTC源码深入剖析》总结
我精心打造的新课 **《WebRTC源码深入剖析》** 终于更新完了!!!2021年年初,在完成了我的处女作《WebRTC音视频实时互动技术——原理、实战与源码分析》一书之后,我终于下定决心,出一部WebRTC源码分析的课程了...
《WebRTC源码深入剖析》总结