- WebRTC 教程
- WebRTC - 首页
- WebRTC - 概述
- WebRTC - 架构
- WebRTC - 环境
- WebRTC - MediaStream API
- WebRTC - RTCPeerConnection API
- WebRTC - RTCDataChannel API
- WebRTC - 发送消息
- WebRTC - 信令
- WebRTC - 浏览器支持
- WebRTC - 移动设备支持
- WebRTC - 视频演示
- WebRTC - 语音演示
- WebRTC - 文本演示
- WebRTC - 安全性
- WebRTC 资源
- WebRTC - 快速指南
- WebRTC - 有用资源
- WebRTC - 讨论
WebRTC - 概述
随着WebRTC(Web 实时通信)的出现,网络不再与实时通信隔绝。尽管它于 2011 年 5 月发布,但它仍在不断发展,其标准也在不断变化。一组协议由IETF(互联网工程任务组)的http://tools.ietf.org/wg/rtcweb/处的网络浏览器中的实时通信工作组标准化,而新的 API 集则由W3C(万维网联盟)的http://www.w3.org/2011/04/webrtc/处的Web 实时通信工作组标准化。随着 WebRTC 的出现,现代 Web 应用程序可以轻松地将音频和视频内容流式传输到数百万人。
基本方案
WebRTC 允许您快速轻松地建立到其他 Web 浏览器的点对点连接。要从头开始构建这样的应用程序,您将需要大量的框架和库来处理诸如数据丢失、连接断开和 NAT 穿越等典型问题。使用 WebRTC,所有这些都内置在浏览器的开箱即用功能中。这项技术不需要任何插件或第三方软件。它是开源的,其源代码可在http://www.webrtc.org/.免费获得。
WebRTC API 包括媒体捕获、音频和视频的编码和解码、传输层以及会话管理。
媒体捕获
第一步是访问用户设备的摄像头和麦克风。我们检测可用设备的类型,获取用户访问这些设备的权限并管理流。
音频和视频的编码和解码
通过互联网发送音频和视频数据流并非易事。这就是编码和解码发挥作用的地方。这是将视频帧和音频波分解成更小的块并压缩它们的过程。此算法称为编解码器。有大量的不同编解码器,由不同公司维护,具有不同的业务目标。WebRTC 内部也有许多编解码器,如 H.264、iSAC、Opus 和 VP8。当两个浏览器连接在一起时,它们会在两个用户之间选择最优的支持的编解码器。幸运的是,WebRTC 在幕后完成了大部分编码工作。
传输层
传输层管理数据包的顺序、处理数据包丢失以及连接到其他用户。同样,WebRTC API 使我们能够轻松访问告知我们连接出现问题的事件。
会话管理
会话管理处理管理、打开和组织连接。这通常称为信令。如果您将音频和视频流传输给用户,那么传输辅助数据也是有意义的。这是通过RTCDataChannel API完成的。
来自 Google、Mozilla、Opera 等公司的工程师已经出色地将这种实时体验带到了 Web 上。
浏览器兼容性
WebRTC 标准是 Web 上发展最快的标准之一,因此这并不意味着每个浏览器都同时支持所有相同的特性。要检查您的浏览器是否支持 WebRTC,您可以访问https://caniuse.cn/#feat=rtcpeerconnection。在所有教程中,我建议您在所有示例中都使用 Chrome。
试用 WebRTC
让我们立即开始使用 WebRTC。
点击“加入”按钮。您应该会看到一个下拉通知。
点击“允许”按钮开始将您的视频和音频流式传输到网页。您应该会看到您自己的视频流。
现在在新的浏览器选项卡中打开您当前所在的 URL,然后点击“加入”。您应该会看到两个视频流 - 一个来自您的第一个客户端,另一个来自第二个客户端。
现在您应该理解为什么 WebRTC 是一款强大的工具。
用例
实时 Web 为一系列全新的应用程序打开了大门,包括基于文本的聊天、屏幕和文件共享、游戏、视频聊天等等。除了通信之外,您还可以将 WebRTC 用于其他目的,例如 -
- 实时营销
- 实时广告
- 后台办公通信(CRM、ERP、SCM、FFM)
- 人力资源管理
- 社交网络
- 约会服务
- 在线医疗咨询
- 金融服务
- 监控
- 多人游戏
- 直播
- 电子学习
总结
现在您应该清楚地了解 WebRTC 的含义。您还应该了解可以使用 WebRTC 构建哪些类型的应用程序,因为您已经在浏览器中尝试过它了。总而言之,WebRTC 是一项非常有用的技术。