XRTC开发文档

综述

XRTC JS SDK 可以直接在浏览器中使用。XRTC JS SDK 底层使用 Websocket 与 XSwitch 后台通信,使用长连接,使用 Verto 协议与后台通信。

XRTC JS SDK 可以使用以下方式鉴权:

  • 用户名/密码:该方式主要用于客户端与后台通信(C-S 架构),因为在流量器端保存密码通常不够安全。
  • 用户 Token 登录:推荐的登录方式,可以订阅事件和发送命令。
  • 分机 Token 登录:分机 Token 主要是为了区分多个 WebRTC 分机的情况下使用。

具体的登录和鉴权方式可以参考XSwitch 认证和鉴权接口

环境要求

XRTC SDK 支持标准的 WebRTC 通信,支持主流的浏览器,如最新版本的 Google Chrome、Microsoft Edge、FireFox、Safari 等。

使用 WebRTC 的网页要求必须有一个安全的源(origin),通常认为以下源是安全的:

  • localhost://
  • file://
  • https://

如果使用https://,则必须有合法的 HTTPS 证书,否则,浏览器会拒绝连接,或无法打开音视频输入设备(如麦克风或摄像头等)。

简言之,在生产环境中,网页必须使用 HTTPS 协议才可以启用 WebRTC。但有时候为了开发调试方便,使用 HTTP 协议时,允许在localhost网址上的网页启支 WebRTC,有时候本地file://地址也可以。

在 macOS 等平台上,在第一次使用时还需要浏览器向系统申请打开这些音视频输入设备的权限,以及共享桌面的权限等。

除此之外,有些版本的 Chrome 浏览器还有个命令行参数,可以允许在任何网址上启用 WebRTC:

chrome --unsafely-treat-insecure-origin-as-secure="http://ip:port" --user-data-dir=本地目录

其中,ip:port是你的 HTML 网页地址,本地目录是一个本地目录,用于存储浏览器的配置信息。

此外,Chrome 中有一个参数,打开 chrome://flags 界面,搜索unsafe,可以找到unsafely-treat-insecure-origin-as-secure,将该参数启用,它会将不安全的源视为安全的源。

一般来说,信令是基于 Websocket 实现的,同样,在http://地址上,使用ws://协议,而在https://网址上,则使用wss://协议,不能混用。

欢迎