From 7265b3d4b666f3a59f69c6dbc556098475041a27 Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期一, 16 十月 2023 17:25:18 +0800 Subject: [PATCH] 1. 增加获取和设置PTZ接口 2. 增加相机抓图和录像接口 3. 增加设置零方位角接口 4. 增加在线状态检测接口 5. 增加云台控制接口 --- ard-work/src/main/java/com/ruoyi/device/hiksdk/sdk/LoginResultCallBack.java | 30 +++++++++++++++++++++++++++++- 1 files changed, 29 insertions(+), 1 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/device/hiksdk/sdk/LoginResultCallBack.java b/ard-work/src/main/java/com/ruoyi/device/hiksdk/sdk/LoginResultCallBack.java index a665815..a385d70 100644 --- a/ard-work/src/main/java/com/ruoyi/device/hiksdk/sdk/LoginResultCallBack.java +++ b/ard-work/src/main/java/com/ruoyi/device/hiksdk/sdk/LoginResultCallBack.java @@ -10,9 +10,13 @@ import com.ruoyi.device.channel.service.IArdChannelService; import com.ruoyi.device.hiksdk.common.GlobalVariable; import com.ruoyi.device.hiksdk.service.IHikClientService; +import com.ruoyi.media.domain.Vtdu; +import com.ruoyi.media.service.IVtduService; +import com.ruoyi.utils.forest.MediaClient; import com.sun.jna.Pointer; import lombok.extern.slf4j.Slf4j; +import javax.annotation.Resource; import java.util.Comparator; import java.util.List; import java.util.concurrent.PriorityBlockingQueue; @@ -35,6 +39,7 @@ @Override public int invoke(int lUserID, int dwResult, HCNetSDK.NET_DVR_DEVICEINFO_V30 lpDeviceinfo, Pointer pUser) { + IVtduService vtduService = SpringUtils.getBean(IVtduService.class); IArdChannelService ardChannelService = SpringUtils.getBean(IArdChannelService.class); IHikClientService hikClientService = SpringUtils.getBean(IHikClientService.class); IArdCamerasService ardCamerasService = SpringUtils.getBean(IArdCamerasService.class); @@ -53,9 +58,32 @@ //鑾峰彇鏈�鏂伴�氶亾 List<ArdChannel> cameraChannelList = hikClientService.getCameraChannelList(camera); if (cameraChannelList.size() > 0) { + //娣诲姞閫氶亾 for (ArdChannel channel : cameraChannelList) { channel.setId(IdUtils.simpleUUID()); ardChannelService.insertArdChannel(channel); + } + //閰嶇疆鍒版祦濯掍綋 + for (ArdChannel channel : cameraChannelList) { + String name = camera.getId() + "_" + channel.getChanNo(); + String rtspSource = "rtsp://" + camera.getUsername() + ":" + camera.getPassword() + "@" + camera.getIp() + ":" + camera.getRtspPort() + "/h264/ch" + channel.getChanNo() + "/main/av_stream"; + Vtdu vtdu = vtduService.selectVtduByName(name); + if (vtdu == null) { + //娣诲姞鍒版祦濯掍綋 + vtdu = new Vtdu(); + vtdu.setRtspSource(rtspSource); + vtdu.setName(camera.getId() + "_" + channel.getChanNo()); + vtdu.setIsCode("0");//榛樿涓嶈浆鐮� + vtdu.setMode("1");//榛樿CPU杞В鐮� + vtdu.setCameraId(camera.getId()); + vtduService.insertVtdu(vtdu); + } else { + if (!rtspSource.equals(vtdu.getRtspSource())) { + //鏇存柊rtsp鍦板潃 + vtdu.setRtspSource(rtspSource); + vtduService.updateVtdu(vtdu); + } + } } } //鍒涘缓寮曞闃熷垪 @@ -74,4 +102,4 @@ ardCamerasService.updateArdCameras(camera); return 1; } -} +} \ No newline at end of file -- Gitblit v1.9.3