Browse Source

fix

master
winter 6 months ago
parent
commit
00440e8223
71 changed files with 12762 additions and 12 deletions
  1. +0
    -0
      bjairService/lib/AudioRender.dll
  2. +0
    -0
      bjairService/lib/ClientDemo.exe
  3. +0
    -0
      bjairService/lib/ClientDemoDll/ReadMe.txt
  4. +0
    -0
      bjairService/lib/ClientDemoDll/calib.dll
  5. +0
    -0
      bjairService/lib/ClientDemoDll/iconv.dll
  6. +0
    -0
      bjairService/lib/ClientDemoDll/libcrypto-1_1-x64.dll
  7. +0
    -0
      bjairService/lib/ClientDemoDll/libssl-1_1-x64.dll
  8. +0
    -0
      bjairService/lib/ClientDemoDll/libxml2.dll
  9. +0
    -0
      bjairService/lib/ClientDemoDll/zlib1.dll
  10. +0
    -0
      bjairService/lib/DataType.h
  11. +0
    -0
      bjairService/lib/DecodeCardSdk.h
  12. +0
    -0
      bjairService/lib/GdiPlus.dll
  13. +0
    -0
      bjairService/lib/GdiPlus.lib
  14. +0
    -0
      bjairService/lib/HCCore.dll
  15. +0
    -0
      bjairService/lib/HCCore.lib
  16. +0
    -0
      bjairService/lib/HCNetSDK.dll
  17. +0
    -0
      bjairService/lib/HCNetSDK.h
  18. +0
    -0
      bjairService/lib/HCNetSDK.lib
  19. +0
    -0
      bjairService/lib/HCNetSDKCom/AnalyzeData.dll
  20. +0
    -0
      bjairService/lib/HCNetSDKCom/AudioIntercom.dll
  21. +0
    -0
      bjairService/lib/HCNetSDKCom/AudioRender.dll
  22. +0
    -0
      bjairService/lib/HCNetSDKCom/HCAlarm.dll
  23. +0
    -0
      bjairService/lib/HCNetSDKCom/HCAlarm.lib
  24. +0
    -0
      bjairService/lib/HCNetSDKCom/HCCoreDevCfg.dll
  25. +0
    -0
      bjairService/lib/HCNetSDKCom/HCDisplay.dll
  26. +0
    -0
      bjairService/lib/HCNetSDKCom/HCGeneralCfgMgr.dll
  27. +0
    -0
      bjairService/lib/HCNetSDKCom/HCGeneralCfgMgr.lib
  28. +0
    -0
      bjairService/lib/HCNetSDKCom/HCIndustry.dll
  29. +0
    -0
      bjairService/lib/HCNetSDKCom/HCPlayBack.dll
  30. +0
    -0
      bjairService/lib/HCNetSDKCom/HCPreview.dll
  31. +0
    -0
      bjairService/lib/HCNetSDKCom/HCPreview.lib
  32. +0
    -0
      bjairService/lib/HCNetSDKCom/HCVoiceTalk.dll
  33. +0
    -0
      bjairService/lib/HCNetSDKCom/OpenAL32.dll
  34. +0
    -0
      bjairService/lib/HCNetSDKCom/StreamTransClient.dll
  35. +0
    -0
      bjairService/lib/HCNetSDKCom/SystemTransform.dll
  36. +0
    -0
      bjairService/lib/HCNetSDKCom/libiconv2.dll
  37. +0
    -0
      bjairService/lib/HXVA.dll
  38. +0
    -0
      bjairService/lib/HmMerge.dll
  39. +0
    -0
      bjairService/lib/LocalSensorAdd.dat
  40. +0
    -0
      bjairService/lib/LocalXml.zip
  41. +0
    -0
      bjairService/lib/MP_Render.dll
  42. +0
    -0
      bjairService/lib/NPQos.dll
  43. +0
    -0
      bjairService/lib/OpenAL32.dll
  44. +0
    -0
      bjairService/lib/PlayCtrl.dll
  45. +0
    -0
      bjairService/lib/PlayCtrl.lib
  46. +0
    -0
      bjairService/lib/SuperRender.dll
  47. +0
    -0
      bjairService/lib/YUVProcess.dll
  48. +0
    -0
      bjairService/lib/hlog.dll
  49. +0
    -0
      bjairService/lib/hpr.dll
  50. BIN
      bjairService/lib/jna-4.5.2.jar
  51. +0
    -0
      bjairService/lib/libcrypto-1_1-x64.dll
  52. +0
    -0
      bjairService/lib/libmmd.dll
  53. +0
    -0
      bjairService/lib/libssl-1_1-x64.dll
  54. +0
    -0
      bjairService/lib/plaympeg4.h
  55. +0
    -0
      bjairService/lib/zlib1.dll
  56. +9
    -0
      bjairService/pom.xml
  57. +38
    -0
      bjairService/sdklog/SdkLog_1_W.log
  58. +380
    -0
      bjairService/src/main/java/com/iformall/haikang/alarm/Alarm.java
  59. +1550
    -0
      bjairService/src/main/java/com/iformall/haikang/alarm/AlarmDataParse.java
  60. +17
    -0
      bjairService/src/main/java/com/iformall/haikang/alarm/FMSGCallBack.java
  61. +28
    -0
      bjairService/src/main/java/com/iformall/haikang/alarm/FMSGCallBack_V31.java
  62. +29
    -0
      bjairService/src/main/java/com/iformall/haikang/alarm/common/CommonUtil.java
  63. +10683
    -0
      bjairService/src/main/java/com/iformall/haikang/alarm/common/HCNetSDK.java
  64. +16
    -0
      bjairService/src/main/java/com/iformall/haikang/alarm/common/osSelect.java
  65. +4
    -4
      bjairService/src/main/java/com/iformall/haikang/face/FaceMain.java
  66. +2
    -2
      bjairService/src/main/java/com/iformall/haikang/face/FacePicManage.java
  67. +2
    -2
      bjairService/src/main/java/com/iformall/haikang/face/FacePicManagebyCustom.java
  68. +1
    -1
      bjairService/src/main/java/com/iformall/haikang/face/ISAPI.java
  69. +1
    -1
      bjairService/src/main/java/com/iformall/haikang/face/common/CommonMethod.java
  70. +1
    -1
      bjairService/src/main/java/com/iformall/haikang/face/common/HCNetSDK.java
  71. +1
    -1
      bjairService/src/main/java/com/iformall/haikang/face/common/osSelect.java

