From d353fdce7cb957aa0f5d9d51d0ad4205c96e156c Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期六, 21 十月 2023 11:57:12 +0800
Subject: [PATCH] 1、流媒体升级1.2.0,修改部分forest接口 2、登录设备判断编码自动配置转码 3、增加sdk聚焦模式切换 4、增加sdk视场角获取并定时上传

---
 ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java |  114 +++++++++++++++++++++++++++++++--------------------------
 1 files changed, 62 insertions(+), 52 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java b/ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java
index b7e6aef..2357121 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java
@@ -10,6 +10,7 @@
 import com.ruoyi.device.camera.domain.ArdCameras;
 import com.ruoyi.device.camera.domain.CameraCmd;
 import com.ruoyi.device.camera.service.IArdCamerasService;
+import com.ruoyi.device.camera.service.ICameraSdkService;
 import com.ruoyi.device.dhsdk.service.IDhClientService;
 import com.ruoyi.device.hiksdk.service.IHikClientService;
 import io.swagger.annotations.Api;
@@ -58,26 +59,20 @@
 public class CameraSdkController extends BaseController {
 
     @Resource
-    private IHikClientService hikClientService;
-    @Resource
-    private IDhClientService dhClientService;
+    private ICameraSdkService cameraSdkService;
     @Resource
     private IArdCamerasService ardCamerasService;
 
     /**
-     * @鎻忚堪 鍒濆鍔犺浇娴峰悍搴撴枃浠�
-     * @鍙傛暟 []
+     * @鎻忚堪 鍒濆鍔犺浇SDK搴撴枃浠�
      * @杩斿洖鍊� void
      * @鍒涘缓浜� 鍒樿嫃涔�
      * @鍒涘缓鏃堕棿 2023/1/17 16:13
      * @淇敼浜哄拰鍏跺畠淇℃伅 if (Platform.isLinux())
      */
     @PostConstruct
-    public void initHCNetSDK() {
-        //鍒濆鍖栧姞杞絪dk搴撴枃浠�
-        hikClientService.loadHCNetSDKLib();
-        //鐧诲綍鎵�鏈夌浉鏈�
-        hikClientService.loginAll();
+    public void initSDK() {
+        cameraSdkService.initSDK();
     }
 
     @RequestMapping("/preview")
@@ -103,7 +98,7 @@
     @Log(title = "鑾峰彇鐮佹祦鍘嬬缉鍙傛暟", businessType = BusinessType.CONTROL)
     public @ResponseBody
     AjaxResult getVideoCompressionCfg(@RequestBody CameraCmd cmd) {
-        return AjaxResult.success(hikClientService.getVideoCompressionCfg(cmd));
+        return AjaxResult.success(cameraSdkService.getVideoCompressionCfg(cmd));
     }
 
     @ApiOperation("鍦ㄧ嚎鐘舵��")
@@ -113,7 +108,7 @@
     public @ResponseBody
     AjaxResult getOnlineState(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        boolean onLine = hikClientService.isOnLine(cmd);
+        boolean onLine = cameraSdkService.isOnLine(cmd);
         return AjaxResult.success(onLine);
     }
 
@@ -125,7 +120,7 @@
     public @ResponseBody
     AjaxResult PTZControlWithSpeed(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(hikClientService.pTZControlWithSpeed(cmd));
+        return toAjax(cameraSdkService.pTZControl(cmd));
     }
 
     @ApiOperation("璋冪敤棰勭疆鐐�")
@@ -135,7 +130,7 @@
     public @ResponseBody
     AjaxResult gotoPreset(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(hikClientService.gotoPreset(cmd));
+        return toAjax(cameraSdkService.gotoPreset(cmd));
     }
 
     @ApiOperation("璁剧疆棰勭疆鐐�")
@@ -145,7 +140,7 @@
     public @ResponseBody
     AjaxResult setPreset(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(hikClientService.setPreset(cmd));
+        return toAjax(cameraSdkService.setPreset(cmd));
     }
 
     @ApiOperation("鑾峰彇鑱氱劍鍊�")
@@ -155,8 +150,8 @@
     public @ResponseBody
     AjaxResult getFocusPos(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        Map<String, Object> Map = hikClientService.getFocusPos(cmd);
-        return AjaxResult.success("鑾峰彇鑱氱劍鍊�", Map);
+        int focus = cameraSdkService.getFocusPos(cmd);
+        return AjaxResult.success("鑾峰彇鑱氱劍鍊�", focus);
     }
 
     @ApiOperation("璁剧疆鑱氱劍鍊�")
@@ -166,7 +161,7 @@
     public @ResponseBody
     AjaxResult setFocusPos(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(hikClientService.setFocusPos(cmd));
+        return toAjax(cameraSdkService.setFocusPos(cmd));
     }
 
     @ApiOperation("鑾峰彇PTZ")
@@ -176,7 +171,7 @@
     public @ResponseBody
     AjaxResult getPTZ(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        Map<String, Object> ptzMap = hikClientService.getPtz(cmd);
+        Map<String, Object> ptzMap = cameraSdkService.getPtz(cmd);
         return AjaxResult.success("鑾峰彇ptz", ptzMap);
     }
 
@@ -187,7 +182,7 @@
     public @ResponseBody
     AjaxResult getPTZScope(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        Map<String, Object> ptzMap = hikClientService.getPtzScope(cmd);
+        Map<String, Object> ptzMap = cameraSdkService.getPtzScope(cmd);
         return AjaxResult.success("鑾峰彇ptz鑼冨洿", ptzMap);
     }
 
@@ -198,7 +193,7 @@
     public @ResponseBody
     AjaxResult setPTZ(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(hikClientService.setPtz(cmd));
+        return toAjax(cameraSdkService.setPtz(cmd));
     }
 
     @ApiOperation("鎸囧悜鐩爣")
@@ -208,18 +203,18 @@
     public @ResponseBody
     AjaxResult setTargetPosition(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(hikClientService.guideTargetPosition(cmd));
+        return toAjax(cameraSdkService.guideTargetPosition(cmd));
     }
 
 
     @ApiOperation("璁剧疆闆舵柟浣嶈")
     @PostMapping("/setZeroPTZ")
     @Log(title = "璁剧疆闆舵柟浣嶈", businessType = BusinessType.CONTROL)
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.cmd.chanNo"})
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
     public @ResponseBody
     AjaxResult setZeroPTZ(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(hikClientService.setZeroPtz(cmd));
+        return toAjax(cameraSdkService.setZeroPtz(cmd));
     }
 
     @ApiOperation("璁剧疆閿佸畾")
@@ -229,7 +224,7 @@
     public @ResponseBody
     AjaxResult setPTZLock(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return AjaxResult.success(hikClientService.controlLock(cmd));
+        return AjaxResult.success(cameraSdkService.controlLock(cmd));
     }
 
     @ApiOperation("璁剧疆瑙i攣")
@@ -239,7 +234,7 @@
     public @ResponseBody
     AjaxResult setPTZUnLock(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return AjaxResult.success(hikClientService.controlUnLock(cmd));
+        return AjaxResult.success(cameraSdkService.controlUnLock(cmd));
     }
 
     @ApiOperation("鑾峰彇浜戝彴閿佸畾淇℃伅")
@@ -249,7 +244,7 @@
     public @ResponseBody
     AjaxResult getPTZLockInfo(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        int byWorkMode = hikClientService.getPTZLockInfo(cmd);
+        int byWorkMode = cameraSdkService.getPTZLockInfo(cmd);
         if (byWorkMode == 0) {
             return AjaxResult.success("浜戝彴閿佸畾鐘舵�侊細瑙i攣");
         } else if (byWorkMode == 1) {
@@ -266,7 +261,7 @@
     public @ResponseBody
     AjaxResult defogcfg(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(hikClientService.controlDefogcfg(cmd));
+        return toAjax(cameraSdkService.controlDefogcfg(cmd));
     }
 
     @ApiOperation("绾㈠寮�鍏�")
@@ -276,7 +271,7 @@
     public @ResponseBody
     AjaxResult infrarecfg(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(hikClientService.controlInfrarecfg(cmd));
+        return toAjax(cameraSdkService.controlInfrarecfg(cmd));
     }
 
     @ApiOperation(value = "鎵嬪姩/鑷姩鑱氱劍", notes = "true鎵嬪姩flase鑷姩")
@@ -286,15 +281,16 @@
     public @ResponseBody
     AjaxResult enableFocusMode(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(hikClientService.controlFocusMode(cmd));
+        return toAjax(cameraSdkService.controlFocusMode(cmd));
     }
 
     @ApiOperation(value = "鑾峰彇鑱氱劍妯″紡", notes = "1鎵嬪姩2鑷姩")
     @PostMapping("/getFocusMode")
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
     public @ResponseBody
     AjaxResult getFocusMode(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        String focusMode = hikClientService.getFocusMode(cmd);
+        String focusMode = cameraSdkService.getFocusMode(cmd);
         return AjaxResult.success(focusMode);
     }
 
@@ -305,7 +301,7 @@
     public @ResponseBody
     AjaxResult heateRpwron(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(hikClientService.controlPTHeateRpwron(cmd));
+        return toAjax(cameraSdkService.controlPTHeateRpwron(cmd));
     }
 
 
@@ -316,15 +312,7 @@
     public @ResponseBody
     AjaxResult cameraDeicing(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return toAjax(hikClientService.controlCameraDeicing(cmd));
-    }
-
-    @PostMapping("/captureJPEGPicture")
-    public @ResponseBody
-    AjaxResult captureJPEGPicture(@RequestBody CameraCmd cmd) {
-        cmd.setOperator(SecurityUtils.getUserId());
-        String base64Str = hikClientService.captureJPEGPicture(cmd);
-        return toAjaxString(base64Str, "鐩告満鎶撳浘");
+        return toAjax(cameraSdkService.controlCameraDeicing(cmd));
     }
 
     @ApiOperation("鐩告満鎶撳浘")
@@ -334,28 +322,50 @@
     public @ResponseBody
     AjaxResult picCutCate(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        String path = hikClientService.picCutCate(cmd);
+        String path = cameraSdkService.picCutCate(cmd);
         return toAjaxString(path, "鐩告満鎶撳浘");
     }
 
-    @ApiOperation("鎵嬪姩褰曞儚")
+    @ApiOperation("鑾峰彇鐩告満鏋惰鍙傛暟")
+    @PostMapping("/getGisInfo")
+    @Log(title = "鑾峰彇鐩告満鏋惰鍙傛暟", businessType = BusinessType.CONTROL)
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
+    public @ResponseBody
+    AjaxResult getGisInfo(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        return AjaxResult.success(cameraSdkService.getGisInfo(cmd));
+    }
+
+    @ApiOperation("褰曞儚")
     @PostMapping("/record")
-    @Log(title = "鎵嬪姩褰曞儚", businessType = BusinessType.CONTROL)
+    @Log(title = "鎵嬪姩褰曞儚寮�濮�", businessType = BusinessType.CONTROL)
     @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.enable"})
     public @ResponseBody
     AjaxResult record(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        String path = hikClientService.record(cmd);
-        return toAjaxString(path, "鎵嬪姩褰曞儚");
+        String url = cameraSdkService.record(cmd);
+        return AjaxResult.success(url);
     }
 
-    @ApiOperation("鑾峰彇鐩告満鏋惰鍙傛暟")
-    @PostMapping("/getCameraSetupCFG")
-    @Log(title = "鑾峰彇鐩告満鏋惰鍙傛暟", businessType = BusinessType.CONTROL)
-    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo", "cmd.enable"})
+    @ApiOperation("鎵嬪姩褰曞儚寮�濮�")
+    @PostMapping("/recordStart")
+    @Log(title = "鎵嬪姩褰曞儚寮�濮�", businessType = BusinessType.CONTROL)
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.chanNo"})
     public @ResponseBody
-    AjaxResult getCameraSetupCFG(@RequestBody CameraCmd cmd) {
+    AjaxResult recordStart(@RequestBody CameraCmd cmd) {
         cmd.setOperator(SecurityUtils.getUserId());
-        return AjaxResult.success(hikClientService.getGisInfo(cmd));
+        boolean b = cameraSdkService.recordStart(cmd);
+        return toAjax(b);
+    }
+
+    @ApiOperation("鎵嬪姩褰曞儚鍋滄")
+    @PostMapping("/recordStop")
+    @Log(title = "鎵嬪姩褰曞儚鍋滄", businessType = BusinessType.CONTROL)
+    @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.recordBucketName", "cmd.recordObjectName"})
+    public @ResponseBody
+    AjaxResult recordStop(@RequestBody CameraCmd cmd) {
+        cmd.setOperator(SecurityUtils.getUserId());
+        String url = cameraSdkService.recordStopToMinio(cmd);
+        return AjaxResult.success(url);
     }
 }

--
Gitblit v1.9.3