1.从官方下载SDK包 按照自己的环境下载

2.按照readme 将相关dll文件和HCNetSDK.java文件放入自己的项目

我这是把全部的dll文件都搬过来了 放到了自己项目根目录下面

3.java文件肯定会报红 修改文件路径

4.关于包的引用 ,官方sdk的压缩包也有,建议用官方的 这样不会出错

添加对应依赖

com.sun.jna.examples

test

1.0

system

${basedir}/src/main/resources/examples.jar

com.sun.jna

test

1.0

system

${basedir}/src/main/resources/jna.jar

5.自测代码 这里以获取PTZ数据为例

public static void main(String[] args) {

HCNetSDK hCNetSDK = HCNetSDK.INSTANCE;

//加载动态库

HCNetSDK.NET_DVR_CLIENTINFO m_strClientInfo = null;

String m_sDeviceIP = "192.168.9.**";//已登录设备的IP地址

//String m_sDeviceIP = "192.168.9.**";/室内球机

int iPort = 8000;

String username = "**";

String password = "****";

NativeLong lUserID = new NativeLong(-1);;//用户句柄

boolean initSuc = hCNetSDK.NET_DVR_Init();//设备初始化

System.out.println("initSuc:"+initSuc);

lUserID = hCNetSDK.NET_DVR_Login_V30(m_sDeviceIP, (short) iPort,username,password, null);//登陆

System.out.println("lUserID,"+lUserID);

System.out.println("errorInfo,"+hCNetSDK.NET_DVR_GetLastError());

//获取PTZ相关信息

HCNetSDK.NET_DVR_PTZPOS m_ptzPosCurrent = new HCNetSDK.NET_DVR_PTZPOS();

IntByReference ibrBytesReturned = new IntByReference(0);

Pointer pioint = m_ptzPosCurrent.getPointer();

hCNetSDK.NET_DVR_GetDVRConfig(lUserID, HCNetSDK.NET_DVR_GET_PTZPOS,new NativeLong(0),pioint,m_ptzPosCurrent.size(),ibrBytesReturned);

m_ptzPosCurrent.read();

System.out.println("PTZ垂直参数为: "+m_ptzPosCurrent.wTiltPos);

System.out.println("PTZ水平参数为: "+m_ptzPosCurrent.wPanPos);

System.out.println("PTZ变倍参数为: "+m_ptzPosCurrent.wZoomPos);

}

执行结果:

PTZ垂直参数为: 354

PTZ水平参数为: 1589

PTZ变倍参数为: 16

如果执行结果都是000 那么加上 m_ptzPosCurrent.read(); 这样就可以了

6.遇到问题

Structure.getFieldOrder() on class com.ocloud.hkws.HCNetSDK$NET_DVR_PTZPOS does not provide enough names****

遇到这样的报错

解决方法 1.查看 结构体中的字段包权限修饰是否为 public

2.在HCNetSDK.java中添加

后续如果还要集成摄像头相关功能 在进行整理

数字摄像头java sdk_java海康摄像头SDK集成相关推荐

  1. Java版基于springboot+maven海康摄像头sdk抓拍功能的二次开发

    相信在用Java开发海康摄像头的小袁袁都很苦恼官网给的SDK,官方的SDK中有demo,有文档,可那大多都是基于C写的文档,找了半天终于找到一个java版本的,进去一看还是用Jfream写的C/S版的 ...

  2. [转载]海康摄像头sdk与web教程

    [转载]海康摄像头sdk与web教程 原文地址:https://blog.csdn.net/qq_35583089/article/details/80631069 查看原文 感谢大佬的分享,以下为原 ...

  3. 【海康摄像头】海康摄像头SDK下载与使用

    文章目录 一.海康摄像头SDK官网下载 二.海康摄像头SDK在WinForm/WPF中使用 三.常用接口函数,封装调用函数 一.海康摄像头SDK官网下载 1.进入海康ws官网,下载官网SDK和相关文档 ...

  4. 海康摄像头SDK开机启动第一个摄像头不显示问题

    问题描述: 采用Qt调用海康摄像头SDK显示视频,开机软件自启动后第一个摄像头不显示. 原因分析: 第一个摄像头首次启动的时候,不显示视频.软件关闭然后重新打开,所有摄像头都正常显示.尝试发现采用bB ...

  5. 海康摄像头Sdk的使用 java Demo(idea 车牌识别,报警监听)

    最近用到海康摄像头,起初遇到许多问题,发现网上没有比较直观的java demo,现在将其总结下,希望可以帮助大家 初步使用sdk 首先去官方下sdk:http://www.hikvision.com/ ...

  6. Java对接海康摄像头坑点总结

    一.背景 有一批AI摄像头需要部署到客户方,需要实现的功能:1.摄像头实时预览,摄像头安装在不同地点的内网环境,因此需要通过frpc服务器做内网摄像头的代理:2.摄像头smart事件,进入区域.离开区 ...

  7. java连接海康摄像头_Java实现 海康摄像头抓拍图像

    先抱怨一下,打死都想不到,海康的摄像头SDK居然是一个Java类,还有必须的两个jar包(jna.jar,examples.jar).鬼能想得到会这么命名. 下面开始吧. 把从官网下载的SDK(和当前 ...

  8. 海康摄像头web集成播放,ffmpeg+nginx方案

    首先介绍下海康设备对接方案,目前主流的是通过海康的api对接和硬件sdk,api的话需要配套海康的萤石平台或者安防平台,官网可以下载,他们提供健全的api接口满足正常的web浏览器调用,sdk的话对于 ...

  9. 【目标识别】--【截图程序】海康摄像头sdk二次开发自动多摄像头截图程序

    目录 背景: 1.问题 2.截图程序自动化和多通道实现 3.摄像头参数灵活化 至此已经全部结束,运行程序可以看到 背景: 目标识别需要对每一帧图像进行检测,因此我们需要将摄像头获取的视频流转换成单帧图 ...

最新文章

  1. [转] NSMapTable 不只是一个能放weak指针的 NSDictionary
  2. 两组回归系数差异检验_【stata系列】——组间系数差异检验
  3. unbutu安装搜狗输入法【转载】
  4. Sql Server之旅——第三站 解惑那些背了多年聚集索引的人
  5. 前端学习(1728):前端系列javascript之状态栏分析
  6. 第十节: 利用SQLServer实现Quartz的持久化和双机热备的集群模式 :
  7. error while loading shared libraries: libgconf-2.so.4
  8. 重拾MVC——第二天:Vue学习与即时密码格式验证
  9. C#中的正则表达式引擎
  10. An Image is worth 16x16 words:transformers for image recognition at scale
  11. cmake安装mysql
  12. java ir_基本功 | Java即时编译器原理解析及实践
  13. Google Code Review 处理代码审查中的推回
  14. 学习 vi —— “学习清单”式
  15. S5P4418裸机开发(一):相关工具准备
  16. 将硬盘转换成GPT分区格式
  17. UDP是全双工通信的吗
  18. 从官网下载mod_jk.so
  19. 操作系统C语言模拟内存分配算法的模拟实现
  20. 数字IC所用软件及IP分类

热门文章

  1. ArcGIS空间校正和地理配准
  2. Tetragon: Cilium 开源基于 eBPF 的安全可观测性 运行时增强平台
  3. oracle查询最新100条数据
  4. 【php】php开发环境的搭建
  5. Python:使用cv2模块快速生成素描
  6. 读取CDATA的方法
  7. 强制删除正在运行的文件
  8. GraphQL 概念入门
  9. android多个悬浮窗口,android 添加随意拖动的桌面悬浮窗口
  10. docker中没有vi/vim命令