一:配置java项目所需的库文件,库文件的配置分为两种方案

方案1 :将需要的库文件放到系统的 /usr/lib下,HCNetSDKCom文件夹下的文件也copy到 /usr/lib下

方案2:

2.1: 进入/etc/profile下,将自己java工程需要的so文件的路径:如下

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/aa/java/LinuxJavaDemo/libs:/home/aa/java/LinuxJavaDemo/libs/HCNetSDKCom

注意:/home/aa/java/LinuxJavaDemo/lib 改路径为存放so文件以及HCNetSDKCom文件夹的路径,export 与LD_LIBRARY…在一行上

退出后,使用source /etc/profile使环境变量生效

2.2:进入/etc/ld.so.conf下,加入java工程所需要的so文件,如下:

/home/aa/java/LinuxJavaDemo/libs

/home/aa/java/LinuxJavaDemo/libs/HCNetSDKCom

使用ldconfig命令使配置生效

二:SDK的具体调用

SDK中提供了很多模块的接口,如预览模块、回放和下载模块等的接口,根据文档接口的说明实现模块功能,本次拿云台控制模块中的云台基本控制来作为例子

①初始化sdk:获得sdk对象,进行初始化,如下

private HCNetSDK sdk = HCNetSDK.INSTANCE;

sdk.NET_DVR_Init();

②注册设备

在sdk接口文档中有好几种实现注册的接口,参数的具体含义也给出了,根据情况选择接口实现注册,我选择的是NET_DVR_Login_V30接口实现注册,接口位置在文档下的基本接口定义

-> 用户注册

NET_DVR_DEVICEINFO_V30 lpDeviceInfo = new NET_DVR_DEVICEINFO_V30();

//注册

id = sdk.NET_DVR_Login_V30(ip, port, username, password, lpDeviceInfo);

实现云台基本控制的接口总共有四个接口,大致分为两大类,开启预览和不开启预览,而每一类又有两个接口,分别是能设置速度和不能设置速度,本次以开启预览不设置速度作为示例

③开启预览

开启预览的接口会根据sdk版本的不同而有所变化,本次示例中用的是NET_DVR_RealPlay_V30这个接口,具体参数查看接口文档,位置在文档下的基本接口定义 -> 实时预览

NET_DVR_CLIENTINFO lpClientInfo = new NET_DVR_CLIENTINFO();

lpClientInfo.hPlayWnd = null;

lpClientInfo.lChannel = Channel;

lpClientInfo.lLinkMode = new NativeLong(0);

lpClientInfo.sMultiCastIP = null;

FRealDataCallBack_V30Imple fRealDataCallBack_V30 = new FRealDataCallBack_V30Imple();

handel = sdk.NET_DVR_RealPlay_V30(id, lpClientInfo, fRealDataCallBack_V30, null, false);

④云台控制

本次示例使用 NET_DVR_PTZControl接口,参数 LONG lRealHandle,DWORD dwPTZCommand, DWORD dwStop,dwPTZCommand 云台控制命令,可以实现云台的控制,具体命令请查看文档,再此不一一列举。dwStop参数实现了云台控制的开启和结束,1为结束,0为开始

sdk.NET_DVR_PTZControl(handel, comment, 0); //开启控制,comment为云台控制命令

sdk.NET_DVR_PTZControl(handel, comment, 1);//结束云台控制,comment为云台控制命令,因与开启时的命令一致

⑤结束预览

结束预览的接口为NET_DVR_StopRealPlay,参数为开启预览接口的返回值

boolean b1 = sdk.NET_DVR_StopRealPlay(handel);

⑥注销设备

//注销设备使用的是NET_DVR_Logout接口,参数为注册接口的返回值

boolean b2 = sdk.NET_DVR_Logout_V30(id);

⑦释放SDK资源

//释放SDK资源,调用NET_DVR_Cleanup接口实现,无需传递参数。

boolean b2 = sdk.NET_DVR_Cleanup();

注意:每个接口调用,可以根据其返回值判断是否成功,不同的接口返回值有所不同,具体可以查看文档,在出现错误的情况下,可以使用NET_DVR_GetLastError接口来获得操作的错误码,根据错误码去查询网络通讯库错误码表,即可查看错误原因。NET_DVR_GetLastError位置在文档下的基本接口定义-> SDK本地功能 ->获取错误信息