bjairService/lib/kuwenjian/AudioRender.dll → bjairService/lib/AudioRender.dll View File


bjairService/lib/kuwenjian/ClientDemo.exe → bjairService/lib/ClientDemo.exe View File


bjairService/lib/kuwenjian/ClientDemoDll/ReadMe.txt → bjairService/lib/ClientDemoDll/ReadMe.txt View File


bjairService/lib/kuwenjian/ClientDemoDll/calib.dll → bjairService/lib/ClientDemoDll/calib.dll View File


bjairService/lib/kuwenjian/ClientDemoDll/iconv.dll → bjairService/lib/ClientDemoDll/iconv.dll View File


bjairService/lib/kuwenjian/ClientDemoDll/libcrypto-1_1-x64.dll → bjairService/lib/ClientDemoDll/libcrypto-1_1-x64.dll View File


bjairService/lib/kuwenjian/ClientDemoDll/libssl-1_1-x64.dll → bjairService/lib/ClientDemoDll/libssl-1_1-x64.dll View File


bjairService/lib/kuwenjian/ClientDemoDll/libxml2.dll → bjairService/lib/ClientDemoDll/libxml2.dll View File


bjairService/lib/kuwenjian/ClientDemoDll/zlib1.dll → bjairService/lib/ClientDemoDll/zlib1.dll View File


bjairService/lib/touwenjian/DataType.h → bjairService/lib/DataType.h View File


bjairService/lib/touwenjian/DecodeCardSdk.h → bjairService/lib/DecodeCardSdk.h View File


bjairService/lib/kuwenjian/GdiPlus.dll → bjairService/lib/GdiPlus.dll View File


bjairService/lib/kuwenjian/GdiPlus.lib → bjairService/lib/GdiPlus.lib View File


bjairService/lib/kuwenjian/HCCore.dll → bjairService/lib/HCCore.dll View File


bjairService/lib/kuwenjian/HCCore.lib → bjairService/lib/HCCore.lib View File


bjairService/lib/kuwenjian/HCNetSDK.dll → bjairService/lib/HCNetSDK.dll View File


bjairService/lib/touwenjian/HCNetSDK.h → bjairService/lib/HCNetSDK.h View File


bjairService/lib/kuwenjian/HCNetSDK.lib → bjairService/lib/HCNetSDK.lib View File


bjairService/lib/kuwenjian/HCNetSDKCom/AnalyzeData.dll → bjairService/lib/HCNetSDKCom/AnalyzeData.dll View File


bjairService/lib/kuwenjian/HCNetSDKCom/AudioIntercom.dll → bjairService/lib/HCNetSDKCom/AudioIntercom.dll View File


bjairService/lib/kuwenjian/HCNetSDKCom/AudioRender.dll → bjairService/lib/HCNetSDKCom/AudioRender.dll View File


bjairService/lib/kuwenjian/HCNetSDKCom/HCAlarm.dll → bjairService/lib/HCNetSDKCom/HCAlarm.dll View File


bjairService/lib/kuwenjian/HCNetSDKCom/HCAlarm.lib → bjairService/lib/HCNetSDKCom/HCAlarm.lib View File


bjairService/lib/kuwenjian/HCNetSDKCom/HCCoreDevCfg.dll → bjairService/lib/HCNetSDKCom/HCCoreDevCfg.dll View File


bjairService/lib/kuwenjian/HCNetSDKCom/HCDisplay.dll → bjairService/lib/HCNetSDKCom/HCDisplay.dll View File


bjairService/lib/kuwenjian/HCNetSDKCom/HCGeneralCfgMgr.dll → bjairService/lib/HCNetSDKCom/HCGeneralCfgMgr.dll View File


bjairService/lib/kuwenjian/HCNetSDKCom/HCGeneralCfgMgr.lib → bjairService/lib/HCNetSDKCom/HCGeneralCfgMgr.lib View File


bjairService/lib/kuwenjian/HCNetSDKCom/HCIndustry.dll → bjairService/lib/HCNetSDKCom/HCIndustry.dll View File


bjairService/lib/kuwenjian/HCNetSDKCom/HCPlayBack.dll → bjairService/lib/HCNetSDKCom/HCPlayBack.dll View File


