本文主要是介绍网络穿透/云端组网/视频RTMP推流服务平台EasyNTS上云网关经常掉线重连如何解决?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
TSINGSEE青犀视频研发团队前段时间将RTMP推流功能集成到了EasyNTS上云网关内,EasyNTS不仅可以支持网络穿透、云端组网,现在也能够作为视频推流辅助设备,将RTSP、RTMP、HTTP、HLS拉取到本地并推到RTMP流媒体服务器上。
近期TSINGSEE青犀视频研发团队在配置EasyNTS上云网关的硬件时,发现设备在上线到EasyNTS管理平台后,运行无规则的时间内会出现短时间的下限,随后上线。在使用上,这种情况会造成配置的不便。
我们排查到推流服务运行,才发现在推流的时候统计流量的时候,因为读锁和写锁出现冲突,造成死锁,导致系统卡死,然后重启。
因此解决方法就是,在遍历map集合的操作,变成读取数据库的操作这样可以避免在遍历map集合时候读取和写入操作出现冲突。参考代码如下:
func Sate() {var channels []*do.TChannelInfodao.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加密协议,具有运算速度快,安全性高,资源损耗低的优势,在银行政府等机构广泛使用,高性能,高可用。如果大家对此感兴趣,欢迎联系我们了解咨询。
这篇关于网络穿透/云端组网/视频RTMP推流服务平台EasyNTS上云网关经常掉线重连如何解决?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!