From 02ace2769adea7ba00204fef4f0b85365e087877 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E4=B8=80=E9=B8=A3?= Date: Mon, 28 Dec 2020 09:35:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0rtsp=E7=9A=84=E9=99=90?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CameraControlController.java | 18 +++++ .../com/zhehekeji/web/lib/CameraConnMap.java | 9 ++- .../com/zhehekeji/web/lib/LoginModule.java | 30 ++++---- .../com/zhehekeji/web/lib/Mp4ReceiveCB.java | 45 +----------- .../zhehekeji/web/lib/PtzControlModule.java | 70 ++----------------- .../zhehekeji/web/service/CameraService.java | 1 + .../zhehekeji/web/service/StockService.java | 6 ++ 7 files changed, 55 insertions(+), 124 deletions(-) diff --git a/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java b/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java index af15e65..31cfe57 100644 --- a/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java +++ b/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java @@ -10,6 +10,7 @@ import com.zhehekeji.web.lib.PtzControlModule; import com.zhehekeji.web.mapper.CameraMapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -17,6 +18,7 @@ import javax.annotation.Resource; @Api(value = "CameraControl",tags = "球机控制管理") @RestController @RequestMapping("/camera/control") +@Slf4j public class CameraControlController { @Resource @@ -36,6 +38,7 @@ public class CameraControlController { @PostMapping("/up/{id}") @ApiOperation(value = "球机控制向上") public Result up(@PathVariable Integer id) { + log.debug("球机控制向上"); checkLogin(id); PtzControlModule.ptzControlUpStart(id,0,0,1); return Result.success(); @@ -44,6 +47,7 @@ public class CameraControlController { @PostMapping("/up/stop/{id}") @ApiOperation(value = "球机控制向上 停止") public Result upStop(@PathVariable Integer id) { + log.debug("球机控制向上 停止"); checkLogin(id); PtzControlModule.ptzControlUpEnd(id,0); return Result.success(); @@ -54,6 +58,7 @@ public class CameraControlController { public Result down(@PathVariable Integer id) { checkLogin(id); PtzControlModule.ptzControlDownStart(id,0,0,1); + log.debug("球机控制向下"); return Result.success(); } @@ -62,6 +67,7 @@ public class CameraControlController { public Result downStop(@PathVariable Integer id) { checkLogin(id); PtzControlModule.ptzControlDownEnd(id,0); + log.debug("球机控制向下 停止"); return Result.success(); } @@ -70,6 +76,7 @@ public class CameraControlController { public Result left(@PathVariable Integer id) { checkLogin(id); PtzControlModule.ptzControlLeftStart(id,0,0,1); + log.debug("球机控制向左"); return Result.success(); } @@ -78,6 +85,7 @@ public class CameraControlController { public Result leftStop(@PathVariable Integer id) { checkLogin(id); PtzControlModule.ptzControlLeftEnd(id,0); + log.debug("球机控制向左 -停止"); return Result.success(); } @@ -87,6 +95,7 @@ public class CameraControlController { public Result leftUp(@PathVariable Integer id) { checkLogin(id); PtzControlModule.ptzControlLeftUpStart(id,0,1,1); + log.debug("球机控制向上"); return Result.success(); } @@ -95,6 +104,7 @@ public class CameraControlController { public Result leftUpStop(@PathVariable Integer id) { checkLogin(id); PtzControlModule.ptzControlLeftUpEnd(id,0); + log.debug("球机控制向上 停止"); return Result.success(); } @@ -103,6 +113,7 @@ public class CameraControlController { public Result leftDown(@PathVariable Integer id) { checkLogin(id); PtzControlModule.ptzControlLeftDownStart(id,0,1,1); + log.debug("球机控制左下"); return Result.success(); } @@ -111,6 +122,7 @@ public class CameraControlController { public Result leftDownStop(@PathVariable Integer id) { checkLogin(id); PtzControlModule.ptzControlLeftDownEnd(id,0); + log.debug("球机控制左下 停止"); return Result.success(); } @@ -119,6 +131,7 @@ public class CameraControlController { public Result right(@PathVariable Integer id) { checkLogin(id); PtzControlModule.ptzControlRightStart(id,0,0,1); + log.debug("球机控制右"); return Result.success(); } @@ -127,6 +140,7 @@ public class CameraControlController { public Result rightStop(@PathVariable Integer id) { checkLogin(id); PtzControlModule.ptzControlRightEnd(id,0); + log.debug("球机控制右 停止"); return Result.success(); } @@ -136,6 +150,7 @@ public class CameraControlController { public Result rightUp(@PathVariable Integer id) { checkLogin(id); PtzControlModule.ptzControlRightUpStart(id,0,1,1); + log.debug("球机控制右上"); return Result.success(); } @@ -144,6 +159,7 @@ public class CameraControlController { public Result rightUpStop(@PathVariable Integer id) { checkLogin(id); PtzControlModule.ptzControlRightUpEnd(id,0); + log.debug("球机控制右上 -停止"); return Result.success(); } @@ -152,6 +168,7 @@ public class CameraControlController { public Result rightDown(@PathVariable Integer id) { checkLogin(id); PtzControlModule.ptzControlRightDownStart(id,0,1,1); + log.debug("球机控制右下"); return Result.success(); } @@ -160,6 +177,7 @@ public class CameraControlController { public Result rightDownStop(@PathVariable Integer id) { checkLogin(id); PtzControlModule.ptzControlRightDownEnd(id,0); + log.debug("球机控制右下 -停止"); return Result.success(); } diff --git a/web/src/main/java/com/zhehekeji/web/lib/CameraConnMap.java b/web/src/main/java/com/zhehekeji/web/lib/CameraConnMap.java index ae53568..e6c19d2 100644 --- a/web/src/main/java/com/zhehekeji/web/lib/CameraConnMap.java +++ b/web/src/main/java/com/zhehekeji/web/lib/CameraConnMap.java @@ -8,11 +8,16 @@ public class CameraConnMap{ public static Map cameraMap = new HashMap<>(); public static void conn(Integer cameraId,NetSDKLib.LLong handlerId){ - cameraMap.put(cameraId,handlerId); + synchronized (cameraId.toString().intern()){ + cameraMap.put(cameraId,handlerId); + } + } public static void disConn(Integer cameraId){ - cameraMap.remove(cameraId); + synchronized (cameraId.toString().intern()){ + cameraMap.remove(cameraId); + } } public static NetSDKLib.LLong getConnId(Integer cameraId){ diff --git a/web/src/main/java/com/zhehekeji/web/lib/LoginModule.java b/web/src/main/java/com/zhehekeji/web/lib/LoginModule.java index 37f60a8..9aa0b83 100644 --- a/web/src/main/java/com/zhehekeji/web/lib/LoginModule.java +++ b/web/src/main/java/com/zhehekeji/web/lib/LoginModule.java @@ -48,21 +48,21 @@ public class LoginModule { //Res res = Res.string(); //打开日志,可选 -// NetSDKLib.LOG_SET_PRINT_INFO setLog = new NetSDKLib.LOG_SET_PRINT_INFO(); -// File path = new File("./sdklog/"); -// if (!path.exists()) { -// path.mkdir(); -// } -// String logPath = path.getAbsoluteFile().getParent() + "\\sdklog\\" + ToolKits.getDate() + ".log"; -// setLog.nPrintStrategy = 0; -// setLog.bSetFilePath = 1; -// System.arraycopy(logPath.getBytes(), 0, setLog.szLogFilePath, 0, logPath.getBytes().length); -// System.out.println(logPath); -// setLog.bSetPrintStrategy = 1; -// bLogopen = netsdk.CLIENT_LogOpen(setLog); -// if(!bLogopen ) { -// System.err.println("Failed to open NetSDK log"); -// } + NetSDKLib.LOG_SET_PRINT_INFO setLog = new NetSDKLib.LOG_SET_PRINT_INFO(); + File path = new File("./sdklog/"); + if (!path.exists()) { + path.mkdir(); + } + String logPath = path.getAbsoluteFile().getParent() + "\\sdklog\\" + ToolKits.getDate() + ".log"; + setLog.nPrintStrategy = 0; + setLog.bSetFilePath = 1; + System.arraycopy(logPath.getBytes(), 0, setLog.szLogFilePath, 0, logPath.getBytes().length); + System.out.println(logPath); + setLog.bSetPrintStrategy = 1; + bLogopen = netsdk.CLIENT_LogOpen(setLog); + if(!bLogopen ) { + System.err.println("Failed to open NetSDK log"); + } // 设置断线重连回调接口,设置过断线重连成功回调函数后,当设备出现断线情况,SDK内部会自动进行重连操作 // 此操作为可选操作,但建议用户进行设置 diff --git a/web/src/main/java/com/zhehekeji/web/lib/Mp4ReceiveCB.java b/web/src/main/java/com/zhehekeji/web/lib/Mp4ReceiveCB.java index a90957e..eef3cdd 100644 --- a/web/src/main/java/com/zhehekeji/web/lib/Mp4ReceiveCB.java +++ b/web/src/main/java/com/zhehekeji/web/lib/Mp4ReceiveCB.java @@ -1,57 +1,16 @@ package com.zhehekeji.web.lib; import com.sun.jna.Pointer; -import com.zhehekeji.common.util.PathUtil; -import org.springframework.web.bind.annotation.PathVariable; - -import javax.imageio.ImageIO; -import java.io.*; public class Mp4ReceiveCB implements NetSDKLib.fTimeDownLoadPosCallBack { -// @Override -// public int invoke(NetSDKLib.LLong lRealHandle, int dwDataType, Pointer pBuf, int RevLen, Pointer dwUser) { -// if(pBuf != null && RevLen > 0) { -// byte[] buf = pBuf.getByteArray(0, RevLen); -// -// File file = PathUtil.getFile("d://qq/recive/qqq.mp4"); -// OutputStream os = null; -// try { -// os = new FileOutputStream(file); -// } catch (FileNotFoundException e) { -// e.printStackTrace(); -// } -// for(int i = 0;i stocksByStreet(){ + return null; + } }