0
点赞
收藏
分享

微信扫一扫

EasyCVR播放一段时间后,界面出现多个“设备正在直播”的提示如何解决?

westfallon 2022-06-16 阅读 45

EasyCVR是我们接入协议最广泛的视频管理平台,除了标准协议GB28181、RTSP/Onvif、RTMP等,还支持厂家的私有协议与SDK,如海康Ehome、海康SDK、大华SDK等,同时我们也还在积极拓展其他主流厂家的SDK,如宇视SDK、华为SDK等。EasyCVR平台也在积极融入视频智能检测分析技术,通过对视频监控场景中的人、车、物进行抓拍、检测与识别,可对异常情况进行智能提醒和通知。

EasyCVR播放一段时间后,界面出现多个“设备正在直播”的提示如何解决?_长连接

有用户反馈,在使用过程中,EasyCVR出现前端播放一段时间后,界面会出现很多正在直播的提示,请求我们排查协助。今天和大家分享一下排查及解决过程。

EasyCVR播放一段时间后,界面出现多个“设备正在直播”的提示如何解决?_保活_02

在排查时发现,原来是前端和后端的长连接一直保持链接,前端调用保活时,会触发长连接信息的传递。

添加如下代码,在前端调用直播和保活接口的时候,判定是首次直播还是保活,如果是保活,则不通过长连接调用传递正在直播的消息给前端。

EasyCVR播放一段时间后,界面出现多个“设备正在直播”的提示如何解决?_保活_03

if value.ChannelType == cvrdo.TypeGB() {
gbschannels := make([]*models.Channel, 0)
q := db.SQLite.Model(models.Channel{}).Where("`index`=?", uint(id))
q.Find(&gbschannels)
if len(gbschannels) != 1 {
c.AbortWithStatusJSON(http.StatusBadRequest, "channel 值错误")
return
}
gbsdevices := make([]*models.Device, 0)
q = db.SQLite.Model(models.Device{}).Where("`index`=?", uint(dev))
q.Find(&gbsdevices)
if len(gbsdevices) != 1 {
c.AbortWithStatusJSON(http.StatusBadRequest, "device 值错误")
return
}
sipDev := uas.Server.GetDevice(gbsdevices[0].ID)
if sipDev == nil {

优化后,再次长时间播放,已经展示正常了,如图:

EasyCVR播放一段时间后,界面出现多个“设备正在直播”的提示如何解决?_sqlite_04

EasyCVR视频融合云服务平台支持多协议、多类型的视频设备接入,包括传统网络摄像机、NVR、编码器、4G车载设备、移动执法仪等设备接入,视频直播观看能够覆盖所有终端,比如PC端、手机端、移动端、电子大屏/电视墙等,可满足多行业多场景的安防监控需求。

EasyCVR播放一段时间后,界面出现多个“设备正在直播”的提示如何解决?_保活_05

此外平台也在积极研发视频人工智能检测与分析功能,包括人脸检测、人脸识别、人流量统计、车辆检测、车牌识别、烟火检测、安全帽检测、行为识别等。感兴趣的用户可以前往演示平台进行体验或部署测试。

举报

相关推荐

0 条评论