设备通过大华SDK接入EasyCVR,添加预置位出现崩溃是什么原因?

2022-09-23 16:47:42 浏览数 (1)

视频融合平台EasyCVR可支持多类型设备、多协议方式接入,包括主流标准协议国标GB/T28181、RTMP、RTSP/Onvif协议等,以及厂家私有协议,如海康SDK、大华SDK、海康Ehome等。平台可将接入的流媒体进行处理及分发,分发的视频格式包括RTSP、RTMP、FLV、HLS、WebRTC等。

今天和大家分享一下我们在对接大华SDK时,添加预置位出现崩溃现象的原因分析及解决方法。

将设备通过大华SDK接入到EasyCVR视频融合平台,在添加大华预置位时,出现了程序崩溃现象。登录大华摄像机后台发现,预置位已经设置成功,没有进行预置点标题修改。如下图,大华设备的后台预置点显示设置成功:

原因分析及排查:

1)首先查看EasyCVR的代码。先添加预置位,再进行预置位名称修改,如下所示:

这时发现,添加预置位没有问题,问题出在设置预置点的名称上。

2)进入c 代码进行调试。在调试中发现,将添加预置点和修改预置点按照EasyCVR代码中的设置,当修改预置点名称时会出现崩溃。如下图:

3)在崩溃之前打印断点调试。将解析的预置点名称的字节数,放到内存中查看,内存数据如下:

4)在内存数据中发现是一个json数据,但是table这个字段数组中,其中数组中有null这个值,所以在解析时会出现程序崩溃现象。

5)解决办法:在解析json时,加个NULL判断,即可解决崩溃问题,如下图:

EasyCVR基于云边端一体化架构,可在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,并提供视频直播、录像、云存储、检索与回放、服务器集群、级联、云台控制、告警上报等功能。平台应用场景广泛,目前已经在大量的线下项目中落地应用,包括智慧工地、智慧安防、智慧工厂、智慧园区等。感兴趣的用户可以前往演示平台进行体验或部署测试。

0 人点赞