| | |
| | | import java.text.DecimalFormat; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | |
| | | import static com.ruoyi.device.hiksdk.common.GlobalVariable.threadMap; |
| | | import static com.ruoyi.device.hiksdk.util.hikSdkUtil.HCNetSDK.*; |
| | | |
| | | /** |
| | |
| | | log.debug("加载lib完成!"); |
| | | List<ArdCameras> ardCameras = ardCamerasMapper.selectArdCamerasListNoDataScope(new ArdCameras()); |
| | | for (ArdCameras camera : ardCameras) { |
| | | Thread.sleep(100); |
| | | login(camera); |
| | | } |
| | | } catch (Exception ex) { |
| | |
| | | ardCameras.setOperatorId(operator); |
| | | //设置当前过期时间 |
| | | Date now = new Date(); |
| | | now.setTime(now.getTime() + expired * 1000 * 60); |
| | | now.setTime(now.getTime() + expired * 1000); |
| | | ardCameras.setOperatorExpired(now); |
| | | ardCamerasMapper.updateArdCameras(ardCameras); |
| | | } else { |
| | |
| | | if (currentOperator.equals(operator)) { |
| | | //设置当前过期时间 |
| | | Date now = new Date(); |
| | | now.setTime(now.getTime() + expired * 1000 * 60); |
| | | now.setTime(now.getTime() + expired * 1000); |
| | | ardCameras.setOperatorExpired(now); |
| | | ardCamerasMapper.updateArdCameras(ardCameras); |
| | | } else { |
| | |
| | | //判断优先级 |
| | | if (operatorLevel > currentLevel) { |
| | | Date now = new Date(); |
| | | now.setTime(now.getTime() + expired * 60 * 1000); |
| | | now.setTime(now.getTime() + expired * 60); |
| | | ardCameras.setOperatorExpired(now);//设置当前过期时间 |
| | | ardCameras.setOperatorId(operator);//设置当前用户 |
| | | ardCamerasMapper.updateArdCameras(ardCameras); |
| | |
| | | previewinfo.byNPQMode = 0;//NPQ模式:0-直连模式,1-过流媒体模式 |
| | | previewinfo.write(); |
| | | if (enable) { |
| | | if (!GlobalVariable.previewMap.containsKey(cameraId)) { |
| | | int lRealHandle = hCNetSDK.NET_DVR_RealPlay_V40(userId, previewinfo, null, null); |
| | | if (lRealHandle == -1) { |
| | | log.error("取流失败" + hCNetSDK.NET_DVR_GetLastError()); |
| | | return; |
| | | } |
| | | log.info("取流成功"); |
| | | GlobalVariable.previewMap.put(cameraId, lRealHandle); |
| | | if (GlobalVariable.previewMap.containsKey(cameraId)) { |
| | | Integer lRealHandle = GlobalVariable.previewMap.get(cameraId); |
| | | hCNetSDK.NET_DVR_StopRealPlay(lRealHandle); |
| | | GlobalVariable.previewMap.remove(cameraId); |
| | | log.info("录像停止"); |
| | | } |
| | | |
| | | int lRealHandle = hCNetSDK.NET_DVR_RealPlay_V40(userId, previewinfo, null, null); |
| | | if (lRealHandle == -1) { |
| | | log.error("取流失败" + hCNetSDK.NET_DVR_GetLastError()); |
| | | return; |
| | | } |
| | | log.info("取流成功"); |
| | | GlobalVariable.threadMap.put(cameraId,Thread.currentThread().getName()); |
| | | GlobalVariable.previewMap.put(cameraId, lRealHandle); |
| | | if (!hCNetSDK.NET_DVR_SaveRealData_V30(GlobalVariable.previewMap.get(cameraId), 2, path)) { |
| | | log.error("保存视频文件到临时文件夹失败 错误码为: " + hCNetSDK.NET_DVR_GetLastError()); |
| | | return; |
| | |
| | | GlobalVariable.previewMap.remove(cameraId); |
| | | } |
| | | log.info("录像停止"); |
| | | |
| | | //存入minio |
| | | String BucketName = cmd.getRecordBucketName(); |
| | | String ObjectName = cmd.getRecordObjectName(); |