宇视录像机系统内部错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了宇视录像机系统内部错误相关的知识,希望对你有一定的参考价值。
参考技术A 宇视的不装插件就进不来后台管理。其实从后面的分析来看,系统不是主要的问题,我们简单从这么个错误提示上来看,估计也只有宇视自己能知道这个错误码到底是啥意思,不得已,我们只能从系统的日志来看问题,毕竟系统日志还是比较专业的:
这里就提示很明白了:imos_mv_sdk.dll缺少了Microsoft.VC90.CRT这个程序集,做过VC开发的就都清楚了,系统不带这个程序集,而安装程序又不自带进来,就导致了ocx注册出错,于是,我们从本地的开发环境中,找到VC90CRT一整套的DLL,直接copy到宇视OCX安装的路径:EasyNVR能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IPCamera、NVR等具有RTSP协议输出的设备接入到EasyNVR,EasyNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发;
麒麟系统开发笔记:在国产麒麟系统上搭建宇视摄像头SDK基础环境Demo
若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/127532255
红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)
国产麒麟系统相关开发
上一篇:《麒麟系统开发笔记(八):在国产麒麟系统上使用linuxdeployqt发布qt程序》
下一篇:敬请期待…
前言
国产麒麟系统开发上,使用宇视摄像头,本篇使用宇视官网的提供的SDK,搭建基础的国产系统上宇视摄像头SDK开发化境Demo。
效果演示
相关博客
《项目实战:Qt球机控制工具 v1.0.0(球机运动八个方向以及运动速度,设置运动到指定角度,查询当前水平和垂直角度)》
《麒麟系统开发笔记(九):在国产麒麟系统上搭建宇视摄像头SDK基础环境Demo》
宇视SDK下载
CSDN粉丝0积分下载地址:https://download.csdn.net/download/qq21497936/86806967
QQ群下载:请回首页加QQ群,QQ群文件搜索"NETDEVSDK"
官方下载地址:https://cn.uniview.com/
模块化部署
引入sdk
在cameraManager.pri引入(非模块化可以直接在pro中添加):
# 引入摄像头头文件和sdk
DEFINES += LINUX
INCLUDEPATH += $$PWD/NETDEVSDK_Linux64_V2.6.0.0/include
LIBS += -L$$PWD/NETDEVSDK_Linux64_V2.6.0.0/lib
LIBS += -lNetDEVSDK
其中LINUX宏是NetDEVSDK.h头文件中需要枚举的,其他为标准引入方法:头文件,库路径,库文件。
运行报错:
这里是因为libNetDEVSDk.so引用了很多其他的库,而这些库sdk的lib中也有,但是需要我们手动引入以下:
按照错误提示,将需要的库引入:
# 引入摄像头头文件和sdk
DEFINES += LINUX
INCLUDEPATH += $$PWD/NETDEVSDK_Linux64_V2.6.0.0/include
LIBS += -L$$PWD/NETDEVSDK_Linux64_V2.6.0.0/lib
LIBS += -lNetDEVSDK
LIBS += -lmxml
LIBS += -lNetDiscovery
LIBS += -lcloud
LIBS += -lpolarssl
LIBS += -lcloudclient
LIBS += -lcloudhttpcurl
LIBS += -levent
LIBS += -lstun
LIBS += -lt2u
LIBS += -lCloudSDK
LIBS += -lNDPlayer
LIBS += -lNDRM
编译报错,继续引入:
成功编译,然后运行:
使用qtcreator运行也需要引入,那么在工程中添加LD_LIBRARY_PATH路径,引入到模块下的lib中,本来还想在Qtcreator运行环境中引入,但是实际上已经有了:
这就奇怪了,已有了运行起来还加载不到,不纠结,使用ldconfig将其添加进系统连接路径:
sudo vi /etc/ld.so.conf
sudo ldconfig
成功运行起来:
使用此种方式,库也无需引入这么多了:
最终cameraManager.pri如下:
INCLUDEPATH += $$PWD
DEPENDPATH += $$PWD
HEADERS += \\
$$PWD/CameraManager.h
SOURCES += \\
$$PWD/CameraManager.cpp
# 引入摄像头头文件和sdk
DEFINES += LINUX
INCLUDEPATH += $$PWD/NETDEVSDK_Linux64_V2.6.0.0/include
LIBS += -L$$PWD/NETDEVSDK_Linux64_V2.6.0.0/lib
LIBS += -lNetDEVSDK
# 新系统后,将sdk的lib目录添加进/etc/ld-so.conf
# 绝对路径另起一行,无include
# 使用ldconfig即可
工程模板
红胖子建议
引入库的方法很多,根据项目情况和自身习惯选择合适自己的即可,但是有一点特别注意,就是项目迁移或者交接源代码的时候,一定要描述清楚,避免交接源码后接收代码着环境搭建都需要细节沟通甚至花费几天,尤其跨项目组部门公司这种,所以,笔者更倾向于直接将库包含进模块,这样笔者交接代码都属于傻瓜式交接,项目交接后都可直接编译修改的,基本不存在任何环境问题。(纯技术角度)
ldconfig引入库方法总结
步骤一:lib绝对文件夹路径获取
步骤二:修改/etc/ld-so.conf,将lib库路径另起一行,填入库文件夹绝对路径一行
步骤三:使用ldconfig
上一篇:《麒麟系统开发笔记(八):在国产麒麟系统上使用linuxdeployqt发布qt程序》
下一篇:敬请期待…
若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/127532255
以上是关于宇视录像机系统内部错误的主要内容,如果未能解决你的问题,请参考以下文章
TSINGEE青犀视频平台如何调用宇视SDK实现视频录像回放?
宇视摄像机接入TSINGSEE青犀视频平台,如何基于SDK获取设备的组织和摄像机?