海康 linux java demo_Linux下调用海康SDK(java版)相关推荐

  1. linux64下调用海康sdk(=登陆、获取通道列表、获取文件列表、按照文件下载文件、按照时间下载文件)

    linux下调用海康sdk 1.库文件的配置 mkdir /data/hk_sdk/ cd /data/hk_sdk/将海康SDK的lib文件夹复制到/data/hk_sdk/下 lib文件下面的结构 ...

  2. java接口方式调用海康大华摄像机预览。

    客户有海康和大华的监控设备,没有买各类安防平台,国标方式需要预留给其他需要接入的系统,得兼容高版本chrome,询问了大华的客服人员,最后选择了该方案进行解决,记录下曲折的过程.延迟大约10秒的样子, ...

  3. java web页面调用海康摄像头

    之前做过web页面调用海康显示4个摄像头.网上web调用的确实比较少,我做的时候参考了http://blog.csdn.net/lucius93/article/details/75308165,但也 ...

  4. java如何查看调用记录_查看Java记录

    java如何查看调用记录 JEP 359 (可在JDK 14中用作预览功能)将记录引入Java. 记录是对普通数据聚合建模的简单方法. 一个简单的范围记录如下所示: record Range( int ...

  5. java同步异步调用_详解java 三种调用机制(同步、回调、异步)

    1:同步调用:一种阻塞式调用,调用方要等待对方执行完毕才返回,jsPwwCe它是一种单向调用 2:回调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口: 3:异步调用:一种类似消 ...

  6. PVF(PGI Visual Fortran) 安装以及openacc在linux和window下调用

    1.  PVF(PGI VisualFortran)安装 1.首先下载软件到这个地址: http://www.pgroup.com/support/download_pgi2015.php 因为已经安 ...

  7. linux 退出java,linux kill命令下如何优雅的退出java程序

    实现SignalHandler kill命令常用信号(之后代码会用到):HUP 1 终端断线 INT 2 中断(同 Ctrl + C) QUIT 3 退出(同 Ctrl + \) TERM 15 终止 ...

  8. java进程里面调用方法_在java里面调用CUI程序的方法

    在java里面调用CUI程序的方法推荐查看本文HTML版本 在java里面调用CUI程序的方法 问题描述: 该函数在win平台上面调用不是很成功,GUI会可以调出来,但可能和屏蔽调其中的一些用 ...

  9. Java使用JNA调用C的SDK

    案例中用到的jar包,javacv1.2,opencv3.0 java模仿c的结构体,保存身份证信息 package com.aast.service;import java.util.ArrayLi ...

最新文章

  1. 论文《Attention Is All You Need》及Transformer模型
  2. ASP.NET MVC开发,编辑页面和添加页面基本相同,我们控制器 Add Edit是共用同一个View吗?...
  3. 标准C程序设计七---53
  4. 裴蜀定理(note)
  5. Exchange Server 2003邮件服务器系统的基本部署思路
  6. 神经架构搜索(Neural Architecture Search,NAS)介绍
  7. python接口自动化(三十五)-封装与调用--流程类接口关联(详解)
  8. ajax实例详解(2)
  9. 常见的Ajax写法汇总
  10. pycharm生成exe文件及关联ico图标
  11. 怎么快速的把CAD文件转化为MAPGIS详细步骤
  12. 计算机sci检索,计算机方向国内EI检索、SCI检索的期刊目录
  13. 电脑蓝屏怎么解决0x0000007b,解决电脑蓝屏问题
  14. leaflet地图生成图片下载
  15. linux双显卡配置_linux双显卡解决方案
  16. matlab excel 新建sheet,matlab excel的sheet增加,重命名操作
  17. ava.net.ConnectException: Connection refused: connect
  18. 学历的事情,你要反省,太没有效率,太托,托墨迹,太没有决断力,太TM纠结了。
  19. PyDev for Eclipse 简介
  20. vue实战-产品详情页(轮播图、放大镜)

热门文章

  1. 2022-2028全球便携式X射线探测仪行业调研及趋势分析报告
  2. QT error: LNK2019: 无法解析的外部符号 __imp__SendMessageW@ 类型的错误 以及 pragma comment 的作用(用法)
  3. Delphi XE10.4 TrayIcon托盘
  4. 具体芯片的I2C_Adapter驱动分析
  5. python面向对象实例王者荣耀_PYTHON-面向对象-练习-王者荣耀 对砍游戏
  6. 看过的最好的护肤心得 续
  7. Matlab滤波器的设计
  8. PooledDataSource forcefully closed/removed all connections的解决
  9. 基于FactorySimulation的汽车总装及物流配送过程仿真示例
  10. MAC MySql 安装(详细步骤)