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
是你的网页地址,本地目录
是一个本地目录,用于存储浏览器的配置信息。
此外,Chrome中有一个参数,打开 chrome://flags
界面,搜索unsafe
,可以找到unsafely-treat-insecure-origin-as-secure
,将该参数启用,它会将不安全的源视为安全的源。
一般来说,信令是基于Websocket实现的,同样,在http://
地址上,使用ws://
协议,而在https://
网址上,则使用wss://
协议,不能混用。