From 6d44233b19774063d82303d6fb725feea6601a56 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: Wed, 14 Jun 2023 17:28:03 +0800
Subject: [PATCH] 优化海康sdk录像
---
ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java | 22 ++++++++++++----------
1 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
index 1d5a6cd..8034b22 100644
--- a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
@@ -1335,16 +1335,19 @@
previewinfo.byNPQMode = 0;//NPQ模式:0-直连模式,1-过流媒体模式
previewinfo.write();
if (enable) {
- if (!GlobalVariable.previewMap.containsKey(cameraId)) {
- int lRealHandle = hCNetSDK.NET_DVR_RealPlay_V40(userId, previewinfo, null, null);
- if (lRealHandle == -1) {
- log.error("取流失败" + hCNetSDK.NET_DVR_GetLastError());
- return;
- }
- log.info("取流成功");
- GlobalVariable.previewMap.put(cameraId, lRealHandle);
+ if (GlobalVariable.previewMap.containsKey(cameraId)) {
+ Integer lRealHandle = GlobalVariable.previewMap.get(cameraId);
+ hCNetSDK.NET_DVR_StopRealPlay(lRealHandle);
+ GlobalVariable.previewMap.remove(cameraId);
+ log.info("录像停止");
}
-
+ int lRealHandle = hCNetSDK.NET_DVR_RealPlay_V40(userId, previewinfo, null, null);
+ if (lRealHandle == -1) {
+ log.error("取流失败" + hCNetSDK.NET_DVR_GetLastError());
+ return;
+ }
+ log.info("取流成功");
+ GlobalVariable.previewMap.put(cameraId, lRealHandle);
if (!hCNetSDK.NET_DVR_SaveRealData_V30(GlobalVariable.previewMap.get(cameraId), 2, path)) {
log.error("保存视频文件到临时文件夹失败 错误码为: " + hCNetSDK.NET_DVR_GetLastError());
return;
@@ -1357,7 +1360,6 @@
GlobalVariable.previewMap.remove(cameraId);
}
log.info("录像停止");
-
//存入minio
String BucketName = cmd.getRecordBucketName();
String ObjectName = cmd.getRecordObjectName();
--
Gitblit v1.9.3