RTSP协议视频云计算服务平台EasyNVR开启国标级联显示 Not Running优化

今年年初,我们将EasyNVR的功能做了精进,EasyNVR目前也支持国标GB28181协议的级联了,如果大家想更多了解EasyNVR的级联功能,可以通过EasyNVR+EasyGBS的方案进行测试。

我们的研发人员在测试EasyNVR国标级联功能时,开启国标级联功能后,连续多次保存点击后,国标级联状态永远显示Not Running,针对此问题我们进行了排查。

国标级联功能的开启,需要先向原先的国标级联上级发送 bye 消息,然后启动国标级联模块,此时的消息是用户点击功能后接收到的消息。但是如果频繁点击国标级联功能,在上一次正在启动国标级联模块的过程中,又收到了新的信息,原本启动的过程就会被迫停止,导致整个系统处于不正常的状态,因此总是显示 Not Running。

为解决该问题,我们需要在调用接口代码中添加以下代码,确认两个配置的启动之间能够留有足够的时间间隔:

if uac.IsStarting() {
   c.AbortWithStatusJSON(400, "上一个配置在启动中,请稍后启动!")
   return
}

如果该模块正在启动中,则直接给返回400错误,这样处理则不会出现系统在Not Running界面卡住的情况。

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