• 音视频通话系统/企业级私有化部署视频会议系统EasyRTC-MCU进入会议室画面闪烁问题修复


    在兼顾多平台的开发时,我们对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的两个版本均可以测试,欢迎了解。

  • 相关阅读:
    编译redis时 提示make cc Command not found
    【netty】Netty系列之Netty百万级推送服务设计要点
    [nginx]Nginx禁止访问robots.txt防泄漏web目录
    【linux】 linux 查看系统信息
    [spring] java.lang.reflect.MalformedParameterizedTypeException
    【spring】non-compatible bean definition of same name and class
    【java】serialVersionUID作用
    【架构】生成全局唯一ID的3个思路,来自一个资深架构师的总结
    [linux]BASH 的基本语法
    [linux] linux 破解版confluence安装
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/14659095.html
Copyright © 2020-2023  润新知