webRTC 支持与 SIP、Jingle 和 PSTN 终端建立会话, WebRTC 涉及大量的标准, 由于数(xue)量(bu)众(guo)多(lai), 我们大体介绍一下如何建立 WebRTC 会话, 会话运行期间可执行哪些操作, 以及关闭会话等.
建立 WebRTC 会话
主要有四个步骤:
- 获取本地媒体
- 在浏览器和对等端(其他浏览器或终端)之间建立连接
- 将媒体和数据通道关联至该链接
- 交换会话描述
获取本地媒体
最常见的方式 getUserMedia()
, 可以获得单个本地 MediaStream, 在获取到一个或多个媒体流后, 可使用 MediaStream API 将他们组合到所需的流中.
建立对等链接(敲黑板)
RTCpeerConneciton API
是 WebRTC 的核心, 作用就是在两个对等端之间建立连接(对等端: 万维网上的两个通信终端)
RTCpeerConneciton
构造函数方法的唯一输入项是一个配置对象, 该对象包含 ICE (Interactive Connectivity Establishment) “打洞”通过各种网络地址转换(Network Address Translation, NAT)设备和防火墙时所使用的信息
交换媒体或数据
建联之后, 可以将任意数量的媒体流发送到远端浏览器, 这样本地端就有了新的媒体流, 并且可以像操作其他本地流那样的处理他们
需要注意, 每次更改媒体时, 都需要在两个浏览器之间协商(或重新协商)如何在连接通道中表示媒体, 当从本地或远端发出或删除媒体请求时, 可请求浏览器生成响应的 RTCSessionDescription
对象(此容器存放会话描述, 即有关如何建立媒体会话的信息), 用于表示所有通过对等连接传输的所有媒体集合
Related Issues not found
Please contact @bajiu to initialize the comment