• 网络穿透/云端组网/视频RTMP推流服务平台EasyNTS上云网关经常掉线重连如何解决?


    TSINGSEE青犀视频研发团队前段时间将RTMP推流功能集成到了EasyNTS上云网关内,EasyNTS不仅可以支持网络穿透、云端组网,现在也能够作为视频推流辅助设备,将RTSP、RTMP、HTTP、HLS拉取到本地并推到RTMP流媒体服务器上。

    近期TSINGSEE青犀视频研发团队在配置EasyNTS上云网关的硬件时,发现设备在上线到EasyNTS管理平台后,运行无规则的时间内会出现短时间的下限,随后上线。在使用上,这种情况会造成配置的不便。

    我们排查到推流服务运行,才发现在推流的时候统计流量的时候,因为读锁和写锁出现冲突,造成死锁,导致系统卡死,然后重启。

    因此解决方法就是,在遍历map集合的操作,变成读取数据库的操作这样可以避免在遍历map集合时候读取和写入操作出现冲突。参考代码如下:

    func Sate() {
       var channels []*do.TChannelInfo
       dao.DB().Find(&channels)
       for _, v := range channels {
          if v.IsEnable == 1 {
             stream.SetClientRateSin(fmt.Sprintf("%s - 拉流", v.Name), stream.GetClientRate(fmt.Sprintf("%s - 拉流", v.Name))/5)
             stream.DelClientRate(fmt.Sprintf("%s - 拉流", v.Name))
          }
       }
    }
    

    修改后再次运行EasyNTS上云网关,设备保持正常在线。

    EasyNTS视频上云网关平台采用MQTT加密协议,具有运算速度快,安全性高,资源损耗低的优势,在银行政府等机构广泛使用,高性能,高可用。如果大家对此感兴趣,欢迎联系我们了解咨询。

  • 相关阅读:
    openssh升级到openssh-7.5p1踩坑
    office online server部署和简单操作
    aspnetmvc和aspnetcoremvc的一些区别
    office web app server部署和简单操作
    PHP之cURL
    认识PHP的全局变量
    认识Linux系统/etc/hosts
    git学习——stash命令(4)
    Linux netstat命令
    phpstorm+xdebug
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/14062313.html
Copyright © 2020-2023  润新知