宇视SDK在Linux系统中调用不成功的问题排查与解决

Posted TSINGSEE

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了宇视SDK在Linux系统中调用不成功的问题排查与解决相关的知识,希望对你有一定的参考价值。

视频监控是目前安防行业发展最快、最重要的领域,TSINGSEE青犀视频在安防视频监控领域也保持着高速的成长,并逐渐向智能化深度发展。TSINGSEE青犀视频的视频平台除了支持主流标准协议(国标GB28181协议、RTSP/Onvif协议等),还能支持主流厂商的私有协议如海康Ehome/SDK、大华SDK等。我们也在持续拓展更多厂家的私有协议及SDK,以满足用户的不同场景需求。目前我们的视频平台已经在大量的项目场景中落地应用,如智慧工地、智慧工厂、智慧消防、智慧园区、智慧煤矿等。

今天我们来分享一下宇视SDK在Linux里调用不成功情况的排查步骤与解决办法。

我们在集成项目时宇视SDK出现错误码:3862,错误提示宇视SDK初始化失败。

在宇视SDK文档中查看常见的错误码定义,找到3862的错误信息:

初始化错误码(3862)可能是4处的错误引起的,所以要一个个排除。

1)写错端口也会出现3862错误码。但是在使用Wndows测试时,也是填写相同的端口号,并没有出现此错误码,所以可以排除端口错误的问题。

2)XP动态库不存在。此处保留,因为有多种情况(下文分析)。

3)IP不存在。我们在使用Windows填写的相同的IP,也并未出现报错,所以可以排除第三个错误。

4)IE浏览器的安全设置问题。因为是在ubuntu部署的二次开发应用,而ubuntu没有IE的安全设置,所以可以排除第四个错误。

接下来分析第三个错误。

在第三个错误中,动态库没有引用也会导致错误,但是在Windows使用时,也是在同级目录下的库,所以不是此问题导致的。在继续查找Linux文档得知,需要加入2个环境变量。抱着试一试的心态,最后居然成功解决此问题。以下是文档部分(Windows中VS开发是不需要加入环境变量的):

注意:启动程序需要使用最高权限,否则还是初始化失败。

Linux二次部署居然是环境变量的问题。所以在代码中将这2个环境变量加上,就会一劳永逸。代码如下(将宇视库放在与运行程序同级目录下):

TSINGSEE青犀视频依托音视频流媒体领域数年的研发经验与技术积累,已经相继推出支持不同协议的视频平台,涵盖支持ONVIF、RTSP、GB/T28181、RTMP、海康SDK/大华SDK、Ehome等多协议、多路数的流媒体视频服务平台。同时,我们也紧跟市场趋势,在视频平台积极融合AI智能技术,满足用户的视频监控智能化需求,目前EasyCVR已经实现人脸识别、车牌识别等功能,欢迎大家的关注。

以上是关于宇视SDK在Linux系统中调用不成功的问题排查与解决的主要内容,如果未能解决你的问题,请参考以下文章

EasyCVR集成宇视SDK关闭“按需直播”,一直未拉流是什么原因?

宇视录像机系统内部错误

TSINGSEE青犀视频平台如何调用宇视SDK实现摄像机的云台控制?

麒麟系统开发笔记:在国产麒麟系统上搭建宇视摄像头SDK基础环境Demo

麒麟系统开发笔记:在国产麒麟系统上搭建宇视摄像头SDK基础环境Demo

宇视监控要用linux吗