ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

海康sdk 出现问题摄像头中断问题

2021-09-28 11:31:46  阅读:300  来源: 互联网

标签:11 拍照 userid 错误码 海康 接口 摄像头 sdk


背景:有三个摄像头  一个没有用  但是登陆的时候检测是否在线,还有一个监控摄像头用于录制视频,还有一个拍照摄像头。每个摄像头对应的democapture 存储于map 对象中,理想情况下 只需登陆一次,后续调用直接拿map中存储的对象。除非拍照失败等原因会,initsdk   login camera 

现场情况:偶现 拍照摄像头 掉线,同时监控摄像头也掉线  只能重启容器才能解决,网络良好   测试环境没有复现

解决过程:

1.原本demoCapture  中日志不完全,现在给每个sdk接口调用后 都打印  

hCNetSDK.NET_DVR_GetLastError()

2.现场返回的日志显示:拍照摄像头usrID 有23  然后拍照时报 错误码11  参数错误,问了海康的技术  userid 0-2047

 

 但是还是怀疑这个userid  导致的错误码11 ,因为只有这个参数的变化引起了这个问题。

3.仔细分析日之后得出结论:

监控摄像头运行一段时间报 5  设备总的连接数超过最大。例如网络摄像机只支持6路预览,预览第7路即会返回失败,错误码返回5。不同设备性能不一样,支持路数也不同。

导致sdk 重新初始化  所有摄像头重新登录  userid持续增加  拍照摄像头userid 增到20左右开始报错误码11 

4.两个思路解决

4.1 userid 为什么会init后还叠加 :问了海康技术,

 

 发现我的cleanup  和init不在一个线程导致,遂更改代码,cleanup 后直接调用init  j解决此问题

4.2 解决 监控摄像头报5 的问题,因为摄像头版本的问题  还没解决 所以把这个接口调用分到了另外一个容器,不要影响拍照摄像头

4.3 其余问题:

NET_DVR_StopSaveRealData(lRealHandle);

这个接口之前没有判断参数,-1  或者null的时候也会报11错误码,后面判断了一下

hCNetSDK.NET_DVR_Logout_V30(this.userId)

这个接口一定要在前面接口执行完后执行 不然会报错误码12  但是返回是true  应该退出成功了。

 

 



 

标签:11,拍照,userid,错误码,海康,接口,摄像头,sdk
来源: https://www.cnblogs.com/xiatc/p/15347060.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有