在兼顾多平台的开发时,我们对EasyRTC的测试仍然没有停止。在测试EasyRTC-MCU版本期间,用户进入会议室偶尔会出现黑屏现象,但屏幕仍会间接性出画面,同时伴随闪烁问题。
针对该问题TSINGSEE青犀视频开发人员检查了后台页面,未出现报错问题,因此可以排除代码问题。随后检查后端打印日志,也并未发现异常,最后对比FreeSwitch demo的websocket通讯数据,发现是新增了一个Authentication Required的尝试认证请求,但是我们并没有及时添加该请求。
在加上这个请求后,再次运行后服务即可恢复正常了。
//获取认证
getRequired() {
if (webSocketOnSet) {
const jsons = {
id: _current_id++,
jsonrpc: '2.0',
method: 'login',
params: {
sessid: uuidV1,
}
}
this.webstock.send(JSON.stringify(jsons))
// this.callFunction({ status: 'success', type: 'event', message: 'login' })
} else {
// this.callFunction({ status: 'error', type: 'event', message: '请先建立websocket联系!' })
}
}
FreeSWITCH是一个电话的软交换解决方案,可以用作交换机引擎、PBX、多媒体网关以及多媒体服务器等,EasyRTC就是基于FreeSWITCH进行的视频语音聊天驱动。
EasyRTC的视频传输总体可划分成三个部分:
1.用户端通过使用手机、电脑等终端设备,向EasyRTC推送数据流;
2.EasyRTC视频会议云服务通过降噪、增加、回声消除等手段处理接收的数据流,再推送给其他终端的用户;
3.客户端(Windows、Android、iOS、H5)接收EasyRTC传出的数据,从而完成一整个视频通话。
关于EasyRTC的两个版本均可以测试,欢迎了解。