bjairService/lib/kuwenjian/HCNetSDKCom/HCPreview.dll → bjairService/lib/HCNetSDKCom/HCPreview.dll View File


bjairService/lib/kuwenjian/HCNetSDKCom/HCPreview.lib → bjairService/lib/HCNetSDKCom/HCPreview.lib View File


bjairService/lib/kuwenjian/HCNetSDKCom/HCVoiceTalk.dll → bjairService/lib/HCNetSDKCom/HCVoiceTalk.dll View File


bjairService/lib/kuwenjian/HCNetSDKCom/OpenAL32.dll → bjairService/lib/HCNetSDKCom/OpenAL32.dll View File


bjairService/lib/kuwenjian/HCNetSDKCom/StreamTransClient.dll → bjairService/lib/HCNetSDKCom/StreamTransClient.dll View File


bjairService/lib/kuwenjian/HCNetSDKCom/SystemTransform.dll → bjairService/lib/HCNetSDKCom/SystemTransform.dll View File


bjairService/lib/kuwenjian/HCNetSDKCom/libiconv2.dll → bjairService/lib/HCNetSDKCom/libiconv2.dll View File


bjairService/lib/kuwenjian/HXVA.dll → bjairService/lib/HXVA.dll View File


bjairService/lib/kuwenjian/HmMerge.dll → bjairService/lib/HmMerge.dll View File


bjairService/lib/kuwenjian/LocalSensorAdd.dat → bjairService/lib/LocalSensorAdd.dat View File


bjairService/lib/kuwenjian/LocalXml.zip → bjairService/lib/LocalXml.zip View File


bjairService/lib/kuwenjian/MP_Render.dll → bjairService/lib/MP_Render.dll View File


bjairService/lib/kuwenjian/NPQos.dll → bjairService/lib/NPQos.dll View File


bjairService/lib/kuwenjian/OpenAL32.dll → bjairService/lib/OpenAL32.dll View File


bjairService/lib/kuwenjian/PlayCtrl.dll → bjairService/lib/PlayCtrl.dll View File


bjairService/lib/kuwenjian/PlayCtrl.lib → bjairService/lib/PlayCtrl.lib View File


bjairService/lib/kuwenjian/SuperRender.dll → bjairService/lib/SuperRender.dll View File


bjairService/lib/kuwenjian/YUVProcess.dll → bjairService/lib/YUVProcess.dll View File


bjairService/lib/kuwenjian/hlog.dll → bjairService/lib/hlog.dll View File


bjairService/lib/kuwenjian/hpr.dll → bjairService/lib/hpr.dll View File


BIN
bjairService/lib/jna-4.5.2.jar View File


bjairService/lib/kuwenjian/libcrypto-1_1-x64.dll → bjairService/lib/libcrypto-1_1-x64.dll View File


bjairService/lib/kuwenjian/libmmd.dll → bjairService/lib/libmmd.dll View File


bjairService/lib/kuwenjian/libssl-1_1-x64.dll → bjairService/lib/libssl-1_1-x64.dll View File


bjairService/lib/touwenjian/plaympeg4.h → bjairService/lib/plaympeg4.h View File


bjairService/lib/kuwenjian/zlib1.dll → bjairService/lib/zlib1.dll View File


+ 9
- 0
bjairService/pom.xml View File

@@ -61,6 +61,14 @@
<systemPath>${project.basedir}/lib/jna-1.0.0.jar</systemPath>
</dependency>
<dependency>
<groupId>com.iformall.haikang</groupId>
<artifactId>jna</artifactId>
<version>4.5.2</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/jna-4.5.2.jar</systemPath>
</dependency>
<dependency>
<groupId>com.iformall.haikang</groupId>
<artifactId>examples</artifactId>
@@ -68,6 +76,7 @@
<scope>system</scope>
<systemPath>${project.basedir}/lib/examples-1.0.0.jar</systemPath>
</dependency>
</dependencies>

</project>

+ 38
- 0
bjairService/sdklog/SdkLog_1_W.log View File

