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