java 海康对接demo 配置问题解决

型号是: DS-2DE4223IW-D/GLT/XM

  1. https://open.hikvision.com/download/5cda567cf47ae80dd41a54b3?type=10
    海康开放平台下载对应的sdk 注意 对应的开发平台 win32 win64
  2. 按照提示加载demo , 将对应的 dll 文件放到根目录下等
    【注意事项】
    ------------------------------------
    1. 更新设备网络SDK时,SDK开发包【库文件】里的HCNetSDK.dll、HCCore.dll、PlayCtrl.dll、SuperRender.dll、AudioRender.dll、HCNetSDKCom文件夹、ssleay32.dll、libeay32.dll、hlog.dll、hpr.dll、zlib1.dll、log4cxx.properties等文件均要加载到程序里面,【HCNetSDKCom文件夹】(包含里面的功能组件dll库文件)需要和HCNetSDK.dll、HCCore.dll一起加载,放在同一个目录下,且HCNetSDKCom文件夹名不能修改。

    2. 如果自行开发软件不能正常实现相应功能,而且程序没有指定加载的dll库路径,请在程序运行的情况下尝试删除HCNetSDK.dll。如果可以删除,说明程序可能调用到系统盘Windows->System32目录下的dll文件,建议删除或者更新该目录下的相关dll文件;如果不能删除,dll文件右键选择属性确认SDK库版本。

    3. 如按上述步骤操作后还是不能实现相应功能,请根据NET_DVR_GetLastError返回的错误号判断原因。
  1. 配置 HSDK 加载路径
    //对应的HCNetSDK.dll 是具体路径
    HCNetSDK INSTANCE = (HCNetSDK) Native.loadLibrary("E:\\code\\PD\\CH-HCNetSDKV6.1.6.45_build20210302_win64\\Demo示例\\4- Java 开发示例\\1-ClientDemo\\ClientDemo-NetBeansPro\\HCNetSDK.dll",
        HCNetSDK.class);
  1. 配置HSDK 记得路径最后 HCNetSDK.dll .dll 要加上
  2. 配置日志保存
    • 在ClientDemo 启动类中 main()-->run() 中
    boolean initSuc = hCNetSDK.NET_DVR_Init();//先搜到初始化接口,然后调用保存日志接口
    if (initSuc != true)
    {
    JOptionPane.showMessageDialog(null, "初始化失败");
    }
    // 保存日志接口方法调用  对应 c:sdklog  是存放到日志路径,可根据需求自行修改
    initSuc = hCNetSDK.NET_DVR_SetLogToFile(3,"c:sdklog",false);
    
  3. 期间 将dll 文件 尽量都放在根目录下
[2021-09-28 15:00:01.394][ERR] CCoreGlobalCtrlBase::LoadDSo, HPR_LoadDSo Failed, Path[D:/dll/libeay32.dll] syserror[126]
[2021-09-28 15:00:01.394][ERR] Load BASE_DLL_LIBEAY failed[syserr: 126]
[2021-09-28 15:00:01.394][ERR] CoreBase_CreateSSLTrans,CSSLTrans::LoadSSLLib
[2021-09-28 15:00:01.394][ERR] CHIKEncrypt::GenerateRSAKey, CoreBase_CreateSSLTrans FAILED, error[156]

中间出现这样的日志 dll 加载失败,就是找不到对应的文件

  1. 最后有个问题是注册一直失败, 原因是 电脑和摄像头不在同一个网络,导致调用失败 ,此时需要注意 ping一下对应的ip
[2021-09-28 15:32:22.087][ERR] LogonDev1[192.168.31.210]
[2021-09-28 15:32:22.087][ERR] [192.168.31.210:8000]PRO_LoginHikDevice fail[err=10].[0x00000000,0x00000000]
[2021-09-28 15:32:22.087][ERR] CMemberMgrBase::AllocIndex2, MemberStart Failed, iIndex[0]

出现这样的日志,就是返回超时,此时可以去ping一下对应云台的ip, 如果不通,你就需要检查一下自己的网络和云台的网络是否在同一个网段中



以上就是我这边对接海康demo 出现的问题以及处理方法

你可能感兴趣的:(java 海康对接demo 配置问题解决)