视频融合平台EasyCVR视频流出现报错该如何解决?

2022-10-31 10:50:00 浏览数 (1)

EasyCVR具备较强的视频能力,可支持海量设备接入、汇聚与管理、视频监控、视频录像、云存储、回放与检索、智能告警、平台级联等功能。平台可支持多协议接入,包括:国标GB/T28181、RTMP、RTSP/Onvif协议,以及厂家的私有协议,如:海康Ehome、海康/大华/华为/宇视/萤石/乐橙SDK等,可覆盖市面上大多数的视频源设备。

有用户反馈,在EasyCVR平台中集成设备宇视sdk时,刚开始运行播放流就出现以下报错:“fatal error: sync: RUnlock of unlocked RWMutex”。

收到反馈后,技术人员立即开展排查与解决:

1、从图中的报错信息得知: 在source_unv_export.go的第13行代码有错误,详细如下:

2、查看“UNVStreamMapLocker和UNVStreamMap”的定义,如下图:

3、从图中可以看出,写法是没有问题的,于是只能修改代码:

4、修改代码后,运行程序是正常的,于是根据以下操作即可解决问题:

从排查得出,原来的代码为:UNVStreamMapLocker.RLocker(),修改的代码为:UNVStreamMapLocker.RLock()。

而其中函数多出来“er”,在读锁的时候没有进行锁,所以在释放锁的时候出现了报错。

EasyCVR平台可对前端接入的设备进行统一管理,并能支持采用设备树对设备进行分组、分级、用户与角色权限管理,可支持设备状态监测、云端运维等功能,实现对海量接入资源的集中控制与权限分配。平台应用场景广泛,目前已经在大量的线下项目中落地应用,包括智慧工地、智慧安防、智慧工厂、智慧园区等。

0 人点赞