EasyNVR通过在线状态搜索条件搜索通道出现数据不正确的问题排查

EasyNVR视频监控综合管理平台支持多种格式视频流的直播播放,包括HLS、FLV、RTSP等,今年我们在此基础上又开发了WebRTC格式的播放,并且将该格式拓展到其他平台,比如EasyGBS。EasyNVR中的各项功能都具有项目中实际的实用性,如果大家有兴趣可以直接下载测试。

大家知道最新版的EasyNVR有通道搜索功能,且可以根据通道编号或者通道在线与否进行搜索,但是我们测试发现在通道列表中通过在线状态搜索条件搜索通道时,会出现通道数据不正确的问情况。

查找代码后发现是因为数据库为分页查询,每次只查找少量固定的数据,在查找到的数据中进行是否在线判断,而数据库里的在线数据并不是实时更新的,所以更新列表里显示的数据总是会小于等于真实的在线数据。

解决方法:

在获取视频帧的时候设置了在线回调函数,更改在线状态,这个状态是实时更新的,所以可以在这个回调函数里更新数据库里的在线状态,把和数据库里不相同的状态进行更新。

这时回到前端进行检查,通道数量就能够正确显示了。

原文地址:https://www.cnblogs.com/EasyNVR/p/15459494.html