@@ -0,0 +1,38 @@
[2025-01-02 11:35:24.775][ERR] CCoreGlobalCtrlBase::LoadDSo, HPR_LoadDSo Failed, Path[C:/project/bjAirport/bjairService/lib/zlib1.dll] syserror[126]
[2025-01-02 11:35:24.775][ERR] Load zlib failed[syserr: 126]
[2025-01-02 11:35:24.775][INF] The COM:HCCoreBase ver is 6.1.4.15, 2020_03_05. Async:1.
[2025-01-02 11:35:24.775][INF] The COM:Core ver is 6.1.9.48, 2023_04_10. Async:1.
[2025-01-02 11:35:24.775][INF] This HCNetSDK ver is 6.1.9.48 Ver 2023_04_10.
[2025-01-02 11:35:25.213][INF] Login dev 192.168.2.200:8000.
[2025-01-02 11:35:25.213][INF] dwTotalNum[2048]
[2025-01-02 11:35:25.215][INF] Private connect 192.168.2.200:8000 sock=2856 this=0x1da841b4 cmd=0x10000 port=51612
[2025-01-02 11:35:25.215][INF] LogonDev1 in[192.168.2.200:8000]
[2025-01-02 11:35:25.218][DBG] CCoreGlobalCtrlBase::LoadDSo, HPR_LoadDSo Succ, Path[C:/project/bjAirport/bjairService/lib/libcrypto-1_1-x64.dll], hHandleRet[852492288]
[2025-01-02 11:35:25.218][DBG] Load [libcrypto-1_1-x64.dll] SUCC, Real Path[C:\project\bjAirport\bjairService\lib\libcrypto-1_1-x64.dll]
[2025-01-02 11:35:25.221][DBG] CCoreGlobalCtrlBase::LoadDSo, HPR_LoadDSo Succ, Path[C:/project/bjAirport/bjairService/lib/libssl-1_1-x64.dll], hHandleRet[851574784]
[2025-01-02 11:35:25.221][DBG] Load [libssl-1_1-x64.dll] SUCC, Real Path[C:\project\bjAirport\bjairService\lib\libssl-1_1-x64.dll]
[2025-01-02 11:35:25.221][INF] SSLTRANSAPI::IsAllAPILoaded, SSL_library_init Unload
[2025-01-02 11:35:25.221][INF] OpenSSL, Not All Function Loaded!
[2025-01-02 11:35:25.221][INF] SSLTRANSAPI::PrintVersion, OpenSSL version info [OpenSSL 1.1.1l 24 Aug 2021]
[2025-01-02 11:35:25.221][INF] CSSLTrans::SSLCtxInit, dwSSLVersion[6], m_fnTLSServerMethod
[2025-01-02 11:35:25.224][ERR] CSSLTrans::SSLTrans_CTX_Load_CA, invalid path[C:/project/bjAirport/bjairService/lib/cert/\]
[2025-01-02 11:35:36.363][DBG] CComBase::Load, Load szDllPath[C:/project/bjAirport/bjairService/lib/HCNetSDKCom/HCVoiceTalk.dll] SUCC
[2025-01-02 11:35:36.365][INF] AbilityAnalyze---Init-- start
[2025-01-02 11:35:36.406][INF] The COM:VoiceTalk ver is 6.1.9.48, 2023_04_10.
[2025-01-02 11:35:36.576][DBG] CComBase::Load, Load szDllPath[C:/project/bjAirport/bjairService/lib/HCNetSDKCom/HCGeneralCfgMgr.dll] SUCC
[2025-01-02 11:35:36.579][INF] The COM:HCGeneralCfgMgr ver is 6.1.9.48, 2023_04_10.
[2025-01-02 11:35:36.731][DBG] CComBase::Load, Load szDllPath[C:/project/bjAirport/bjairService/lib/HCNetSDKCom/HCPlayBack.dll] SUCC
[2025-01-02 11:35:36.731][INF] The COM:HCPlayback ver is 6.1.9.48, 2023_04_10.
[2025-01-02 11:35:36.878][DBG] CComBase::Load, Load szDllPath[C:/project/bjAirport/bjairService/lib/HCNetSDKCom/HCIndustry.dll] SUCC
[2025-01-02 11:35:36.878][INF] The COM:HCIndustry ver is 6.1.9.48, 2023_04_10.
[2025-01-02 11:35:37.026][DBG] CComBase::Load, Load szDllPath[C:/project/bjAirport/bjairService/lib/HCNetSDKCom/HCDisplay.dll] SUCC
[2025-01-02 11:35:37.028][INF] The COM:HCDisplay ver is 6.1.9.48, 2023_04_10.
[2025-01-02 11:35:37.182][DBG] CComBase::Load, Load szDllPath[C:/project/bjAirport/bjairService/lib/HCNetSDKCom/HCPreview.dll] SUCC
[2025-01-02 11:35:37.182][INF] The COM:Preview ver is 6.1.9.48, 2023_04_10.
[2025-01-02 11:35:37.323][DBG] CComBase::Load, Load szDllPath[C:/project/bjAirport/bjairService/lib/HCNetSDKCom/HCAlarm.dll] SUCC
[2025-01-02 11:35:37.325][INF] The COM:HCAlarm ver is 6.1.9.48, 2023_04_10.
[2025-01-02 11:35:37.328][INF] Private connect 192.168.2.200:8000 sock=2932 this=0x1da841b4 cmd=0x117000 port=51616
[2025-01-02 11:35:37.331][DBG] SimpleSTDCommandToDvr with out cmd[GET /ISAPI/Intelligent/FDLib], input size[0], max segment length[163840]
[2025-01-02 11:39:37.849][INF] Private connect 192.168.2.200:8000 sock=2964 this=0x1da841b4 cmd=0x11631d port=51684
[2025-01-02 11:39:37.855][DBG] [0] Close upload link: 1da841b4!
[2025-01-02 11:39:37.855][ERR] CMemberMgrBase::AllocIndex2, MemberStart Failed, iIndex[0]

+ 380
- 0
bjairService/src/main/java/com/iformall/haikang/alarm/Alarm.java View File

@@ -0,0 +1,380 @@
package com.iformall.haikang.alarm;


import com.iformall.haikang.alarm.common.HCNetSDK;
import com.iformall.haikang.alarm.common.osSelect;
import com.sun.jna.Native;
import com.sun.jna.Pointer;

import java.util.Scanner;


