package com.nvr.action.sdk;
import com.sun.jna.*;
import com.sun.jna.examples.win32.GDI32.RECT;
import com.sun.jna.examples.win32.W32API;
import com.sun.jna.examples.win32.W32API.HDC;
import com.sun.jna.examples.win32.W32API.HWND;
import com.sun.jna.ptr.ByteByReference;
import com.sun.jna.ptr.IntByReference;
import com.sun.jna.ptr.NativeLongByReference;
import com.sun.jna.ptr.ShortByReference;
import com.sun.jna.win32.StdCallLibrary;
import java.util.Arrays;
import java.util.List;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* HCNetSDK.java
*
* Created on 2009-9-14, 19:31:34
*/
/**
*
* @author Xubinfeng
*/
//SDK接口说明,HCNetSDK.dll
public interface HCNetSDK extends Library {
// HCNetSDK INSTANCE = (HCNetSDK) Native.loadLibrary("D:\\NVR\\CH-HCNetSDKV6.1.4.42_build20200527_win64\\Demo示例\\4- Java 开发示例\\1-ClientDemo\\ClientDemo-NetBeansPro\\HCNetSDK",
// HCNetSDK.class);
HCNetSDK INSTANCE = (HCNetSDK) Native.loadLibrary("/root/CH-HCNetSDKV6.1.6.3_build20200925_Linux64/lib/libhcnetsdk.so",
HCNetSDK.class);
/***宏定义***/
//常量
public static final int COMM_ALARM_RULE = 0x1102;//行为分析信息上传
public static final int VCA_MAX_POLYGON_POINT_NUM = 10;
//行为分析报警
public static class NET_VCA_RULE_ALARM extends Structure
{
public int dwSize;
public int dwRelativeTime;
public int dwAbsTime;
public NET_VCA_RULE_INFO struRuleInfo;
public NET_VCA_TARGET_INFO struTargetInfo;
public NET_VCA_DEV_INFO struDevInfo;
public int dwPicDataLen;
public byte byPicType;
public byte byRelAlarmPicNum; //关联通道报警图片数量
public byte bySmart;//IDS设备返回0(默认值),Smart Functiom Return 1
public byte byPicTransType; //图片数据传输方式: 0-二进制;1-url
public int dwAlarmID; //报警ID,用以标识通道间关联产生的组合报警,0表示无效
public short wDevInfoIvmsChannelEx; //与NET_VCA_DEV_INFO里的byIvmsChannel含义相同,能表示更大的值。老客户端用byIvmsChannel能继续兼容,但是最大到255。新客户端版本请使用wDevInfoIvmsChannelEx。
public byte byRelativeTimeFlag; //dwRelativeTime字段是否有效 0-无效, 1-有效,dwRelativeTime表示UTC时间
public byte byAppendInfoUploadEnabled; //附加信息上传使能 0-不上传 1-上传
public Pointer pAppendInfo; //指向附加信息NET_VCA_APPEND_INFO的指针,byAppendInfoUploadEnabled为1时或者byTimeDiffFlag为1时有效
public Pointer pImage;
}
//布防参数
public static class NET_DVR_SETUPALARM_PARAM extends Structure
{
public int dwSize;
public byte byLevel; //布防优先级,0-一等级(高),1-二等级(中),2-三等级(低)
public byte byAlarmInfoType; //上传报警信息类型(抓拍机支持),0-老报警信息(NET_DVR_PLATE_RESULT),1-新报警信息(NET_ITS_PLATE_RESULT)2012-9-28
public byte byRetAlarmTypeV40; //0--返回NET_DVR_ALARMINFO_V30或NET_DVR_ALARMINFO, 1--设备支持NET_DVR_ALARMINFO_V40则返回NET_DVR_ALARMINFO_V40,不支持则返回NET_DVR_ALARMINFO_V30或NET_DVR_ALARMINFO
public byte byRetDevInfoVersion; //CVR上传报警信息回调结构体版本号 0-COMM_ALARM_DEVICE, 1-COMM_ALARM_DEVICE_V40
public byte byRetVQDAlarmType; //VQD报警上传类型,0-上传报报警NET_DVR_VQD_DIAGNOSE_INFO,1-上传报警NET_DVR_VQD_ALARM
public byte byFaceAlarmDetection;
public byte bySupport;
public byte byBrokenNetHttp;
public short wTaskNo; //任务处理号 和 (上传数据NET_DVR_VEHICLE_RECOG_RESULT中的字段dwTaskNo对应 同时 下发任务结构 NET_DVR_VEHICLE_RECOG_COND中的字段dwTaskNo对应)
public byte byDeployType; //布防类型:0-客户端布防,1-实时布防
public byte[] byRes1 = new byte[3];
public byte byAlarmTypeURL;//bit0-表示人脸抓拍报警上传(INTER_FACESNAP_RESULT);0-表示二进制传输,1-表示URL传输(设备支持的情况下,设备支持能力根据具体报警能力集判断,同时设备需要支持URL的相关服务,当前是”云存储“)
public byte byCustomCtrl;//Bit0- 表示支持副驾驶人脸子图上传: 0-不上传,1-上传,(注:只在公司内部8600/8200等平台开放)
}
//事件规则信息
public static class NET_VCA_RULE_INFO extends Structure
{
public byte byRuleID;
public byte byRes;
public short wEventTypeEx;
public byte[] byRuleName= new byte[NAME_LEN];
public int dwEventType;
public NET_VCA_EVENT_UNION uEventParam;
public void read() {
super.read();
switch (wEventTypeEx) {
case 1:
uEventParam.setType(NET_VCA_TRAVERSE_PLANE.class);
break;
case 2:
case 3:
uEventParam.setType(NET_VCA_AREA.class);
break;
default:
break;
}
uEventParam.read();
}
public void write() {
super.write();
uEventParam.write();
}
}
//警戒规则参数联合体
public static class NET_VCA_EVENT_UNION extends Union
{
public int[] uLen = new int[23];
public NET_VCA_TRAVERSE_PLANE struTraversePlane;
public NET_VCA_AREA struArea;
}
//多边形结构体
public static class NET_VCA_POLYGON extends Structure
{
public int dwPointNum;
public NET_VCA_POINT[] struPos= new NET_VCA_POINT[VCA_MAX_POLYGON_POINT_NUM];
}
//进入/离开区域参数
public static class NET_VCA_AREA extends Structure
{
public NET_VCA_POLYGON struRegion;
public byte[] byRes= new byte[8];
}
//穿越警戒面参数
public static class NET_VCA_TRAVERSE_PLANE extends Structure
{
public NET_VCA_LINE struPlaneBottom;
public int dwCrossDirection;
public byte bySensitivity;
public byte byPlaneHeight;
public byte byDetectionTarget;/*检测目标:0- 所有目标,1- 人,2- 车 */
public byte[] byRes2= new byte[37];
}
//线结构参数
public static class NET_VCA_LINE extends Structure
{
public NET_VCA_POINT struStart;
public NET_VCA_POINT struEnd;
}
//报警目标信息
public static class NET_VCA_TARGET_INFO extends Structure
{
public int dwID;
public NET_VCA_RECT struRect;
public byte[] byRes= new byte[4];
}
public static final int MAX_NAMELEN = 16; //DVR本地登陆名
public static final int MAX_RIGHT = 32; //设备支持的权限(1-12表示本地权限,13-32表示远程权限)
public static final int NAME_LEN = 32; //用户名长度
public static final int PASSWD_LEN = 16; //密码长度
public static final int SERIALNO_LEN = 48; //序列号长度
public static final int MACADDR_LEN = 6; //mac地址长度
public static final int MAX_ETHERNET = 2; //设备可配以太网络
public static final int PATHNAME_LEN = 128; //路径长度
public static final int MAX_TIMESEGMENT_V30 = 8; //9000设备最大时间段数
public static final int MAX_TIMESEGMENT = 4; //8000设备最大时间段数
public static final int MAX_SHELTERNUM = 4; //8000设备最大遮挡区域数
public static final int MAX_DAYS = 7; //每周天数
public static final int PHONENUMBER_LEN = 32; //pppoe拨号号码最大长度
public static final int MAX_DISKNUM_V30 = 33; //9000设备最大硬盘数/* 最多33个硬盘(包括16个内置SATA硬盘、1个eSATA硬盘和16个NFS盘) */
没有合适的资源?快使用搜索试试~ 我知道了~
Java+海康SDK DEMO
共438个文件
class:325个
xml:87个
java:11个
需积分: 39 38 下载量 52 浏览量
2020-12-05
14:11:07
上传
评论 1
收藏 22.74MB 7Z 举报
温馨提示
Java SpringBoot框架+海康SDK Linux版本代码,集成了所需的告警DEMO(存储在influxDB)。有获取该NVR下所有设备的接口,以及获取该NVR下某个时间段的视频文件下载,并转成MP4文件。
资源推荐
资源详情
资源评论
收起资源包目录
Java+海康SDK DEMO (438个子文件)
HCNetSDK.class 82KB
ResultErrorCode.class 31KB
AlarmThread.class 17KB
ActionController.class 15KB
BackAlermThread.class 13KB
HCNetSDK$NET_DVR_CAMERAPARAMCFG_EX.class 5KB
InfluxDBManager.class 4KB
ActionApplication.class 4KB
CommonResult.class 3KB
Config.class 3KB
HCNetSDK$NET_DVR_NETCFG_V30.class 2KB
BackAlermThread$FMSGCallBack.class 2KB
HCNetSDK$NET_DVR_PICCFG_V30.class 2KB
HCNetSDK$NET_DVR_GET_STREAM_UNION.class 2KB
QueueMessage.class 2KB
HCNetSDK$NET_DVR_PICCFG_EX.class 2KB
HCNetSDK$NET_DVR_TIME.class 2KB
HCNetSDK$ENUM_UPGRADE_TYPE.class 2KB
HCNetSDK$NET_ITC_SINGLE_IOSPEED_PARAM.class 2KB
HCNetSDK$NET_DVR_FRAMEFORMAT_EX.class 2KB
HCNetSDK$NET_DVR_ALARMINCFG_V30.class 2KB
HCNetSDK$STRU_CHANNEL_INFO.class 1KB
PlayCtrl.class 1KB
HCNetSDK$NET_DVR_PICCFG.class 1KB
HCNetSDK$NET_DVR_ETHERNET_V30.class 1KB
HCNetSDK$NET_DVR_PLATE_RESULT.class 1KB
HCNetSDK$NET_DVR_IPALARMINFO.class 1KB
HCNetSDK$SEND_MODE.class 1KB
HCNetSDK$NET_DVR_ALARMINCFG.class 1KB
HCNetSDK$NET_DVR_FRAMEFORMAT_V30.class 1KB
USER32.class 1KB
HCNetSDK$NET_DVR_MOTION_V30.class 1KB
HCNetSDK$REALSOUND_MODE.class 1KB
HCNetSDK$NET_DVR_FILECOND_V40.class 1KB
HCNetSDK$NET_DVR_USER_INFO_V30.class 1KB
HCNetSDK$NET_VCA_RULE_ALARM.class 1KB
HCNetSDK$NET_DVR_DDNS_STREAM_CFG.class 1KB
HCNetSDK$_SDK_NET_ENV.class 1KB
HCNetSDK$NET_VCA_RULE_INFO.class 1KB
HCNetSDK$DISPLAY_MODE.class 1KB
HCNetSDK$CAPTURE_MODE.class 1KB
HCNetSDK$NET_DVR_VOD_PARA.class 1KB
HCNetSDK$uStruAlarm.class 1KB
HCNetSDK$NET_DVR_EMAILCFG_V30.class 1KB
HCNetSDK$NET_DVR_NETCFG.class 1KB
HCNetSDK$NET_DVR_WORKSTATE_V30.class 1KB
HCNetSDK$NET_DVR_VIDEOOUT_V30.class 1KB
HCNetSDK$NET_DVR_ISP_CAMERAPARAMCFG.class 1KB
HCNetSDK$NET_DVR_DEVICECFG.class 1KB
HCNetSDK$NET_DVR_RECORD_V30.class 1KB
HCNetSDK$NET_DVR_HIDEALARM_V30.class 1KB
HCNetSDK$NET_DVR_IPPARACFG_V40.class 1KB
HCNetSDK$NET_DVR_FRAMEFORMAT.class 1KB
HCNetSDK$NET_DVR_LOG_V30.class 1KB
HCNetSDK$NET_DVR_VIDEOOUT.class 1KB
HCNetSDK$NET_DVR_WORKSTATE.class 1KB
HCNetSDK$PASSIVEDECODE_CHANINFO.class 1020B
HCNetSDK$NET_DVR_IPSERVER_STREAM.class 1014B
HCNetSDK$NET_ITC_POST_IOSPEED_PARAM.class 1009B
HCNetSDK$NET_DVR_ALARMER.class 998B
HCNetSDK$NET_DVR_DEV_CHAN_INFO.class 968B
HCNetSDK$NET_DVR_VILOST_V30.class 965B
HCNetSDK$NET_DVR_PDC_ALRAM_INFO.class 964B
HCNetSDK$NET_DVR_RECORD.class 963B
ActionApplication$1.class 958B
HCNetSDK$NET_DVR_DECCHANSTATUS$objectInfo$timeInfo.class 954B
HCNetSDK$NET_DVR_PLAYREMOTEFILE$mode_size$bytime.class 949B
HCNetSDK$NET_DVR_COMPRESSION_INFO_V30.class 948B
HCNetSDK$NET_DVR_IPPARACFG.class 944B
HCNetSDK$NET_DVR_MATRIX_DEC_CHAN_INFO.class 943B
HCNetSDK$NET_DVR_MATRIX_DEC_REMOTE_PLAY.class 939B
HCNetSDK$NET_DVR_PPPCFG_V30.class 928B
HCNetSDK$NET_DVR_PREVIEWINFO.class 922B
HCNetSDK$NET_DVR_FINDDATA_V40.class 918B
HCNetSDK$NET_DVR_IPDEVINFO_V31.class 912B
HCNetSDK$NET_DVR_EMAILCFG.class 909B
HCNetSDK$NET_DVR_MATRIX_ROW_COLUMN_LINK.class 893B
HCNetSDK$NET_DVR_MATRIX_LOCAL_HOST_INFO.class 892B
GDI32.class 890B
HCNetSDK$NET_DVR_USER_LOGIN_INFO.class 886B
HCNetSDK$NET_DVR_CHANNELSTATE_V30.class 884B
HCNetSDK$NET_DVR_NETAPPCFG.class 882B
HCNetSDK$NET_DVR_PU_STREAM_CFG.class 875B
HCNetSDK$NET_DVR_VICOLOR.class 874B
HCNetSDK$NET_DVR_HKDDNS_STREAM.class 871B
HCNetSDK$NET_DVR_RS232CFG_V30.class 859B
HCNetSDK$NET_DVR_PLATE_INFO.class 859B
HCNetSDK$NET_DVR_LOG.class 857B
HCNetSDK$NET_DVR_MATRIX_TRAN_CHAN_CONFIG.class 854B
HCNetSDK$NET_DVR_IPADDR.class 844B
HCNetSDK$NET_DVR_MATRIX_TRAN_CHAN_INFO.class 837B
HCNetSDK$NET_DVR_COMPRESSIONCFG_V30.class 830B
HCNetSDK$NET_DVR_MOTION.class 829B
HCNetSDK$NET_DVR_ALARMOUTCFG_V30.class 829B
HCNetSDK$NET_DVR_RECCOMPRESSIONCFG_EX.class 828B
HCNetSDK$NET_DVR_SNAP_CAMERAPARAMCFG.class 822B
HCNetSDK$NET_DVR_IPALARMOUTCFG_V40.class 811B
HCNetSDK$NET_DVR_FINDDATA_V30.class 810B
HCNetSDK$NET_DVR_IPALARMINCFG_V40.class 803B
HCNetSDK$NET_DVR_ALRAM_FIXED_HEADER.class 801B
共 438 条
- 1
- 2
- 3
- 4
- 5
资源评论
蛇皮皮蛋
- 粉丝: 477
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功