GithubHelp home page GithubHelp logo

hikvision-control's Introduction

hikvision-control

实现hikvision网络摄像机的登录、云台旋转控制、实时图片截取功能。

库文件安装

将src-dll文件夹中的文件拷贝到系统的库文件目录,主意文件名称不要进行修改。

windows7,windows server目录如下:

C:\Windows\System32

当然你也可以自己定义库文件加载的路径,不过就需要修改com.hxh.hikvision.api.HCNetSDK.java中的如下代码:

HCNetSDK INSTANCE = (HCNetSDK) Native.loadLibrary("path/HCNetSDK",HCNetSDK.class);

其中path为HCNetSDK库文件的根目录绝对路径地址。

如何使用

将src-lib中的jar拷贝到项目lib目录中,将com.hxh.hikvision.api拷贝到项目源代码目录中。

示例代码如下:

// 创建登录对象
LoginPlay lp = new LoginPlay();
// 输入摄像机ip,端口,账户,密码登录
lp.doLogin("218.206.13.27", (short)8000, "admin", "12345");
	
// 截取摄像机实时图片
Control.getImgSavePath("218.206.13.27", "C://img/2.jpg");
// 制摄像机云台控制(开启)
Control.cloudControl("218.206.13.27", CloudCode.PAN_LEFT, CloudCode.SPEED_LV6, CloudCode.START);
try {
	// 让云台运行1000ms
	Thread.sleep(1000);
} catch (InterruptedException e) {
	e.printStackTrace();
}
// 制摄像机云台控制(关闭)
Control.cloudControl("218.206.13.27", CloudCode.PAN_LEFT, CloudCode.SPEED_LV6, CloudCode.END);

api说明

LoginPlay

boolean doLogin(String ip, long port, String username, String password)

登录到摄像机,登录成功后将会缓存该摄像机登录对象。后续的所有操作都必须建立在该摄像机已经登陆的前提下才能正确完成。

Control

boolean getImgSavePath(String ip, String savepath)

截取摄像机实时画面,ip为已经登陆的摄像机ip地址,savepath截取图片保存的具体目录位置。

主意:该方法不会建立文件夹目录,如目录不存在需要自己建立。

boolean cloudControl(String ip, CloudCode code1, CloudCode code2, CloudCode code3,)

摄像机云台控制,ip为已经登陆的摄像机ip地址,code1为云台控制方向,code2为云台运行速度,code3为控制是否为停止操作。

异常处理

我在 windows server 64 位系统中运行出现 com.sun.jna.Native 无法加载 HCNetSDK 库文件的异常。

经过各种实验排查,最后发现是因为系统安装的 JDK 版本为 64 位版本,将 JDK 替换为 32 为版本后就一切正常了。

hikvision-control's People

Contributors

igoer avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.