海康网络摄像头二次开发
项目中用到了海康的一款网络摄像头,基于项目自身需求编写软件需要用到海康提供的sdk,通过查看海康提供的示例,决定在第一个分功能示例的基础上进行程序编写。由于我们并没有使用云台,因此将其中的云台控制相关部分裁剪掉即可得到一个简单的图像数据采集、存储及抓图软件。
我采用的开发环境是visual studio 2015,首先需在项目属性中设置好头文件及库文件路径,并设置好到入库,我这里只添加了HCNetSDK.lib在连接器的输入附加依赖项中。程序实现了IP,端口号,用户名和密码的设置以及预览、录像及抓图功能,全部可在示例中找到相关代码,在此不再赘述。下面主要将我遇到的问题总结如下:
在编写完所有功能代码后首次编译,弹出错误码为107,通过度娘找到网友们的解决方案,将库文件中的HCNetSDKCom文件夹和其他dll一样也拷贝至exe文件所在路径下。这样再次编译后又弹出错误码为3,即SDK未初始化,我是基于对话框编写的程序,可在OnInitDialog()中通过NET_DVR_Init()实现SDK的初始化,这个错误绝对不应该!因为这是使用SDK进行开发首先要做的。好吧,改好之后进行第三次编译,再一再二不再三,恩,应该可以了。可是纳尼?有出错了,错误码64,载入当前目录下SDK出错。难道还缺库文件,索性将库文件目录下的dll文件全都拷贝过来,第四次编译,错误码又编程4了,这是通道号错误,设备没有对应的通道号。回过头在构造函数中检查,原来讲通道号初始化成了1,将其改为0,第五次编译,终于成功了!
回过头来刚才报错64的时候我将所有dll都拷贝过来之后问题解决,但问题是有可能只是某个或某几个库的缺失带来的此错误,经过几轮测试,最终确定只需拷贝superrender.dll和audiorender.dll即可。
另外,我将综合示例也移植到了vs2015下,当然,要对sln文件和vcxproj文件做如下修改:
1、修改sln文件中第一行中的版本号,由12.0改为14.0,第二行的vs2013改为2015,第三行的版本号12.0.21005.1改为14.0.25420.1;
2、将clientdemo.vcxproj中第二行的版本由12.0改为14.0;
这样修改后在vs2015下打开,编译报错:
双击错误定位到DLLEXPORT_API所在的行,说明此宏的定义可能有错误,后来查看HCNetSDK.h文件,发现此宏定义如下:
#define DLLEXPORT _API extern"C"_declspec(dllexport),,可以看到问题就出在这里,“C”与_declspec(dllexport)之间缺少空格。修改后再次编译就没有问题了。
海康网络摄像头二次开发相关推荐
- 海康网络摄像头忘记密码_不要忘记网络性能
海康网络摄像头忘记密码 Amazon released a famous statement in the late 2000s stating that every hundred millisec ...
- JavaCV音视频开发宝典:使用JavaCV读取海康平台或海康网络摄像头sdk回调录像回放视频PS码流并解析预览图像
<JavaCV音视频开发宝典>专栏目录导航 <JavaCV音视频开发宝典>专栏介绍和目录 前言 上一章中<JavaCV音视频开发宝典:使用JavaCV读取海康平台或海 ...
- 多路海康网络摄像头数据实时回调(采用软解码方式)
由于项目中需要访问多路海康摄像头的原始图像进行相关处理,搜索了大量的博客,对于多路海康摄像头回调都没有写的很清楚明白,看到此博客的你,静下心来研读下面的内容,你将会很容易调取多路海康网络摄像头. (1 ...
- 海康网络摄像头实时视频预览(流媒体转码推流 red5,nginx-rtmp,ffmpeg)
海康网络摄像头实时视频预览(流媒体转码推流 red5,nginx-rtmp,ffmpeg) 实现思路 获取摄像头rtsp流→流媒体拉流转码推流成rtmp流(网页具备flash可播放)→根据rtmp流地 ...
- [Rtsp]海康网络摄像头基于RTSP协议的windows平台监控
[Rtsp]海康网络摄像头基于RTSP协议的windows平台监控 基于RTSP协议的windows平台监控. 1. 基于RTSP协议的windows平台监控. 1.1 选取海康网络摄像头(支持RT ...
- ubuntu 使用opencv 获取海康网络摄像头视频流
1. 前言 之前在windows平台下使用opencv获取海康网络摄像头的视频流,但是不管怎么设置都无法登录摄像头,导致无法获取摄像头的视频流,但是换到ubuntu又正常了,主要是设置rtsp的格式, ...
- 海康网络摄像头android,海康网络摄像头的Android端Demo
[实例简介]海康网络摄像头的Android端Demo; 可实现通过wifi实时读取并显示摄像头捕捉的画面; [实例截图] [核心代码] /** * DemoActivity Class * @auth ...
- 海康摄像机-新手二次开发
一直对海康摄像机的二次开发感兴趣,之前用Delphi做了些DEMO,能预览和抓图,但太过久远了,海康的SDK与Delphi的开发接口都已经升级了,所以这一回再用Delphi做个通用的Unit.希望对有 ...
- JavaCV音视频开发宝典:使用JavaCV读取海康平台或海康网络摄像头sdk回调视频TS码流并解析预览图像
<JavaCV音视频开发宝典>专栏目录导航 <JavaCV音视频开发宝典>专栏介绍和目录 前言 两年前博主写了如何利用JavaCV解析各种h264裸流,<JavaCV ...
最新文章
- SharePoint 2013 配置基于AD的Form认证
- linux Hadoop HDFS NameNode进程重启脚本(linux进程通用)
- 聊聊我对开发项目选技术的看法
- linux pandas教程_竞赛中的Docker使用教程
- ico图标下载 ico大全_我们可以做些什么来向ICO投资者保证我们不会用他们的钱消失...
- Mysql学习总结(6)——MySql之ALTER命令用法详细解读
- 单元格填充为0的html,Excel如何在数据信息表中把空单元格填写为数字“0”
- 小小的 API 如何创造出 3.5 亿美元的价值?
- dart基础之异步编程
- [转]static和final的区别
- Excel高级函数应用总结
- 十进制转换为其他进制(c语言)
- 【转】游戏项目管理经验
- python爬去新浪微博_python 爬取新浪微博信息
- EXCEL——提取身份证中的出生年月日
- 189邮箱smpt服务器,客户端软件配置-帮助中心-中国电信189邮箱
- 户外便携吹尘器方案浅析
- prometheus+grafana监控rabbitmq
- 科技进步计算机开机速度,笔者教你电脑开机慢怎么办
- nodejs--process
热门文章
- 如何在服务器上挂载固态硬盘
- 如何测出PAT 测试点的测试数据?
- 学好ps应该怎么做?这几点你必须知道
- 谈一谈|下载软件的门道你懂吗?
- glibc全局构造与析构(解释了_do_global_ctors_aux)----写的相当不错!!!
- 关于mt6572不能开机问题
- 网吧 开始-》运行 被禁用之破解方法
- android新浪微博授权登录签名
- Carthage集成工具使用
- idea 出现 Failure to find org.eclipse.m2e:lifecycle-mapping:pom:1.0.0 in http://maven.aliyun.com/