public class Alarm {

static HCNetSDK hCNetSDK = null;
static int lUserID = -1;//用户句柄 实现对设备登录
static int lAlarmHandle =-1;//报警布防句柄
static int lListenHandle = -1;//报警监听句柄
static FMSGCallBack_V31 fMSFCallBack_V31 = null; //报警布防回调函数
static FMSGCallBack fMSFCallBack=null; //报警监听回调函数

/**
* 动态库加载
*
* @return
*/
private static boolean createSDKInstance() {
if (hCNetSDK == null) {
synchronized (HCNetSDK.class) {
String strDllPath = "";
try {
if (osSelect.isWindows())
//win系统加载库路径
strDllPath = System.getProperty("user.dir") + "\\lib\\HCNetSDK.dll";
else if (osSelect.isLinux())
//Linux系统加载库路径
strDllPath = System.getProperty("user.dir") + "/lib/libhcnetsdk.so";
hCNetSDK = (HCNetSDK) Native.loadLibrary(strDllPath, HCNetSDK.class);
} catch (Exception ex) {
System.out.println("loadLibrary: " + strDllPath + " Error: " + ex.getMessage());
return false;
}
}
}
return true;
}


/**
* @param args
*/
public static void main(String[] args) throws InterruptedException {

if (hCNetSDK == null) {
if (!createSDKInstance()) {
System.out.println("Load SDK fail");
return;
}
}
//linux系统建议调用以下接口加载组件库
if (osSelect.isLinux()) {
HCNetSDK.BYTE_ARRAY ptrByteArray1 = new HCNetSDK.BYTE_ARRAY(256);
HCNetSDK.BYTE_ARRAY ptrByteArray2 = new HCNetSDK.BYTE_ARRAY(256);
//这里是库的绝对路径,请根据实际情况修改,注意改路径必须有访问权限
String strPath1 = System.getProperty("user.dir") + "/lib/libcrypto.so.1.1";
String strPath2 = System.getProperty("user.dir") + "/lib/libssl.so.1.1";
System.arraycopy(strPath1.getBytes(), 0, ptrByteArray1.byValue, 0, strPath1.length());
ptrByteArray1.write();
hCNetSDK.NET_DVR_SetSDKInitCfg(HCNetSDK.NET_SDK_INIT_CFG_LIBEAY_PATH, ptrByteArray1.getPointer());
System.arraycopy(strPath2.getBytes(), 0, ptrByteArray2.byValue, 0, strPath2.length());
ptrByteArray2.write();
hCNetSDK.NET_DVR_SetSDKInitCfg(HCNetSDK.NET_SDK_INIT_CFG_SSLEAY_PATH, ptrByteArray2.getPointer());
String strPathCom = System.getProperty("user.dir") + "/lib/";
HCNetSDK.NET_DVR_LOCAL_SDK_PATH struComPath = new HCNetSDK.NET_DVR_LOCAL_SDK_PATH();
System.arraycopy(strPathCom.getBytes(), 0, struComPath.sPath, 0, strPathCom.length());
struComPath.write();
hCNetSDK.NET_DVR_SetSDKInitCfg(HCNetSDK.NET_SDK_INIT_CFG_SDK_PATH, struComPath.getPointer());
}

/**初始化*/
hCNetSDK.NET_DVR_Init();
/**加载日志*/
hCNetSDK.NET_DVR_SetLogToFile(3, "./sdklog1", false);
//设置报警回调函数
if (fMSFCallBack_V31 == null) {
fMSFCallBack_V31 = new FMSGCallBack_V31();
Pointer pUser = null;
if (!hCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(fMSFCallBack_V31, pUser)) {
System.out.println("设置回调函数失败!");
return;
} else {
System.out.println("设置回调函数成功!");
}
}
/** 设备上传的报警信息是COMM_VCA_ALARM(0x4993)类型,
在SDK初始化之后增加调用NET_DVR_SetSDKLocalCfg(enumType为NET_DVR_LOCAL_CFG_TYPE_GENERAL)设置通用参数NET_DVR_LOCAL_GENERAL_CFG的byAlarmJsonPictureSeparate为1,
将Json数据和图片数据分离上传,这样设置之后,报警布防回调函数里面接收到的报警信息类型为COMM_ISAPI_ALARM(0x6009),
报警信息结构体为NET_DVR_ALARM_ISAPI_INFO(与设备无关,SDK封装的数据结构),更便于解析。*/

HCNetSDK.NET_DVR_LOCAL_GENERAL_CFG struNET_DVR_LOCAL_GENERAL_CFG = new HCNetSDK.NET_DVR_LOCAL_GENERAL_CFG();
struNET_DVR_LOCAL_GENERAL_CFG.byAlarmJsonPictureSeparate = 1; //设置JSON透传报警数据和图片分离
struNET_DVR_LOCAL_GENERAL_CFG.write();
Pointer pStrNET_DVR_LOCAL_GENERAL_CFG = struNET_DVR_LOCAL_GENERAL_CFG.getPointer();
hCNetSDK.NET_DVR_SetSDKLocalCfg(17, pStrNET_DVR_LOCAL_GENERAL_CFG);

lUserID=Alarm.loginDevice( "10.9.137.17", (short) 8000, "admin", "hik12345"); //登录设备

for (boolean exit = false; !exit; ) {
System.out.println("请输入您想要执行的demo实例! (退出请输入yes)");
Scanner input = new Scanner(System.in);
String str = input.next();
// 转换为标准输入
str = str.toLowerCase();
if (str.equals("yes")) {
// 退出程序
exit = true;
break;
}
switch (str) {
case "1":
{
System.out.println("\n[Module]报警布防示例代码");
lAlarmHandle=Alarm.setAlarmChan(lUserID);//报警布防,和报警监听二选一即可
break;
}
case "2":
{
System.out.println("\n[Module]报警撤防示例代码");
Alarm.closedAlarmChan(lAlarmHandle);
break;
}
case "3":
{
//报警监听不需要登录设备,Alarm.loginDevice登录接口可以注释
System.out.println("\n[Module]开启报警监听示例代码");
lListenHandle = Alarm.startListen("10.9.137.101",(short) 7201); //传入监听PC本机的IP地址和端口
break;
}
case "4":
{
System.out.println("\n[Module]停止监听示例代码");
Alarm.stopListen(lListenHandle);
break;
}
default:
{
System.out.println("\n未知的指令操作!请重新输入!\n");
}
}
}
//设备注销
Alarm.logoutDev(lUserID);
//释放SDK
hCNetSDK.NET_DVR_Cleanup();
return;
}


/**
* 登录设备,支持 V40 和 V30 版本,功能一致。
*
* @param ip 设备IP地址
* @param port SDK端口,默认为设备的8000端口
* @param user 设备用户名
* @param psw 设备密码
* @return 登录成功返回用户ID,失败返回-1
*/
public static int loginDevice(String ip, short port, String user, String psw) {
// 创建设备登录信息和设备信息对象
HCNetSDK.NET_DVR_USER_LOGIN_INFO loginInfo = new HCNetSDK.NET_DVR_USER_LOGIN_INFO();
HCNetSDK.NET_DVR_DEVICEINFO_V40 deviceInfo = new HCNetSDK.NET_DVR_DEVICEINFO_V40();

// 设置设备IP地址
byte[] deviceAddress = new byte[HCNetSDK.NET_DVR_DEV_ADDRESS_MAX_LEN];
byte[] ipBytes = ip.getBytes();
System.arraycopy(ipBytes, 0, deviceAddress, 0, Math.min(ipBytes.length, deviceAddress.length));
loginInfo.sDeviceAddress = deviceAddress;

// 设置用户名和密码
byte[] userName = new byte[HCNetSDK.NET_DVR_LOGIN_USERNAME_MAX_LEN];
byte[] password = psw.getBytes();
System.arraycopy(user.getBytes(), 0, userName, 0, Math.min(user.length(), userName.length));
System.arraycopy(password, 0, loginInfo.sPassword, 0, Math.min(password.length, loginInfo.sPassword.length));
loginInfo.sUserName = userName;

// 设置端口和登录模式
loginInfo.wPort = port;
loginInfo.bUseAsynLogin = false; // 同步登录
loginInfo.byLoginMode = 0; // 使用SDK私有协议

// 执行登录操作
int userID = hCNetSDK.NET_DVR_Login_V40(loginInfo, deviceInfo);
if (userID == -1) {
System.err.println("登录失败,错误码为: " + hCNetSDK.NET_DVR_GetLastError());
} else {
System.out.println(ip + " 设备登录成功!");
// 处理通道号逻辑
int startDChan = deviceInfo.struDeviceV30.byStartDChan;
System.out.println("预览起始通道号: " + startDChan);
}
return userID; // 返回登录结果
}

/**
* 设备登录V30
* @param ip 设备IP
* @param port SDK端口,默认设备的8000端口
* @param user 设备用户名
* @param psw 设备密码
*/
public static void loginDeviceV30(String ip, short port, String user, String psw) {
HCNetSDK.NET_DVR_DEVICEINFO_V30 m_strDeviceInfo = new HCNetSDK.NET_DVR_DEVICEINFO_V30();
lUserID = hCNetSDK.NET_DVR_Login_V30(ip, port, user, psw, m_strDeviceInfo);
System.out.println("UsID:" + lUserID);
if ((lUserID == -1) || (lUserID == 0xFFFFFFFF)) {
System.out.println("登录失败,错误码为" + hCNetSDK.NET_DVR_GetLastError());
return;
} else {
System.out.println(ip + ":设备登录成功!");
return;
}
}

/**
* 报警布防
* @param userID 设备登录句柄ID
* @return
*/
public static int setAlarmChan(int userID ) {
if (userID == -1) {
System.out.println("请先注册");
return -1;
}
if (lAlarmHandle < 0)//尚未布防,需要布防
{
//报警布防参数设置
HCNetSDK.NET_DVR_SETUPALARM_PARAM alarmInfo = new HCNetSDK.NET_DVR_SETUPALARM_PARAM();
alarmInfo.dwSize = alarmInfo.size();
alarmInfo.byLevel = 0; //布防等级
alarmInfo.byAlarmInfoType = 1; // 智能交通报警信息上传类型:0- 老报警信息(NET_DVR_PLATE_RESULT),1- 新报警信息(NET_ITS_PLATE_RESULT)
alarmInfo.byDeployType = 0; //布防类型:0-客户端布防,1-实时布防,客户端布防仅支持一路
alarmInfo.write();
lAlarmHandle= hCNetSDK.NET_DVR_SetupAlarmChan_V41(userID, alarmInfo);
if (lAlarmHandle == -1) {
System.err.println("布防失败,错误码为" + hCNetSDK.NET_DVR_GetLastError());
return -1 ;
} else {
System.out.println("布防成功");
return lAlarmHandle;
}
} else {
System.out.println("设备已经布防,请先撤防!");
return lAlarmHandle ;
}
}

/**
* 设备撤防
* @param AlarmHandle 布防句柄
*/
public static void closedAlarmChan(int AlarmHandle)
{
if (AlarmHandle <= -1)
{
System.out.println("设备未布防,请先布防!");
return ;
}
if (!hCNetSDK.NET_DVR_CloseAlarmChan(AlarmHandle)) {
System.err.println("撤防失败,err "+hCNetSDK.NET_DVR_GetLastError());
return;
}
System.out.println("撤防成功");
return;
}

/**
* 报警布防V50接口
*
* @param
*/
public static int setAlarmChanV50(int userID) {
if (userID == -1) {
System.out.println("请先注册");
return -1;
}
if (lAlarmHandle < 0)//尚未布防,需要布防
{
//报警布防参数设置
HCNetSDK.NET_DVR_SETUPALARM_PARAM_V50 m_strAlarmInfoV50 = new HCNetSDK.NET_DVR_SETUPALARM_PARAM_V50();
m_strAlarmInfoV50.dwSize = m_strAlarmInfoV50.size();
m_strAlarmInfoV50.byLevel = 0; //布防等级
m_strAlarmInfoV50.byAlarmInfoType = 1; // 智能交通报警信息上传类型:0- 老报警信息(NET_DVR_PLATE_RESULT),1- 新报警信息(NET_ITS_PLATE_RESULT)
m_strAlarmInfoV50.byRetAlarmTypeV40 =1; //0- 移动侦测、视频丢失、遮挡、IO信号量等报警信息以普通方式上传(报警类型:COMM_ALARM_V30,报警信息结构体:NET_DVR_ALARMINFO_V30),
// 1- 报警信息以数据可变长方式上传(报警类型:COMM_ALARM_V40,报警信息结构体:NET_DVR_ALARMINFO_V40,设备若不支持则仍以普通方式上传)
m_strAlarmInfoV50.byDeployType = 0; //布防类型:0-客户端布防,1-实时布防
m_strAlarmInfoV50.write();
lAlarmHandle= hCNetSDK.NET_DVR_SetupAlarmChan_V50(userID, m_strAlarmInfoV50,Pointer.NULL,0);
if (lAlarmHandle == -1) {
System.err.println("布防失败,错误码为" + hCNetSDK.NET_DVR_GetLastError());
return -1;
} else {
System.out.println("布防成功");
return lAlarmHandle;

}
} else {
System.out.println("设备已经布防,请先撤防!");
return lAlarmHandle;
}
}

/**
* 开启监听
*
* @param ip 监听IP
* @param port 监听端口
*/
public static int startListen(String ip, short port) {
if (lListenHandle <= 0)
{
if (fMSFCallBack == null) {
fMSFCallBack = new FMSGCallBack();
}
lListenHandle = hCNetSDK.NET_DVR_StartListen_V30(ip, port,fMSFCallBack, null);
if (lListenHandle == -1) {
System.out.println("监听失败" + hCNetSDK.NET_DVR_GetLastError());
return -1;
} else {
System.out.println("监听成功");
return lListenHandle;
}
}else {
System.out.println("监听已经开启,请先停止监听!");
return lListenHandle;
}

}

/**
* 停止监听
* @param Handle 监听句柄
*/
public static void stopListen(int Handle)
{
if (Handle <= -1)
{
System.out.println("监听未开启");
return;
}
if (!hCNetSDK.NET_DVR_StopListen_V30(Handle)) {
System.err.println("停止监听失败,err: "+hCNetSDK.NET_DVR_GetLastError());
return;
}
System.out.println("停止监听成功");
return;

}

/**
* 设备注销
* @param
*/
public static void logoutDev(int userID) {

if (userID>-1)
{
if (hCNetSDK.NET_DVR_Logout(userID)) {
System.out.println("注销成功");
return;
}
}else
{
System.out.println("设备未注册,请先注册");
return;
}
return;
}



}

