EasyGBS是基于GB28181协议的视频平台,拥有视频直播、录像、存储、检索与回放、云台控制、告警上报、语音对讲、平台级联等功能。平台可提供流媒体接入、处理、转发等服务,支持内网、公网的监控设备通过国标GB/T28181协议进行视频监控直播。
现有用户反馈,其定制版EasyGBS在使用多线程录像查询时,宇视sdk录像查询会出现错误码4128,导致录像查询失败。
收到反馈后,技术人员立即进行了排查。打开日志查询,发现在进行多录像查询时,第一个录像查询返回错误,错误码是:4128;而第二个查询录像则直接返回成功。这说明只有一个录像查询成功。
随后从文档中查看“4128”错误码代表的意思,如下图:
其含义为:在进行多录像查询时,由于上一个录像查询没有完成,就进行下一个查询操作,这样会导致只有一个查询录像会有失败的情况。
找出问题原因后,参照以下操作即可解决:
从文档中得出只有当一个录像查询完成才能进行下个录像查询,在多录像查询的失败加上一把录像查询的锁即可,代码如下:
除了提供API接口供用户调用、集成与二次开发,EasyGBS还能提供个性化定制,以满足用户的多样化功能需求。