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