+ 1550
- 0
bjairService/src/main/java/com/iformall/haikang/alarm/AlarmDataParse.java
File diff suppressed because it is too large
View File


+ 17
- 0
bjairService/src/main/java/com/iformall/haikang/alarm/FMSGCallBack.java View File

@@ -0,0 +1,17 @@
package com.iformall.haikang.alarm;

import com.iformall.haikang.alarm.common.HCNetSDK;
import com.sun.jna.Pointer;


/**
* @author jiangxin
* @create 2022-08-15-17:26
*/
public class FMSGCallBack implements HCNetSDK.FMSGCallBack {
//报警信息回调函数
public void invoke(int lCommand, HCNetSDK.NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen, Pointer pUser) {
AlarmDataParse.alarmDataHandle(lCommand, pAlarmer, pAlarmInfo, dwBufLen, pUser);
return;
}
}

+ 28
- 0
bjairService/src/main/java/com/iformall/haikang/alarm/FMSGCallBack_V31.java View File

@@ -0,0 +1,28 @@
package com.iformall.haikang.alarm;

import com.iformall.haikang.alarm.common.HCNetSDK;
import com.sun.jna.Pointer;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.text.SimpleDateFormat;
import java.util.Date;


public class FMSGCallBack_V31 implements HCNetSDK.FMSGCallBack_V31 {
//报警信息回调函数
public boolean invoke(int lCommand, HCNetSDK.NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen, Pointer pUser) {
AlarmDataParse.alarmDataHandle(lCommand, pAlarmer, pAlarmInfo, dwBufLen, pUser);
return true;
}
}








