| | |
| | | int i = hCNetSDK.NET_DVR_Login_V40(m_strLoginInfo, m_strDeviceInfo); |
| | | if (i < 0) { |
| | | int errorCode = hCNetSDK.NET_DVR_GetLastError(); |
| | | log.info("登录异常:" + errorCode); |
| | | log.error("登录异常:" + errorCode); |
| | | } |
| | | } |
| | | |
| | |
| | | boolean bool = hCNetSDK.NET_DVR_PTZControlWithSpeed_Other(userId, channelNum, dwPTZCommand, dwStop, speed); |
| | | if (!bool) { |
| | | int errorCode = hCNetSDK.NET_DVR_GetLastError(); |
| | | log.info("控制失败,请稍后重试" + errorCode); |
| | | log.error("控制失败,请稍后重试" + errorCode); |
| | | } |
| | | return bool; |
| | | } |
| | |
| | | boolean bool = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_FOCUSMODECFG, channelNum, point, focusmodeCfg.size(), ibrBytesReturned); |
| | | if (!bool) { |
| | | int code = hCNetSDK.NET_DVR_GetLastError(); |
| | | log.info("设置聚焦值失败,请稍后重试" + code); |
| | | log.error("设置聚焦值失败,请稍后重试" + code); |
| | | } |
| | | return bool; |
| | | } |
| | |
| | | return map; |
| | | } else { |
| | | int code = hCNetSDK.NET_DVR_GetLastError(); |
| | | log.info("获取聚焦值失败,请稍后重试" + code); |
| | | log.debug("获取聚焦值失败,请稍后重试" + code); |
| | | return new HashMap<>(); |
| | | } |
| | | } |
| | |
| | | boolean bool = hCNetSDK.NET_DVR_PTZPreset_Other(userId, channelNum, SET_PRESET, PresetIndex); |
| | | if (!bool) { |
| | | int code = hCNetSDK.NET_DVR_GetLastError(); |
| | | log.info("预置点设置失败,请稍后重试" + code); |
| | | log.error("预置点设置失败,请稍后重试" + code); |
| | | } |
| | | return bool; |
| | | } |
| | |
| | | boolean bool = hCNetSDK.NET_DVR_PTZPreset_Other(userId, channelNum, GOTO_PRESET, PresetIndex); |
| | | if (!bool) { |
| | | int code = hCNetSDK.NET_DVR_GetLastError(); |
| | | log.info("预置点设置失败,请稍后重试" + code); |
| | | log.error("预置点设置失败,请稍后重试" + code); |
| | | } |
| | | return bool; |
| | | } |
| | |
| | | } |
| | | } else { |
| | | int code = hCNetSDK.NET_DVR_GetLastError(); |
| | | System.out.println("控制失败,请稍后重试" + code); |
| | | log.error("控制失败,请稍后重试" + code); |
| | | } |
| | | } catch (Exception ex) { |
| | | log.error(ex.getMessage()); |
| | |
| | | return ptzMap; |
| | | } else { |
| | | int code = hCNetSDK.NET_DVR_GetLastError(); |
| | | log.info("控制失败,请稍后重试" + code); |
| | | log.error("控制失败,请稍后重试" + code); |
| | | return new HashMap<>(); |
| | | } |
| | | |
| | |
| | | boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_PTZPOS, channelNum, point, m_ptzPosCurrent.size()); |
| | | if (!bool) { |
| | | int code = hCNetSDK.NET_DVR_GetLastError(); |
| | | log.info("设置ptz失败,请稍后重试" + code); |
| | | log.error("设置ptz失败,请稍后重试" + code); |
| | | } |
| | | return bool; |
| | | } catch (Exception ex) { |
| | |
| | | boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_PTZPOS, channelNum, point, m_ptzPosCurrent.size()); |
| | | if (!bool) { |
| | | int code = hCNetSDK.NET_DVR_GetLastError(); |
| | | log.info("设置ptz失败,请稍后重试" + code); |
| | | log.error("设置ptz失败,请稍后重试" + code); |
| | | } |
| | | return bool; |
| | | } catch (Exception ex) { |
| | |
| | | boolean bool = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_PTZLOCKCFG, channelNum, point, netDvrPtzLockcfg.size(), ibrBytesReturned); |
| | | if (!bool) { |
| | | int code = hCNetSDK.NET_DVR_GetLastError(); |
| | | log.info("获取ptz锁定信息失败,请稍后重试" + code); |
| | | log.error("获取ptz锁定信息失败,请稍后重试" + code); |
| | | return -1; |
| | | } else { |
| | | netDvrPtzLockcfg.read(); |
| | |
| | | boolean bool = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_PTZSCOPE, channelNum, point, m_ptzPosCurrent.size(), ibrBytesReturned); |
| | | if (!bool) { |
| | | int code = hCNetSDK.NET_DVR_GetLastError(); |
| | | log.info("设置ptz失败,请稍后重试" + code); |
| | | log.error("设置ptz失败,请稍后重试" + code); |
| | | return new HashMap<>(); |
| | | } else { |
| | | m_ptzPosCurrent.read(); |
| | |
| | | log.error("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError()); |
| | | } |
| | | struCameraParam.read(); |
| | | log.info("是否开启透雾:" + struCameraParam.struDefogCfg.byMode); |
| | | log.debug("是否开启透雾:" + struCameraParam.struDefogCfg.byMode); |
| | | |
| | | NET_DVR_DEFOGCFG defogcfg = new NET_DVR_DEFOGCFG(); |
| | | if (enable) { |
| | |
| | | boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_CCDPARAMCFG_EX, channelNum, point, struCameraParam.size()); |
| | | if (!bool) { |
| | | int code = hCNetSDK.NET_DVR_GetLastError(); |
| | | log.info("设置透雾失败,请稍后重试" + code); |
| | | log.error("设置透雾失败,请稍后重试" + code); |
| | | } |
| | | log.info("设置透雾成功"); |
| | | log.debug("设置透雾成功"); |
| | | return bool; |
| | | } |
| | | |
| | |
| | | log.error("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError()); |
| | | } |
| | | struDayNigh.read(); |
| | | log.info("是否开启夜视:" + struDayNigh.struDayNight.byDayNightFilterType); |
| | | log.debug("是否开启夜视:" + struDayNigh.struDayNight.byDayNightFilterType); |
| | | |
| | | NET_DVR_DAYNIGHT daynight = new NET_DVR_DAYNIGHT(); |
| | | if (enable) { |
| | |
| | | boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_CCDPARAMCFG_EX, channelNum, point, struDayNigh.size()); |
| | | if (!bool) { |
| | | int code = hCNetSDK.NET_DVR_GetLastError(); |
| | | log.info("设置夜视失败,请稍后重试" + code); |
| | | log.error("设置夜视失败,请稍后重试" + code); |
| | | } |
| | | log.info("设置夜视成功"); |
| | | log.debug("设置夜视成功"); |
| | | return bool; |
| | | } |
| | | |
| | |
| | | IntByReference ibrBytesReturned = new IntByReference(0); |
| | | boolean b_GetCameraParam = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_FOCUSMODECFG, channelNum, point, struFocusMode.size(), ibrBytesReturned); |
| | | if (!b_GetCameraParam) { |
| | | System.out.println("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError()); |
| | | log.error("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError()); |
| | | } |
| | | struFocusMode.read(); |
| | | log.info("当前聚焦模式:" + struFocusMode.byFocusMode); |
| | | log.debug("当前聚焦模式:" + struFocusMode.byFocusMode); |
| | | |
| | | if (enable) { |
| | | struFocusMode.byFocusMode = 1;//手动聚焦 |
| | |
| | | boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_FOCUSMODECFG, channelNum, point, struFocusMode.size()); |
| | | if (!bool) { |
| | | int code = hCNetSDK.NET_DVR_GetLastError(); |
| | | log.info("设置聚焦模式失败,请稍后重试" + code); |
| | | log.error("设置聚焦模式失败,请稍后重试" + code); |
| | | } |
| | | log.info("设置聚焦模式成功"); |
| | | log.debug("设置聚焦模式成功"); |
| | | return bool; |
| | | } |
| | | |
| | |
| | | IntByReference ibrBytesReturned = new IntByReference(0); |
| | | boolean b_GetCameraParam = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_FOCUSMODECFG, channelNum, point, struFocusMode.size(), ibrBytesReturned); |
| | | if (!b_GetCameraParam) { |
| | | System.out.println("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError()); |
| | | log.error("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError()); |
| | | } |
| | | struFocusMode.read(); |
| | | log.info("当前聚焦模式:" + struFocusMode.byFocusMode); |
| | | log.debug("当前聚焦模式:" + struFocusMode.byFocusMode); |
| | | return String.valueOf(struFocusMode.byFocusMode); |
| | | } |
| | | |
| | |
| | | boolean bool = hCNetSDK.NET_DVR_PTZControl_Other(userId, channelNum, HEATER_PWRON, dwStop); |
| | | if (!bool) { |
| | | int code = hCNetSDK.NET_DVR_GetLastError(); |
| | | log.info("设置云台加热失败,请稍后重试" + code); |
| | | log.error("设置云台加热失败,请稍后重试" + code); |
| | | } |
| | | log.info("设置云台加热成功"); |
| | | log.debug("设置云台加热成功"); |
| | | return bool; |
| | | } |
| | | |
| | |
| | | log.error("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError()); |
| | | } |
| | | struDeicing.read(); |
| | | log.info("是否开启除冰:" + struDeicing.byEnableDeicing); |
| | | log.debug("是否开启除冰:" + struDeicing.byEnableDeicing); |
| | | |
| | | if (enable) { |
| | | struDeicing.byEnableDeicing = 1;//开启 |
| | |
| | | boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_DEVSERVER_CFG, channelNum, point, struDeicing.size()); |
| | | if (!bool) { |
| | | int code = hCNetSDK.NET_DVR_GetLastError(); |
| | | log.info("设置镜头除冰失败,请稍后重试" + code); |
| | | log.error("设置镜头除冰失败,请稍后重试" + code); |
| | | } |
| | | log.info("设置镜头除冰成功"); |
| | | log.debug("设置镜头除冰成功"); |
| | | return bool; |
| | | } |
| | | |
| | |
| | | ByteBuffer jpegBuffer = ByteBuffer.allocate(1024 * 1024); |
| | | // 抓图到内存,单帧数据捕获并保存成JPEG存放在指定的内存空间中 |
| | | boolean is = hCNetSDK.NET_DVR_CaptureJPEGPicture_NEW(userId, channelNum, jpeg, jpegBuffer, 1024 * 1024, a); |
| | | log.info("-----------这里开始图片存入内存----------" + is); |
| | | log.debug("-----------这里开始图片存入内存----------" + is); |
| | | |
| | | Base64.Encoder decoder = Base64.getEncoder(); |
| | | // BASE64Encoder encoder = new BASE64Encoder(); |
| | | String png_base64 = decoder.encodeToString(jpegBuffer.array());//转换成base64串 |
| | | png_base64 = png_base64.replaceAll("\n", "").replaceAll("\r", "");//删除 \r\n |
| | | log.info("-----------处理完成截图数据----------"); |
| | | log.debug("-----------处理完成截图数据----------"); |
| | | return png_base64; |
| | | } |
| | | |
| | |
| | | //设置图片大小 |
| | | ByteBuffer jpegBuffer = ByteBuffer.allocate(1024 * 1024); |
| | | // 抓图到内存,单帧数据捕获并保存成JPEG存放在指定的内存空间中 |
| | | log.info("-----------这里开始封装 NET_DVR_CaptureJPEGPicture_NEW---------"); |
| | | log.debug("-----------这里开始封装 NET_DVR_CaptureJPEGPicture_NEW---------"); |
| | | boolean is = hCNetSDK.NET_DVR_CaptureJPEGPicture_NEW(userId, channelNum, jpeg, jpegBuffer, 1024 * 1024, a); |
| | | log.info("-----------这里开始图片存入内存----------" + is); |
| | | log.debug("-----------这里开始图片存入内存----------" + is); |
| | | if (is) { |
| | | log.info("hksdk(抓图)-结果状态值(0表示成功):" + hCNetSDK.NET_DVR_GetLastError()); |
| | | log.debug("hksdk(抓图)-结果状态值(0表示成功):" + hCNetSDK.NET_DVR_GetLastError()); |
| | | byte[] array = jpegBuffer.array(); |
| | | //存储到minio |
| | | String BucketName = "pic"; |
| | |
| | | boolean b = MinioUtils.uploadObject(BucketName, ObjectName, input, input.available(), ContentType); |
| | | if (b) { |
| | | url = MinioUtils.getBucketObjectUrl(BucketName, ObjectName); |
| | | log.info("上传文件成功!" + url); |
| | | log.debug("上传文件成功!" + url); |
| | | } |
| | | } catch (IOException ex) { |
| | | log.error("上传文件异常:" + ex.getMessage()); |
| | |
| | | return url; |
| | | } else { |
| | | int code = hCNetSDK.NET_DVR_GetLastError(); |
| | | log.info("抓图失败,请稍后重试" + code); |
| | | log.error("抓图失败,请稍后重试" + code); |
| | | return ""; |
| | | } |
| | | } |
| | |
| | | log.error("取流失败" + hCNetSDK.NET_DVR_GetLastError()); |
| | | return ""; |
| | | } |
| | | log.info("取流成功"); |
| | | log.debug("取流成功"); |
| | | GlobalVariable.previewMap.put(cameraId, lRealHandle); |
| | | } |
| | | if (!hCNetSDK.NET_DVR_SaveRealData_V30(GlobalVariable.previewMap.get(cameraId), 2, path)) { |
| | | log.error("保存视频文件到临时文件夹失败 错误码为: " + hCNetSDK.NET_DVR_GetLastError()); |
| | | return ""; |
| | | } |
| | | log.info("录像开始"); |
| | | log.debug("录像开始"); |
| | | } else { |
| | | if (GlobalVariable.previewMap.containsKey(cameraId)) { |
| | | Integer lRealHandle = GlobalVariable.previewMap.get(cameraId); |
| | | hCNetSDK.NET_DVR_StopRealPlay(lRealHandle); |
| | | GlobalVariable.previewMap.remove(cameraId); |
| | | } |
| | | log.info("录像停止"); |
| | | log.debug("录像停止"); |
| | | } |
| | | return url; |
| | | } catch (Exception ex) { |