From a919d7e0383efa211bb006f7ec22e5c9c36aa59e Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期六, 20 四月 2024 10:17:54 +0800
Subject: [PATCH] 优化本地录像

---
 ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java |   62 +++++++++++++++++-------------
 1 files changed, 35 insertions(+), 27 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java b/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java
index 85e0da4..fd31780 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java
@@ -587,31 +587,31 @@
         try {
             String cameraId = cmd.getCameraId();
             Integer chanNo = cmd.getChanNo();
-            String path = FileUtils.createFile("D:/LocalRecordTemp/" + cameraId + ".mp4");
+
             if (!GlobalVariable.loginMap.containsKey(cameraId)) {
                 return AjaxResult.error("璁惧鏈櫥褰�");
             }
             LLong loginId = (LLong) GlobalVariable.loginMap.get(cameraId);
-            LLong lRealHandle;
-            if (GlobalVariable.previewMap.containsKey(cameraId)) {
-                lRealHandle = new LLong(GlobalVariable.previewMap.get(cameraId));
-                RealPlayModule.stopRealPlay(lRealHandle);
-                GlobalVariable.previewMap.remove(cameraId);
-                log.debug("鍋滄褰撳墠褰曞儚");
-            }
-            lRealHandle = RealPlayModule.startRealPlay(loginId, chanNo - 1, path);
+            //if (GlobalVariable.previewMap.containsKey(cameraId)) {
+            //    lRealHandle = new LLong(GlobalVariable.previewMap.get(cameraId));
+            //    RealPlayModule.stopRealPlay(lRealHandle);
+            //    GlobalVariable.previewMap.remove(cameraId);
+            //    log.debug("鍋滄褰撳墠褰曞儚");
+            //}
+            String path = FileUtils.createFile("D:/LocalRecordTemp/" + cameraId + ".mp4");
+            LLong lRealHandle = RealPlayModule.startRealPlay(loginId, chanNo - 1, path);
             if (lRealHandle.longValue() <= 0) {
                 log.error("鍙栨祦澶辫触" + getErrorCodePrint());
             }
             log.debug("鏈湴褰曞儚寮�濮嬪彇娴佹垚鍔�");
-            GlobalVariable.previewMap.put(cameraId, lRealHandle.intValue());
-            GlobalVariable.threadMap.put(cameraId, Thread.currentThread().getName());
+            //GlobalVariable.previewMap.put(cameraId, lRealHandle.intValue());
+            //GlobalVariable.threadMap.put(cameraId, Thread.currentThread().getName());
             //if (!netsdk.CLIENT_SaveRealData(lRealHandle, path)) {
             //    log.error("淇濆瓨瑙嗛鏂囦欢鍒颁复鏃舵枃浠跺す澶辫触 閿欒鐮佷负:  " +getErrorCodePrint());
             //    return false;
             //}
             log.debug("鏈湴褰曞儚寮�濮�");
-            return AjaxResult.success("鏈湴褰曞儚寮�濮�,褰曞儚ID:"+lRealHandle);
+            return AjaxResult.success("鏈湴褰曞儚寮�濮�",lRealHandle);
         } catch (Exception ex) {
             log.error("鏈湴褰曞儚寮�濮嬪紓甯�" + ex.getMessage());
             return AjaxResult.error("鏈湴褰曞儚寮�濮嬪紓甯�" + ex.getMessage());
@@ -622,24 +622,32 @@
     public AjaxResult localRecordStop(CameraCmd cmd) {
         try {
             String cameraId = cmd.getCameraId();
+            LLong lRealHandle = new LLong(cmd.getRecordId());
             if (!GlobalVariable.loginMap.containsKey(cameraId)) {
                 return AjaxResult.error("璁惧鏈櫥褰�");
             }
-            LLong lRealHandle;
-            if (GlobalVariable.previewMap.containsKey(cameraId)) {
-                lRealHandle = new LLong(GlobalVariable.previewMap.get(cameraId));
-                RealPlayModule.stopRealPlay(lRealHandle);
-                GlobalVariable.previewMap.remove(cameraId);
-                log.debug("鏈湴褰曞儚鍋滄");
-                String recordPath = FileUtils.createFile("D:/LocalRecordTemp/" + cameraId + ".mp4");
-                byte[] imageBytes = Files.readAllBytes(Paths.get(recordPath));
-               // OutputStream outputStream = response.getOutputStream();
-               // outputStream.write(imageBytes);
-                return AjaxResult.success(imageBytes);
-            }
-            else {
-                return AjaxResult.error("璁惧鏈紑濮嬪綍鍍�");
-            }
+
+            RealPlayModule.stopRealPlay(lRealHandle);
+            log.debug("鏈湴褰曞儚鍋滄");
+            String recordPath = FileUtils.createFile("D:/LocalRecordTemp/" + cameraId + ".mp4");
+            byte[] imageBytes = Files.readAllBytes(Paths.get(recordPath));
+            // OutputStream outputStream = response.getOutputStream();
+            // outputStream.write(imageBytes);
+            return AjaxResult.success(imageBytes);
+            //if (GlobalVariable.previewMap.containsKey(cameraId)) {
+            //    lRealHandle = new LLong(GlobalVariable.previewMap.get(cameraId));
+            //    RealPlayModule.stopRealPlay(lRealHandle);
+            //    GlobalVariable.previewMap.remove(cameraId);
+            //    log.debug("鏈湴褰曞儚鍋滄");
+            //    String recordPath = FileUtils.createFile("D:/LocalRecordTemp/" + cameraId + ".mp4");
+            //    byte[] imageBytes = Files.readAllBytes(Paths.get(recordPath));
+            //   // OutputStream outputStream = response.getOutputStream();
+            //   // outputStream.write(imageBytes);
+            //    return AjaxResult.success(imageBytes);
+            //}
+            //else {
+            //    return AjaxResult.error("璁惧鏈紑濮嬪綍鍍�");
+            //}
         } catch (Exception ex) {
             log.error("鏈湴褰曞儚鍋滄寮傚父" + ex.getMessage());
             return AjaxResult.error("鏈湴褰曞儚鍋滄寮傚父" + ex.getMessage());

--
Gitblit v1.9.3