+ 29
- 0
bjairService/src/main/java/com/iformall/haikang/alarm/common/CommonUtil.java View File

@@ -0,0 +1,29 @@


package com.iformall.haikang.alarm.common;

/**
* @author
* @create 2022-03-22-11:13
*/
public class CommonUtil {

//SDK时间解析
public static String parseTime(int time)
{
int year=(time>>26)+2000;
int month=(time>>22)&15;
int day=(time>>17)&31;
int hour=(time>>12)&31;
int min=(time>>6)&63;
int second=(time>>0)&63;
String sTime=year+"-"+month+"-"+day+"-"+hour+":"+min+":"+second;
// System.out.println(sTime);
return sTime;



}


}

+ 10683
- 0
bjairService/src/main/java/com/iformall/haikang/alarm/common/HCNetSDK.java
File diff suppressed because it is too large
View File


+ 16
- 0
bjairService/src/main/java/com/iformall/haikang/alarm/common/osSelect.java View File

@@ -0,0 +1,16 @@
package com.iformall.haikang.alarm.common;

/**
* @author
* @create 2022-01-19-16:40
*/
public class osSelect {

public static boolean isLinux() {
return System.getProperty("os.name").toLowerCase().contains("linux");
}

public static boolean isWindows() {
return System.getProperty("os.name").toLowerCase().contains("windows");
}
}

