| | |
| | | import com.ruoyi.device.hiksdk.util.hikSdkUtil.GisUtil; |
| | | import com.ruoyi.device.hiksdk.util.hikSdkUtil.HCNetSDK; |
| | | import com.ruoyi.device.hiksdk.service.IHikClientService; |
| | | import com.ruoyi.device.hiksdk.util.minioUtil.MinioUtil; |
| | | import com.ruoyi.device.hiksdk.util.minio.MinioUtils; |
| | | import com.ruoyi.system.mapper.SysUserMapper; |
| | | import com.sun.jna.Native; |
| | | import com.sun.jna.Platform; |
| | |
| | | public class HikClientServiceImpl implements IHikClientService { |
| | | |
| | | @Resource |
| | | private MinioUtil minioUtil; |
| | | |
| | | @Resource |
| | | ArdCamerasMapper ardCamerasMapper; |
| | | |
| | | @Resource |
| | |
| | | //设置HCNetSDKCom组件库所在路径 |
| | | //libhcnetsdk.so |
| | | String strPathCom = "/home/hiklib"; |
| | | HCNetSDK.NET_DVR_LOCAL_SDK_PATH struComPath = new HCNetSDK.NET_DVR_LOCAL_SDK_PATH(); |
| | | NET_DVR_LOCAL_SDK_PATH struComPath = new NET_DVR_LOCAL_SDK_PATH(); |
| | | System.arraycopy(strPathCom.getBytes(), 0, struComPath.sPath, 0, strPathCom.length()); |
| | | struComPath.write(); |
| | | hCNetSDK.NET_DVR_SetSDKInitCfg(2, struComPath.getPointer()); |
| | | |
| | | //设置libcrypto.so所在路径 |
| | | HCNetSDK.BYTE_ARRAY ptrByteArrayCrypto = new HCNetSDK.BYTE_ARRAY(256); |
| | | BYTE_ARRAY ptrByteArrayCrypto = new BYTE_ARRAY(256); |
| | | String strPathCrypto = "/home/hiklib/libcrypto.so.1.1"; |
| | | System.arraycopy(strPathCrypto.getBytes(), 0, ptrByteArrayCrypto.byValue, 0, strPathCrypto.length()); |
| | | ptrByteArrayCrypto.write(); |
| | | hCNetSDK.NET_DVR_SetSDKInitCfg(3, ptrByteArrayCrypto.getPointer()); |
| | | |
| | | //设置libssl.so所在路径 |
| | | HCNetSDK.BYTE_ARRAY ptrByteArraySsl = new HCNetSDK.BYTE_ARRAY(256); |
| | | BYTE_ARRAY ptrByteArraySsl = new BYTE_ARRAY(256); |
| | | String strPathSsl = "/home/hiklib/libssl.so.1.1"; |
| | | System.arraycopy(strPathSsl.getBytes(), 0, ptrByteArraySsl.byValue, 0, strPathSsl.length()); |
| | | ptrByteArraySsl.write(); |
| | |
| | | hCNetSDK.NET_DVR_SetConnectTime(2000, 1); |
| | | hCNetSDK.NET_DVR_SetReconnect(100000, true); |
| | | //设备信息, 输出参数 |
| | | HCNetSDK.NET_DVR_DEVICEINFO_V30 m_strDeviceInfo = new HCNetSDK.NET_DVR_DEVICEINFO_V30(); |
| | | NET_DVR_DEVICEINFO_V30 m_strDeviceInfo = new NET_DVR_DEVICEINFO_V30(); |
| | | int lUserID = hCNetSDK.NET_DVR_Login_V30(m_sDeviceIP, m_sPort, m_sUsername, m_sPassword, m_strDeviceInfo); |
| | | if (lUserID < 0) { |
| | | //释放SDK资源 |
| | |
| | | Integer userId = globalVariable.loginMap.get(cameraId); |
| | | |
| | | String ResResolution = ""; |
| | | HCNetSDK.NET_DVR_COMPRESSIONCFG_V30 resolution = new HCNetSDK.NET_DVR_COMPRESSIONCFG_V30(); |
| | | NET_DVR_COMPRESSIONCFG_V30 resolution = new NET_DVR_COMPRESSIONCFG_V30(); |
| | | resolution.write(); |
| | | Pointer pioint = resolution.getPointer(); |
| | | IntByReference ibrBytesReturned = new IntByReference(0); |
| | |
| | | } |
| | | Integer userId = globalVariable.loginMap.get(cameraId); |
| | | |
| | | HCNetSDK.NET_DVR_PTZPOS m_ptzPosCurrent = new HCNetSDK.NET_DVR_PTZPOS(); |
| | | NET_DVR_PTZPOS m_ptzPosCurrent = new NET_DVR_PTZPOS(); |
| | | Pointer pioint = m_ptzPosCurrent.getPointer(); |
| | | IntByReference ibrBytesReturned = new IntByReference(0); |
| | | m_ptzPosCurrent.write(); |
| | |
| | | return false; |
| | | } |
| | | Integer userId = globalVariable.loginMap.get(cameraId); |
| | | HCNetSDK.NET_DVR_PTZPOS m_ptzPosCurrent = new HCNetSDK.NET_DVR_PTZPOS(); |
| | | NET_DVR_PTZPOS m_ptzPosCurrent = new NET_DVR_PTZPOS(); |
| | | m_ptzPosCurrent.wAction = 1; |
| | | try { |
| | | String p = String.valueOf((int) ((double) ptz.get("p") * 10)); |
| | |
| | | return false; |
| | | } |
| | | Integer userId = globalVariable.loginMap.get(cameraId); |
| | | HCNetSDK.NET_DVR_PTZPOS m_ptzPosCurrent = new HCNetSDK.NET_DVR_PTZPOS(); |
| | | NET_DVR_PTZPOS m_ptzPosCurrent = new NET_DVR_PTZPOS(); |
| | | m_ptzPosCurrent.wAction = 1; |
| | | try { |
| | | double[] cameraPositon = cmd.getCamPosition(); |
| | |
| | | return false; |
| | | } |
| | | Integer userId = globalVariable.loginMap.get(cameraId); |
| | | HCNetSDK.NET_DVR_INITIALPOSITIONCTRL initialpositionctrl = new HCNetSDK.NET_DVR_INITIALPOSITIONCTRL(); |
| | | NET_DVR_INITIALPOSITIONCTRL initialpositionctrl = new NET_DVR_INITIALPOSITIONCTRL(); |
| | | |
| | | initialpositionctrl.dwSize = initialpositionctrl.size(); |
| | | initialpositionctrl.byWorkMode = 0; |
| | |
| | | InputStream input = new ByteArrayInputStream(array); |
| | | String url = ""; |
| | | try { |
| | | boolean b = minioUtil.putObject(BucketName, ObjectName, input, input.available(), ContentType); |
| | | boolean b = MinioUtils.uploadObject(BucketName, ObjectName, input, input.available(), ContentType); |
| | | if (b) { |
| | | url = minioUtil.presignedGetObject(BucketName, ObjectName, 5); |
| | | url = MinioUtils.getBucketObjectUrl(BucketName, ObjectName); |
| | | log.info("上传文件成功!" + url); |
| | | } |
| | | } catch (IOException ex) { |
| | |
| | | String BucketName = "record"; |
| | | String uuid = UUID.randomUUID().toString().replace("-", ""); |
| | | String time = new SimpleDateFormat("yyyyMMdd").format(new Date()); |
| | | String ObjectName = time + "/" + uuid + ".mp4"; |
| | | String ObjectName = cameraId + "/" + time + "/" + uuid + ".mp4"; |
| | | String ContentType = "video/MP4"; |
| | | FileInputStream stream = null; |
| | | try { |
| | |
| | | } |
| | | String url = ""; |
| | | try { |
| | | boolean b = minioUtil.putObject(BucketName, ObjectName, stream, stream.available(), ContentType); |
| | | boolean b = MinioUtils.uploadObject(BucketName, ObjectName, stream, stream.available(), ContentType); |
| | | if (b) { |
| | | url = minioUtil.presignedGetObject(BucketName, ObjectName, 5); |
| | | url = MinioUtils.getBucketObjectUrl(BucketName, ObjectName); |
| | | log.info("上传文件成功!" + url); |
| | | } |
| | | } catch (IOException ex) { |