+ 4
- 4
bjairService/src/main/java/com/iformall/haikang/face/FaceMain.java View File

@@ -1,7 +1,7 @@
package com.iformall.haikang.face;

import com.iformall.haikang.HCNetSDK;
import com.iformall.haikang.common.osSelect;
import com.iformall.haikang.face.common.HCNetSDK;
import com.iformall.haikang.face.common.osSelect;
import com.sun.jna.Native;
import org.dom4j.DocumentException;
import java.io.IOException;
@@ -22,7 +22,7 @@ public class FaceMain {
{
synchronized (HCNetSDK.class)
{
String strDllPath = "";
String strDllPath = "C:\\project\\bjAirport\\bjairService\\lib\\kuwenjian";
try
{
//System.setProperty("jna.debug_load", "true");
@@ -77,7 +77,7 @@ public class FaceMain {
hCNetSDK.NET_DVR_SetLogToFile(3, "./sdklog", false);

//设备登录
lUserID=loginDevice("10.9.137.190",(short) 8000,"admin","hik12345"); //登录设备
lUserID=loginDevice("192.168.2.200",(short) 8000,"admin","wushikeji001"); //登录设备


for (boolean exit = false; !exit; ) {


+ 2
- 2
bjairService/src/main/java/com/iformall/haikang/face/FacePicManage.java View File

@@ -1,6 +1,6 @@
package com.iformall.haikang.face;
import com.iformall.haikang.HCNetSDK;
import com.iformall.haikang.common.CommonMethod;
import com.iformall.haikang.face.common.CommonMethod;
import com.iformall.haikang.face.common.HCNetSDK;
import com.sun.jna.Pointer;
import com.sun.jna.ptr.IntByReference;
import org.dom4j.Document;


+ 2
- 2
bjairService/src/main/java/com/iformall/haikang/face/FacePicManagebyCustom.java View File

@@ -1,7 +1,7 @@
package com.iformall.haikang.face;

import com.iformall.haikang.HCNetSDK;
import com.iformall.haikang.common.CommonMethod;
import com.iformall.haikang.face.common.CommonMethod;
import com.iformall.haikang.face.common.HCNetSDK;
import com.sun.jna.Pointer;
import com.sun.jna.ptr.IntByReference;



+ 1
- 1
bjairService/src/main/java/com/iformall/haikang/face/ISAPI.java View File

@@ -2,7 +2,7 @@ package com.iformall.haikang.face;

import java.io.UnsupportedEncodingException;

import com.iformall.haikang.HCNetSDK;
import com.iformall.haikang.face.common.HCNetSDK;

/**
* 功能:透传接口实现,透传ISAPI命令


bjairService/src/main/java/com/iformall/haikang/common/CommonMethod.java → bjairService/src/main/java/com/iformall/haikang/face/common/CommonMethod.java View File

@@ -1,4 +1,4 @@
package com.iformall.haikang.common;
package com.iformall.haikang.face.common;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;

bjairService/src/main/java/com/iformall/haikang/HCNetSDK.java → bjairService/src/main/java/com/iformall/haikang/face/common/HCNetSDK.java View File

@@ -1,4 +1,4 @@
package com.iformall.haikang;
package com.iformall.haikang.face.common;


import com.sun.jna.*;

bjairService/src/main/java/com/iformall/haikang/common/osSelect.java → bjairService/src/main/java/com/iformall/haikang/face/common/osSelect.java View File

@@ -1,4 +1,4 @@
package com.iformall.haikang.common;
package com.iformall.haikang.face.common;

/**
* @author jiangxin

Loading…
Cancel
Save