ard-work/pom.xml
@@ -20,13 +20,6 @@ <version>5.0.1</version> </dependency> <!-- 通用工具--> <!-- <dependency>--> <!-- <groupId>commons-codec</groupId>--> <!-- <artifactId>commons-codec</artifactId>--> <!-- <version>1.10</version>--> <!-- </dependency>--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-common</artifactId> @@ -89,11 +82,11 @@ <artifactId>geodesy</artifactId> <version>1.1.3</version> </dependency> <dependency> <groupId>org.bytedeco</groupId> <artifactId>javacv-platform</artifactId> <version>1.5.7</version> </dependency> <!-- <dependency>--> <!-- <groupId>org.bytedeco</groupId>--> <!-- <artifactId>javacv-platform</artifactId>--> <!-- <version>1.5.7</version>--> <!-- </dependency>--> <!-- Forest --> <dependency> <groupId>com.dtflys.forest</groupId> ard-work/src/main/java/com/ruoyi/cmd/startup.java
@@ -6,10 +6,15 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.context.ApplicationContextInitializer; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import org.springframework.core.io.ResourceLoader; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -47,6 +52,7 @@ Boolean webrtcEnabled; //redis String redisName = "redis-server.exe"; /** * 程序初始化启动redis * 刘苏义 @@ -55,7 +61,7 @@ @Override public void initialize(ConfigurableApplicationContext applicationContext) { if (Platform.isWindows()) { String exePath = System.getProperty("user.dir") + File.separator + "lib" + File.separator + "redis" + File.separator + redisName; String exePath = System.getProperty("user.dir") + File.separator + "server" + File.separator + "redis" + File.separator + redisName; List<String> cmd = new ArrayList<>(); cmd.add(exePath); if (CmdUtils.isProcessRunning(redisName)) { @@ -75,7 +81,7 @@ if (minioEnabled) { log.info("初始化启动minio"); if (Platform.isWindows()) { String exePath = System.getProperty("user.dir") + File.separator + "lib" + File.separator + "minio" + File.separator + minioName; String exePath = System.getProperty("user.dir") + File.separator + "server" + File.separator + "minio" + File.separator + minioName; Map<String, String> env = new HashMap<>(); env.put("MINIO_ROOT_USER", accessKey); env.put("MINIO_ROOT_PASSWORD", secretKey); @@ -99,8 +105,8 @@ if (mediamtxEnabled) { log.info("初始化启动mediaMTX"); if (Platform.isWindows()) { String exePath = System.getProperty("user.dir") + File.separator + "lib" + File.separator + "mediamtx" + File.separator + mediamtxName; String ymlPath = System.getProperty("user.dir") + File.separator + "lib" + File.separator + "mediamtx" + File.separator + "mediamtx.yml"; String exePath = System.getProperty("user.dir") + File.separator + "server" + File.separator + "mediamtx" + File.separator + mediamtxName; String ymlPath = System.getProperty("user.dir") + File.separator + "server" + File.separator + "mediamtx" + File.separator + "mediamtx.yml"; List<String> cmd = new ArrayList<>(); cmd.add(exePath); @@ -119,7 +125,7 @@ if (webrtcEnabled) { log.info("初始化启动webrtc-streamer"); if (Platform.isWindows()) { String exePath = System.getProperty("user.dir") + File.separator + "lib" + File.separator + "webrtc" + File.separator + webrtcName; String exePath = System.getProperty("user.dir") + File.separator + "server" + File.separator + "webrtc" + File.separator + webrtcName; List<String> cmd = new ArrayList<>(); cmd.add(exePath); cmd.add("-H" + webrtcHost); ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java
@@ -63,16 +63,11 @@ @Resource private IArdCamerasService ardCamerasService; /** * @描述 初始加载SDK库文件 * @返回值 void * @创建人 刘苏义 * @创建时间 2023/1/17 16:13 * @修改人和其它信息 if (Platform.isLinux()) */ //初始登录所有相机 @PostConstruct public void initSDK() { cameraSdkService.initSDK(); public void initLoginAll() { cameraSdkService.loginAll(); } @RequestMapping("/preview") @@ -174,7 +169,6 @@ Map<String, Object> ptzMap = cameraSdkService.getPtz(cmd); return AjaxResult.success("获取ptz", ptzMap); } @ApiOperation("获取PTZ范围") @PostMapping("/getPTZScope") @Log(title = "获取PTZ范围", businessType = BusinessType.CONTROL) ard-work/src/main/java/com/ruoyi/device/camera/service/ICameraSdkService.java
@@ -6,8 +6,8 @@ import java.util.Map; public interface ICameraSdkService { //sdk初始化 void initSDK(); //初始化登录 void loginAll(); //登录 Boolean login(ArdCameras ardCamera); ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java
@@ -45,19 +45,14 @@ IDhClientService dhClientService; @Resource RedisCache redisCache; //初始化SDK @Override public void initSDK() { //初始化加载sdk库文件 boolean initHIK = hikClientService.init(); if (initHIK) { public void loginAll() { hikClientService.loginAll();//登录全部海康相机 } Boolean initDH = dhClientService.init(); if (initDH) { dhClientService.loginAll();//登录全部大华相机 } } //登录 @Override public Boolean login(ArdCameras ardCamera) { @@ -66,7 +61,7 @@ if (ardCamera != null) { String factory = ardCamera.getFactory(); if (factory.equals("1")) { hikClientService.syncLogin(ardCamera); hikClientService.login(ardCamera); result=true; } else if (factory.equals("2")) { result = dhClientService.login(ardCamera); @@ -78,6 +73,7 @@ } return result; } //注销 @Override public boolean logout(String cameraId) { @@ -120,6 +116,7 @@ return false; } } //云台控制 @SdkOperate @Override @@ -142,6 +139,7 @@ return false; } } //设置聚焦值 @Override public boolean setFocusPos(CameraCmd cmd) { @@ -163,6 +161,7 @@ } return result; } //获取聚焦值 @Override public int getFocusPos(CameraCmd cmd) { @@ -183,6 +182,7 @@ } return result; } //设置预置位 @Override public boolean setPreset(CameraCmd cmd) { @@ -203,6 +203,7 @@ } return result; } //调用预置位 @Override public boolean gotoPreset(CameraCmd cmd) { @@ -223,6 +224,7 @@ } return result; } //获取码流压缩参数 @Override public Map<String, Object> getVideoCompressionCfg(CameraCmd cmd) { @@ -243,6 +245,7 @@ } return map; } //透雾开关 @Override public boolean controlDefogcfg(CameraCmd cmd) { @@ -263,6 +266,7 @@ } return result; } //红外开关 @Override public boolean controlInfrarecfg(CameraCmd cmd) { @@ -283,6 +287,7 @@ } return result; } //手动/自动聚焦 @Override public boolean controlFocusMode(CameraCmd cmd) { @@ -303,6 +308,7 @@ } return result; } //获取聚焦模式 @Override public String getFocusMode(CameraCmd cmd) { @@ -323,6 +329,7 @@ } return result; } //云台加热 @Override public boolean controlPTHeateRpwron(CameraCmd cmd) { @@ -343,6 +350,7 @@ } return result; } //镜头加热 @Override public boolean controlCameraDeicing(CameraCmd cmd) { @@ -389,6 +397,7 @@ public String captureJPEGPicture(CameraCmd cmd) { return null; } //抓图 @SdkOperate @Override @@ -415,6 +424,7 @@ } return url; } //获取ptz @Override public Map<String, Object> getPtz(CameraCmd cmd) { @@ -435,6 +445,7 @@ } return map; } //获取ptz范围 @Override public Map<String, Object> getPtzScope(CameraCmd cmd) { @@ -455,6 +466,7 @@ } return map; } //设置ptz @SdkOperate @Override @@ -476,6 +488,7 @@ } return result; } //设置零方位角 @SdkOperate @Override @@ -497,6 +510,7 @@ } return result; } //引导指向目标 @SdkOperate @Override @@ -606,6 +620,7 @@ } return result; } //停止录像并存入minio @Override public String recordStopToMinio(CameraCmd cmd) { @@ -626,6 +641,7 @@ } return url; } //停止录像并不存入minio @Override public boolean recordStopNotToMinio(CameraCmd cmd) { ard-work/src/main/java/com/ruoyi/device/dhsdk/lib/LibraryLoad.java
@@ -85,7 +85,7 @@ * @return */ private static String extractLibrary(String libName) { return extractLibrary("", libName); return extractLibrary("/lib", libName); } /** @@ -119,6 +119,13 @@ } extractedLibFile = new File(nativeTempDir + libFullName); reader = new BufferedInputStream(in); // 检查文件夹是否存在,如果不存在则创建 File parentDir = extractedLibFile.getParentFile(); if (!parentDir.exists()) { parentDir.mkdirs(); } writer = new FileOutputStream(extractedLibFile); byte[] buffer = new byte[1024]; while (true) { @@ -130,7 +137,7 @@ writer.close(); in.close(); } catch (Exception e) { //System.out.println("dynamic file[ "+ fileName+ " ] not found in project.please ensure you need this library."); System.out.println("dynamic file[ " + fileName + " ] not found in project.please ensure you need this library."); } return extractedLibFile != null ? extractedLibFile.getAbsolutePath() : ""; } ard-work/src/main/java/com/ruoyi/device/dhsdk/lib/NetSDKLib.java
@@ -17,10 +17,11 @@ */ public interface NetSDKLib extends Library { NetSDKLib NETSDK_INSTANCE = Native.load("lib/dhDll/dhnetsdk", NetSDKLib.class); //NetSDKLib NETSDK_INSTANCE = Native.load("lib/dhDll/dhnetsdk", NetSDKLib.class); //NetSDKLib CONFIG_INSTANCE = Native.load("lib/dhDll/dhconfigsdk", NetSDKLib.class); NetSDKLib CONFIG_INSTANCE = Native.load("lib/dhDll/dhconfigsdk", NetSDKLib.class); NetSDKLib NETSDK_INSTANCE = Native.load(LibraryLoad.getLoadLibrary("dhnetsdk"), NetSDKLib.class); NetSDKLib CONFIG_INSTANCE = Native.load(LibraryLoad.getLoadLibrary("dhconfigsdk"), NetSDKLib.class); //NetSDKLib CONFIG_JNI = (NetSDKLib)Native.loadLibrary(util.getLoadLibrary("JNI1.dll"), INetSDK.class); class LLong extends IntegerType { private static final long serialVersionUID = 1L; ard-work/src/main/java/com/ruoyi/device/dhsdk/lib/Utils.java
@@ -110,9 +110,9 @@ String loadLibrary = ""; String osPrefix = getOsPrefix(); if (osPrefix.toLowerCase().startsWith("win32-x86")) { loadLibrary = "./libs/win32/"; loadLibrary = "./lib/win32/"; } else if (osPrefix.toLowerCase().startsWith("win32-amd64")) { loadLibrary = "./libs/win64/"; loadLibrary = "./lib/win64/"; } else if (osPrefix.toLowerCase().startsWith("linux-i386")) { loadLibrary = ""; } else if (osPrefix.toLowerCase().startsWith("linux-amd64")) { ard-work/src/main/java/com/ruoyi/device/dhsdk/lib/structure/CFG_MOTION_INFO.java
@@ -16,7 +16,7 @@ /** * @author 47081 * @description 动态监测报警配置,对应接口 {@link * com.netsdk.lib.NetSDKLib#CLIENT_GetNewDevConfig(NetSDKLib.LLong, String, int, byte[], int, * com.ruoyi.device.dhsdk.lib.NetSDKLib#CLIENT_GetNewDevConfig(NetSDKLib.LLong, String, int, byte[], int, * IntByReference, int)}和{@link NetSDKLib#CLIENT_SetNewDevConfig(NetSDKLib.LLong, String, int, * byte[], int, IntByReference, IntByReference, int)} * @date 2021/4/9 ard-work/src/main/java/com/ruoyi/device/dhsdk/lib/structure/NET_ALARM_DEVICE_MODIFIED_INFO.java
@@ -14,11 +14,11 @@ public NET_TIME_EX stuUTC=new NET_TIME_EX(); // 事件发生的时间,标准的(不带时区偏差的)UTC时间 public byte[] szUser=new byte[32]; // 用户名称 /** * {@link com.netsdk.lib.enumeration.NET_EVENT_OPERATE_TYPE} * {@link com.ruoyi.device.dhsdk.lib.enumeration.NET_EVENT_OPERATE_TYPE} */ public int emOpType; // 操作类型 /** * {@link com.netsdk.lib.enumeration.NET_EVENT_DEVICE_TYPE} * {@link com.ruoyi.device.dhsdk.lib.enumeration.NET_EVENT_DEVICE_TYPE} */ public int emDeviceType; // 设备类型 public byte[] szReserved=new byte[1024];// 保留字节 ard-work/src/main/java/com/ruoyi/device/dhsdk/lib/structure/NET_CFG_ACCESSCTL_SPECIALDAY_GROUP_INFO.java
@@ -8,7 +8,7 @@ * @author 47081 * @version 1.0 * @description 门禁假日组配置,对应枚举 {@link * com.netsdk.lib.enumeration.NET_EM_CFG_OPERATE_TYPE#NET_EM_CFG_ACCESSCTL_SPECIALDAY_GROUP} * com.ruoyi.device.dhsdk.lib.enumeration.NET_EM_CFG_OPERATE_TYPE#NET_EM_CFG_ACCESSCTL_SPECIALDAY_GROUP} * @date 2020/10/19 */ public class NET_CFG_ACCESSCTL_SPECIALDAY_GROUP_INFO extends NetSDKLib.SdkStructure { ard-work/src/main/java/com/ruoyi/device/dhsdk/lib/structure/NET_IN_PERSON_INFO_INPUT_RESULT.java
@@ -27,7 +27,7 @@ */ public byte[] szCitizenID = new byte[64]; /** * 设备展示颜色 com.netsdk.lib.enumeration.EM_SHOW_COLOR * 设备展示颜色 com.ruoyi.device.dhsdk.lib.enumeration.EM_SHOW_COLOR */ public int emColor; /** ard-work/src/main/java/com/ruoyi/device/dhsdk/lib/structure/NET_IN_START_REDIRECT_SERVICE.java
@@ -9,7 +9,7 @@ * @author 47081 * @version 1.0 * @description CLIENT_StartRedirectServiceEx接口输入参数, {@link * com.netsdk.lib.NetSDKLib#CLIENT_StartRedirectServiceEx(Pointer, Pointer)} * com.ruoyi.device.dhsdk.lib.NetSDKLib#CLIENT_StartRedirectServiceEx(Pointer, Pointer)} * @date 2021/3/13 */ public class NET_IN_START_REDIRECT_SERVICE extends NetSDKLib.SdkStructure { ard-work/src/main/java/com/ruoyi/device/dhsdk/lib/structure/UNPACKING_CHECK_INFO.java
@@ -60,7 +60,7 @@ */ public byte[] szAlarmLocation = new byte[256]; /** * com.netsdk.lib.NetSDKLib.EM_INSIDE_OBJECT_TYPE * com.ruoyi.device.dhsdk.lib.NetSDKLib.EM_INSIDE_OBJECT_TYPE */ public int[] emContrabandClass = new int[64]; // 违禁物品分类 /** ard-work/src/main/java/com/ruoyi/device/dhsdk/lib/structure/customize/CANDIDATE_INFO_CEX.java
@@ -1,4 +1,4 @@ package com.netsdk.lib.structure.customize; package com.ruoyi.device.dhsdk.lib.structure.customize; import com.ruoyi.device.dhsdk.lib.NetSDKLib; import com.ruoyi.device.dhsdk.lib.Utils; ard-work/src/main/java/com/ruoyi/device/dhsdk/lib/structure/customize/DEV_EVENT_CROSSLINE_INFO.java
@@ -1,4 +1,4 @@ package com.netsdk.lib.structure.customize; package com.ruoyi.device.dhsdk.lib.structure.customize; import com.ruoyi.device.dhsdk.lib.NetSDKLib; ard-work/src/main/java/com/ruoyi/device/dhsdk/lib/structure/customize/DEV_EVENT_CROSSREGION_INFO.java
@@ -1,4 +1,4 @@ package com.netsdk.lib.structure.customize; package com.ruoyi.device.dhsdk.lib.structure.customize; import com.ruoyi.device.dhsdk.lib.NetSDKLib; import com.ruoyi.device.dhsdk.lib.enumeration.EM_CAPTURE_PROCESS_END_TYPE; ard-work/src/main/java/com/ruoyi/device/dhsdk/lib/structure/customize/EVENT_INTELLI_COMM_INFO.java
@@ -1,4 +1,4 @@ package com.netsdk.lib.structure.customize; package com.ruoyi.device.dhsdk.lib.structure.customize; import com.ruoyi.device.dhsdk.lib.NetSDKLib; import com.ruoyi.device.dhsdk.lib.structure.POSTION; ard-work/src/main/java/com/ruoyi/device/dhsdk/lib/structure/customize/MEDIAFILE_FACERECOGNITION_INFO.java
@@ -1,4 +1,4 @@ package com.netsdk.lib.structure.customize; package com.ruoyi.device.dhsdk.lib.structure.customize; import com.ruoyi.device.dhsdk.lib.NetSDKLib; import com.ruoyi.device.dhsdk.lib.Utils; ard-work/src/main/java/com/ruoyi/device/dhsdk/module/CapturePictureModule.java
@@ -2,6 +2,7 @@ import com.ruoyi.device.dhsdk.lib.NetSDKLib; import com.ruoyi.device.dhsdk.lib.ToolKits; import com.sun.jna.ptr.IntByReference; import lombok.extern.slf4j.Slf4j; /** * \if ENGLISH_LANG @@ -12,6 +13,7 @@ * 包含: 本地、远程、定时和停止抓图 * \endif */ @Slf4j(topic = "dhSdk") public class CapturePictureModule { public static NetSDKLib netsdk = NetSDKLib.NETSDK_INSTANCE; @@ -26,10 +28,10 @@ public static boolean localCapturePicture(NetSDKLib.LLong hPlayHandle, String picFileName) { if (!netsdk.CLIENT_CapturePictureEx(hPlayHandle, picFileName, NetSDKLib.NET_CAPTURE_FORMATS.NET_CAPTURE_JPEG)) { System.err.printf("CLIENT_CapturePicture Failed!" + ToolKits.getErrorCodePrint()); log.error("CLIENT_CapturePicture Failed!" + ToolKits.getErrorCodePrint()); return false; } else { System.out.println("CLIENT_CapturePicture success"); log.debug("CLIENT_CapturePicture success"); } return true; } @@ -85,10 +87,10 @@ IntByReference reserved = new IntByReference(0); if (!LoginModule.netsdk.CLIENT_SnapPictureEx(m_hLoginHandle, stuSnapParams, reserved)) { System.err.printf("CLIENT_SnapPictureEx Failed!" + ToolKits.getErrorCodePrint()); log.error("CLIENT_SnapPictureEx Failed!" + ToolKits.getErrorCodePrint()); return false; } else { System.out.println("CLIENT_SnapPictureEx success"); log.debug("CLIENT_SnapPictureEx success"); } return true; } ard-work/src/main/java/com/ruoyi/device/dhsdk/module/ConfigModule.java
@@ -4,6 +4,7 @@ import com.ruoyi.device.dhsdk.lib.ToolKits; import com.sun.jna.Structure; import com.sun.jna.ptr.IntByReference; import lombok.extern.slf4j.Slf4j; import static com.ruoyi.device.dhsdk.lib.ToolKits.getErrorCodePrint; @@ -13,6 +14,7 @@ * @Author: 刘苏义 * @Date: 2023年10月14日14:57:01 **/ @Slf4j(topic = "dhSdk") public class ConfigModule { public static NetSDKLib netsdk = NetSDKLib.NETSDK_INSTANCE; public static NetSDKLib configsdk = NetSDKLib.CONFIG_INSTANCE; @@ -39,7 +41,7 @@ IntByReference intRetLen = new IntByReference(); stuInfo.write(); if (!netsdk.CLIENT_QueryRemotDevState(hLoginHandle, nType, nChn, stuInfo.getPointer(), stuInfo.size(), intRetLen, 3000)) { System.err.println("Config Failed!" + ToolKits.getErrorCodePrint()); log.error("Config Failed!" + ToolKits.getErrorCodePrint()); return false; } stuInfo.read(); @@ -67,11 +69,11 @@ cmdObject.read(); result = true; } else { System.err.println("Parse " + strCmd + " Config Failed!" + ToolKits.getErrorCodePrint()); log.error("Parse " + strCmd + " Config Failed!" + ToolKits.getErrorCodePrint()); result = false; } } else { System.err.printf("Get %s Config Failed!Last Error = %s\n", strCmd, getErrorCodePrint()); log.error("Get %s Config Failed!Last Error = %s\n", strCmd, getErrorCodePrint()); result = false; } @@ -88,7 +90,7 @@ if (bRet) { cmdObject.read(); } else { System.err.printf("Get %s Config Failed!Last Error = %s\n", strCmd, getErrorCodePrint()); log.error("Get %s Config Failed!Last Error = %s\n", strCmd, getErrorCodePrint()); result = false; } return result; @@ -102,7 +104,7 @@ cmdObject.read(); result=true; } else { System.err.println("GetConfig Failed!" + getErrorCodePrint()); log.error("GetConfig Failed!" + getErrorCodePrint()); result=false; } return result; @@ -129,11 +131,11 @@ if (netsdk.CLIENT_SetNewDevConfig(hLoginHandle, strCmd, nChn, szBuffer, nBufferLen, error, restart, 3000)) { result = true; } else { System.err.printf("Set %s Config Failed! Last Error = %s\n", strCmd, getErrorCodePrint()); log.error("Set %s Config Failed! Last Error = %s\n", strCmd, getErrorCodePrint()); result = false; } } else { System.err.println("Packet " + strCmd + " Config Failed!" + getErrorCodePrint()); log.error("Packet " + strCmd + " Config Failed!" + getErrorCodePrint()); result = false; } ard-work/src/main/java/com/ruoyi/device/dhsdk/module/LoginModule.java
@@ -118,10 +118,9 @@ if (m_hLoginHandle.longValue() == 0) { log.debug("Login Device[%s] Port[%d]Failed. %s\n", m_strIp, m_nPort, getErrorCodePrint()); } else { log.debug("Login Success [ " + m_strIp + " ]"); log.debug("Login Success [ " + m_strIp + ":" + m_nPort + " ]"); } return m_hLoginHandle; //return m_hLoginHandle.longValue() == 0? false:true; } /** ard-work/src/main/java/com/ruoyi/device/dhsdk/module/RealPlayModule.java
@@ -3,6 +3,7 @@ import com.ruoyi.device.dhsdk.lib.NetSDKLib; import com.ruoyi.device.dhsdk.lib.ToolKits; import com.sun.jna.Pointer; import lombok.extern.slf4j.Slf4j; import static com.ruoyi.device.dhsdk.module.LoginModule.netsdk; @@ -10,6 +11,7 @@ * 实时预览接口实现 * 主要有 :开始拉流、停止拉流功能 */ @Slf4j(topic = "dhSdk") public class RealPlayModule { /** * \if ENGLISH_LANG @@ -29,9 +31,9 @@ NetSDKLib.NET_OUT_REALPLAY_BY_DATA_TYPE net_out_realplay_by_data_type = new NetSDKLib.NET_OUT_REALPLAY_BY_DATA_TYPE(); NetSDKLib.LLong m_hPlayHandle = netsdk.CLIENT_RealPlayByDataType(m_hLoginHandle, net_in_realplay_by_data_type, net_out_realplay_by_data_type, 5000); if (m_hPlayHandle.longValue() == 0) { System.err.println("开始实时预览失败,错误码" + ToolKits.getErrorCodePrint()); log.error("开始实时预览失败,错误码" + ToolKits.getErrorCodePrint()); } else { System.out.println("Success to start realplay"); log.debug("Success to start realplay"); } return m_hPlayHandle; } @@ -75,23 +77,23 @@ if (0 != lRealHandle.longValue()) { switch (dwDataType) { case 0: System.out.println("码流大小为" + dwBufSize + "\n" + "码流类型为原始音视频混合数据"); log.debug("码流大小为" + dwBufSize + "\n" + "码流类型为原始音视频混合数据"); break; case 1: //标准视频数据 System.out.println("码流大小为" + dwBufSize + "\n" + "码流类型为标准视频数据"); log.debug("码流大小为" + dwBufSize + "\n" + "码流类型为标准视频数据"); break; case 2: //yuv 数据 System.out.println("码流大小为" + dwBufSize + "\n" + "码流类型为yuv数据"); log.debug("码流大小为" + dwBufSize + "\n" + "码流类型为yuv数据"); break; case 3: //pcm 音频数据 System.out.println("码流大小为" + dwBufSize + "\n" + "码流类型为音频数据"); log.debug("码流大小为" + dwBufSize + "\n" + "码流类型为音频数据"); break; case 4: //原始音频数据 System.out.println("码流大小为" + dwBufSize + "\n" + "码流类型为原始音频数据"); log.debug("码流大小为" + dwBufSize + "\n" + "码流类型为原始音频数据"); break; default: break; ard-work/src/main/java/com/ruoyi/device/dhsdk/service/IDhClientService.java
@@ -13,8 +13,6 @@ */ public interface IDhClientService { //sdk初始化 Boolean init(); //登录 Boolean login(ArdCameras ardCamera); ard-work/src/main/java/com/ruoyi/device/dhsdk/service/impl/DhClientServiceImpl.java
@@ -77,7 +77,7 @@ List<ArdCameras> ardCameras = ardCamerasService.selectArdCamerasListNoDataScope(ardCamera); for (ArdCameras camera : ardCameras) { Thread.sleep(500); //异步登录 //登录 login(camera); } } catch (Exception ex) { @@ -85,15 +85,6 @@ } } /** * sdk初始化 * 刘苏义 * 2023/10/17 8:28:13 */ @Override public Boolean init() { return LoginModule.init(disConnect, haveReConnect); // 打开工程,初始化 } /** * 登录 @@ -101,8 +92,8 @@ * 2023/10/17 8:28:13 */ @Override @Async public Boolean login(ArdCameras camera) { LoginModule.init(disConnect, haveReConnect); LLong loginId = LoginModule.login(camera.getIp(), camera.getPort(), camera.getUsername(), camera.getPassword()); if (loginId.longValue() > 0) { //log.debug(camera.getIp() + ":" + camera.getPort() + "登录成功"); @@ -168,7 +159,6 @@ ardCamerasService.updateArdCameras(camera); return false; } return true; } @@ -912,7 +902,7 @@ // 设备断线回调: 当设备出现断线时,SDK会调用该函数 private static class DisConnect implements NetSDKLib.fDisConnect { public void invoke(LLong m_hLoginHandle, String pchDVRIP, int nDVRPort, Pointer dwUser) { System.out.printf("Device[%s] Port[%d] DisConnect!\n", pchDVRIP, nDVRPort); log.warn("Device["+pchDVRIP+"] Port["+nDVRPort+"] DisConnect!"); } } @@ -920,7 +910,7 @@ private static class HaveReConnect implements NetSDKLib.fHaveReConnect { @Override public void invoke(LLong lLoginID, String pchDVRIP, int nDVRPort, Pointer dwUser) { System.out.printf("ReConnect Device[%s] Port[%d]\n", pchDVRIP, nDVRPort); log.warn("ReConnect Device["+pchDVRIP+"] Port["+nDVRPort+"]"); } } ard-work/src/main/java/com/ruoyi/device/hiksdk/common/GlobalVariable.java
@@ -19,4 +19,7 @@ public static Map<String, Integer> previewMap = new HashMap<>(); //线程字典 public static Map<String,String>threadMap=new HashMap<>(); //保存相机登录信息(loginId:Camera) public static Map<Integer, Object> loginCameraMap = new HashMap<>(); } ard-work/src/main/java/com/ruoyi/device/hiksdk/sdk/ExceptionCallBack.java
New file @@ -0,0 +1,44 @@ package com.ruoyi.device.hiksdk.sdk; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.hiksdk.common.GlobalVariable; import com.sun.jna.Pointer; import javafx.scene.Camera; import lombok.extern.slf4j.Slf4j; import static com.ruoyi.device.hiksdk.sdk.HCNetSDK.*; /** * @Description: 注册接收异常、重连等消息的窗口句柄或回调函数 * @ClassName: ExceptionCallBack * @Author: 刘苏义 * @Date: 2023年10月23日15:37:40 **/ @Slf4j(topic = "hikSdk") public class ExceptionCallBack implements HCNetSDK.FExceptionCallBack { @Override public void invoke(int dwType, int lUserID, int lHandle, Pointer pUser) { ArdCameras camera = (ArdCameras) GlobalVariable.loginCameraMap.get(lUserID); if(camera!=null) { String ip = camera.getIp(); Integer port = camera.getPort(); switch (dwType) { case EXCEPTION_EXCHANGE: log.warn("Device[" + ip + "] Port[" + port + "]用户交互时异常"); break; case EXCEPTION_PREVIEW: log.warn("Device[" + ip + "] Port[" + port + "]网络预览异常"); break; case EXCEPTION_RECONNECT: log.warn("Device[" + ip + "] Port[" + port + "]预览时重连"); break; case RELOGIN_SUCCESS: log.warn("Device[" + ip + "] Port[" + port + "]用户重登陆成功"); break; case EXCEPTION_RELOGIN: log.warn("Device[" + ip + "] Port[" + port + "]用户重登陆"); break; } } } } ard-work/src/main/java/com/ruoyi/device/hiksdk/sdk/HCNetSDK.java
@@ -1,5 +1,6 @@ package com.ruoyi.device.hiksdk.sdk; import com.ruoyi.device.dhsdk.lib.LibraryLoad; import com.sun.jna.*; import com.sun.jna.examples.win32.W32API; import com.sun.jna.examples.win32.W32API.HWND; @@ -14,6 +15,7 @@ //SDK接口说明,HCNetSDK.dll public interface HCNetSDK extends Library { HCNetSDK hCNetSDK = Native.load(LibraryLoad.getLoadLibrary("HCNetSDK"), HCNetSDK.class); /*** 宏定义 ***/ //常量 @@ -951,6 +953,8 @@ public static final int EXCEPTION_SERIALRECONNECT = 0x8007;//透明通道重连 public static final int EXCEPTION_PLAYBACK = 0x8010;//回放异常 public static final int EXCEPTION_DISKFMT = 0x8011;//硬盘格式化 public static final int EXCEPTION_RELOGIN=0x8040;//用户重登陆 public static final int RELOGIN_SUCCESS=0x8041;//用户重登陆成功 /******************** * 预览回调函数 *********************/ ard-work/src/main/java/com/ruoyi/device/hiksdk/service/IHikClientService.java
@@ -15,11 +15,9 @@ * @Version: 1.0 **/ public interface IHikClientService { //sdk初始化 boolean init(); //同步登录 void syncLogin(ArdCameras cameras); void login(ArdCameras cameras); //异步登录 void asyncLogin(ArdCameras cameras); ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
@@ -10,8 +10,11 @@ import com.ruoyi.device.camera.service.IArdCamerasService; import com.ruoyi.device.channel.domain.ArdChannel; import com.ruoyi.device.channel.service.IArdChannelService; import com.ruoyi.device.dhsdk.lib.LibraryLoad; import com.ruoyi.device.dhsdk.lib.NetSDKLib; import com.ruoyi.device.hiksdk.common.GlobalVariable; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.hiksdk.sdk.ExceptionCallBack; import com.ruoyi.media.domain.Vtdu; import com.ruoyi.media.service.IVtduService; import com.ruoyi.utils.gis.GisUtil; @@ -37,6 +40,7 @@ import java.util.*; import java.util.concurrent.PriorityBlockingQueue; import static com.ruoyi.device.hiksdk.common.GlobalVariable.loginCameraMap; import static com.ruoyi.device.hiksdk.sdk.HCNetSDK.*; /** @@ -57,52 +61,10 @@ @Resource private IVtduService vtduService; private static HCNetSDK hCNetSDK; public static HCNetSDK hCNetSDK = HCNetSDK.hCNetSDK; private static FExceptionCallBack fExceptionCallBack;//异常回调 @Override public boolean init() { try { log.debug("开始加载sdk库文件路径"); if (Platform.isWindows()) { String WIN_PATH = System.getProperty("user.dir") + File.separator + "lib\\hikDll\\HCNetSDK.dll"; log.debug("当前Windows平台的sdk库路径:" + WIN_PATH); hCNetSDK = (HCNetSDK) Native.loadLibrary(WIN_PATH, HCNetSDK.class); } else { log.debug("Linux平台"); String LINUX_PATH = System.getProperty("user.dir") + File.separator + "hiklib" + File.separator + "libhcnetsdk.so"; log.debug("当前Linux平台的sdk库路径:" + LINUX_PATH); hCNetSDK = (HCNetSDK) Native.loadLibrary(LINUX_PATH, HCNetSDK.class); //设置HCNetSDKCom组件库所在路径 //libhcnetsdk.so String strPathCom = "/home/hiklib"; NET_DVR_LOCAL_SDK_PATH struComPath = new NET_DVR_LOCAL_SDK_PATH(); System.arraycopy(strPathCom.getBytes(), 0, struComPath.sPath, 0, strPathCom.length()); struComPath.write(); hCNetSDK.NET_DVR_SetSDKInitCfg(2, struComPath.getPointer()); //设置libcrypto.so所在路径 BYTE_ARRAY ptrByteArrayCrypto = new BYTE_ARRAY(256); String strPathCrypto = "/home/hiklib/libcrypto.so.1.1"; System.arraycopy(strPathCrypto.getBytes(), 0, ptrByteArrayCrypto.byValue, 0, strPathCrypto.length()); ptrByteArrayCrypto.write(); hCNetSDK.NET_DVR_SetSDKInitCfg(3, ptrByteArrayCrypto.getPointer()); //设置libssl.so所在路径 BYTE_ARRAY ptrByteArraySsl = new BYTE_ARRAY(256); String strPathSsl = "/home/hiklib/libssl.so.1.1"; System.arraycopy(strPathSsl.getBytes(), 0, ptrByteArraySsl.byValue, 0, strPathSsl.length()); ptrByteArraySsl.write(); hCNetSDK.NET_DVR_SetSDKInitCfg(4, ptrByteArraySsl.getPointer()); } return true; } catch (Exception ex) { log.error("加载库文件异常:" + ex.getMessage()); return false; } } @Override /** * @描述 注册登录 只支持同步登陆,且官方不建议直接在此接口下写耗时操作 * @参数 [dvrLogin] @@ -111,8 +73,8 @@ * @创建时间 2023/1/17 16:12 * @修改人和其它信息 */ @Async public void syncLogin(ArdCameras camera) { @Override public void login(ArdCameras camera) { // 初始化 if (!hCNetSDK.NET_DVR_Init()) { log.error("SDK初始化失败"); @@ -130,7 +92,7 @@ short m_sPort = camera.getPort().shortValue(); //设置连接时间与重连时间 hCNetSDK.NET_DVR_SetConnectTime(2000, 1); hCNetSDK.NET_DVR_SetReconnect(100000, true); hCNetSDK.NET_DVR_SetReconnect(5000, true); //设备信息, 输出参数 HCNetSDK.NET_DVR_DEVICEINFO_V40 m_strDeviceInfo = new HCNetSDK.NET_DVR_DEVICEINFO_V40(); HCNetSDK.NET_DVR_USER_LOGIN_INFO m_strLoginInfo = new HCNetSDK.NET_DVR_USER_LOGIN_INFO(); @@ -152,13 +114,21 @@ int lUserID = hCNetSDK.NET_DVR_Login_V40(m_strLoginInfo, m_strDeviceInfo); if (lUserID < 0) { int errorCode = hCNetSDK.NET_DVR_GetLastError(); log.error("登录异常:" + errorCode); log.debug(camera.getIp() + ":" + camera.getPort() + "登录失败"); log.debug(camera.getIp() + ":" + camera.getPort() + "登录失败,错误码:"+errorCode); camera.setChanNum(0); camera.setLoginId(-1); camera.setState("0"); } else { if (fExceptionCallBack == null) { fExceptionCallBack = new ExceptionCallBack();//异常回调 //设置异常回调函数(可在回调函数中获取设备上下线状态等) if (!hCNetSDK.NET_DVR_SetExceptionCallBack_V30(0, 0, fExceptionCallBack, null)) { log.info("Set fExceptionCallBack function fail"); return; } else { log.info("Set fExceptionCallBack function successfully!"); } } if (GlobalVariable.loginMap.containsKey(camera.getId())) { GlobalVariable.loginMap.remove(camera.getId()); @@ -166,8 +136,9 @@ //删除管理通道 ardChannelService.deleteArdChannelByDeviceId(camera.getId()); GlobalVariable.loginMap.put(camera.getId(), lUserID); log.debug(camera.getIp() + ":" + camera.getPort() + "登录成功"); GlobalVariable.loginCameraMap.put(lUserID,camera); log.debug("Login Success [ " + camera.getIp() + ":" + camera.getPort() + " ]"); camera.setLoginId(lUserID); camera.setState("1"); camera.setChanNum((int) m_strDeviceInfo.struDeviceV30.byChanNum); @@ -279,14 +250,12 @@ @Override public void loginAll() { try { log.debug("加载lib完成!"); ArdCameras ardCamera = new ArdCameras(); ardCamera.setFactory("1"); List<ArdCameras> ardCameras = ardCamerasService.selectArdCamerasListNoDataScope(ardCamera); for (ArdCameras camera : ardCameras) { Thread.sleep(500); //异步登录 syncLogin(camera); //登录 login(camera); } } catch (Exception ex) { log.error("初始化登录相机异常:" + ex.getMessage()); @@ -897,7 +866,6 @@ log.error("控制失败,请稍后重试" + code); return new HashMap<>(); } } /** ard-work/src/main/resources/dynamic-lib-load.xml
@@ -10,6 +10,41 @@ <lib>Infra</lib> <lib>IvsDrawer</lib> <lib>StreamConvertor</lib> <lib>HCNetSDK</lib> <lib>HCCore</lib> <lib>GdiPlus</lib> <lib>hlog</lib> <lib>HmMerge</lib> <lib>hpr</lib> <lib>HXVA</lib> <lib>libcrypto-1_1-x64</lib> <lib>libmmd</lib> <lib>libssl-1_1-x64</lib> <lib>MP_Render</lib> <lib>NPQos</lib> <lib>OpenAL32</lib> <lib>PlayCtrl</lib> <lib>SuperRender</lib> <lib>YUVProcess</lib> <lib>zlib1</lib> <lib>HCNetSDKCom/AnalyzeData</lib> <lib>HCNetSDKCom/AudioIntercom</lib> <lib>HCNetSDKCom/AudioRender</lib> <lib>HCNetSDKCom/HCAlarm</lib> <lib>HCNetSDKCom/HCCoreDevCfg</lib> <lib>HCNetSDKCom/HCDisplay</lib> <lib>HCNetSDKCom/HCGeneralCfgMgr</lib> <lib>HCNetSDKCom/HCGeneralCfgMgr</lib> <lib>HCNetSDKCom/HCIndustry</lib> <lib>HCNetSDKCom/HCPlayBack</lib> <lib>HCNetSDKCom/HCPreview</lib> <lib>HCNetSDKCom/HCVoiceTalk</lib> <lib>HCNetSDKCom/libiconv2</lib> <lib>HCNetSDKCom/OpenAL32</lib> <lib>HCNetSDKCom/StreamTransClient</lib> <lib>HCNetSDKCom/SystemTransform</lib> </win64> <win32> <lib>avnetsdk</lib> ard-work/src/main/resources/lib/win64/AudioRender.dllBinary files differ
ard-work/src/main/resources/lib/win64/GdiPlus.dllBinary files differ
ard-work/src/main/resources/lib/win64/HCCore.dllBinary files differ
ard-work/src/main/resources/lib/win64/HCNetSDK.dllBinary files differ
ard-work/src/main/resources/lib/win64/HCNetSDKCom/AnalyzeData.dllBinary files differ
ard-work/src/main/resources/lib/win64/HCNetSDKCom/AudioIntercom.dllBinary files differ
ard-work/src/main/resources/lib/win64/HCNetSDKCom/AudioRender.dllBinary files differ
ard-work/src/main/resources/lib/win64/HCNetSDKCom/HCAlarm.dllBinary files differ
ard-work/src/main/resources/lib/win64/HCNetSDKCom/HCAlarm.libBinary files differ
ard-work/src/main/resources/lib/win64/HCNetSDKCom/HCCoreDevCfg.dllBinary files differ
ard-work/src/main/resources/lib/win64/HCNetSDKCom/HCDisplay.dllBinary files differ
ard-work/src/main/resources/lib/win64/HCNetSDKCom/HCGeneralCfgMgr.dllBinary files differ
ard-work/src/main/resources/lib/win64/HCNetSDKCom/HCGeneralCfgMgr.libBinary files differ
ard-work/src/main/resources/lib/win64/HCNetSDKCom/HCIndustry.dllBinary files differ
ard-work/src/main/resources/lib/win64/HCNetSDKCom/HCPlayBack.dllBinary files differ
ard-work/src/main/resources/lib/win64/HCNetSDKCom/HCPreview.dllBinary files differ
ard-work/src/main/resources/lib/win64/HCNetSDKCom/HCPreview.libBinary files differ
ard-work/src/main/resources/lib/win64/HCNetSDKCom/HCVoiceTalk.dllBinary files differ
ard-work/src/main/resources/lib/win64/HCNetSDKCom/OpenAL32.dllBinary files differ
ard-work/src/main/resources/lib/win64/HCNetSDKCom/StreamTransClient.dllBinary files differ
ard-work/src/main/resources/lib/win64/HCNetSDKCom/SystemTransform.dllBinary files differ
ard-work/src/main/resources/lib/win64/HCNetSDKCom/libiconv2.dllBinary files differ
ard-work/src/main/resources/lib/win64/HXVA.dllBinary files differ
ard-work/src/main/resources/lib/win64/HmMerge.dllBinary files differ
ard-work/src/main/resources/lib/win64/ImageAlg.dllBinary files differ
ard-work/src/main/resources/lib/win64/Infra.dllBinary files differ
ard-work/src/main/resources/lib/win64/IvsDrawer.dllBinary files differ
ard-work/src/main/resources/lib/win64/MP_Render.dllBinary files differ
ard-work/src/main/resources/lib/win64/NPQos.dllBinary files differ
ard-work/src/main/resources/lib/win64/OpenAL32.dllcopy from lib/hikDll/HCNetSDKCom/OpenAL32.dll copy to ard-work/src/main/resources/lib/win64/OpenAL32.dll Binary files differ
ard-work/src/main/resources/lib/win64/PlayCtrl.dllBinary files differ
ard-work/src/main/resources/lib/win64/RenderEngine.dllBinary files differ
ard-work/src/main/resources/lib/win64/StreamConvertor.dllBinary files differ
ard-work/src/main/resources/lib/win64/SuperRender.dllBinary files differ
ard-work/src/main/resources/lib/win64/YUVProcess.dllBinary files differ
ard-work/src/main/resources/lib/win64/avnetsdk.dllBinary files differ
ard-work/src/main/resources/lib/win64/dhconfigsdk.dllBinary files differ
ard-work/src/main/resources/lib/win64/dhnetsdk.dllBinary files differ
ard-work/src/main/resources/lib/win64/dhplay.dllBinary files differ
ard-work/src/main/resources/lib/win64/hlog.dllBinary files differ
ard-work/src/main/resources/lib/win64/hpr.dllBinary files differ
ard-work/src/main/resources/lib/win64/libcrypto-1_1-x64.dllBinary files differ
ard-work/src/main/resources/lib/win64/libmmd.dllBinary files differ
ard-work/src/main/resources/lib/win64/libssl-1_1-x64.dllBinary files differ
ard-work/src/main/resources/lib/win64/zlib1.dllBinary files differ
lib/hikDll/ClientDemoDll/ReadMe.txt
File was deleted lib/hikDll/ClientDemoDll/calib.dllBinary files differ
lib/hikDll/ClientDemoDll/iconv.dllBinary files differ
lib/hikDll/ClientDemoDll/libcrypto-1_1-x64.dllBinary files differ
lib/hikDll/ClientDemoDll/libssl-1_1-x64.dllBinary files differ
lib/hikDll/ClientDemoDll/libxml2.dllBinary files differ
lib/hikDll/ClientDemoDll/zlib1.dllBinary files differ
lib/hikDll/OpenAL32.dllBinary files differ
lib/mediamtx/LICENSE
File was deleted lib/mediamtx/ffmpeg.exeBinary files differ
lib/mediamtx/mediamtx.exeBinary files differ
lib/mediamtx/mediamtx.yml
File was deleted lib/minio/minio.exeBinary files differ
lib/redis/EventLog.dllBinary files differ
lib/redis/Redis on Windows Release Notes.docxBinary files differ
lib/redis/Redis on Windows.docxBinary files differ
lib/redis/Windows Service Documentation.docxBinary files differ
lib/redis/dump.rdbBinary files differ
lib/redis/redis-benchmark.exeBinary files differ
lib/redis/redis-benchmark.pdbBinary files differ
lib/redis/redis-check-aof.exeBinary files differ
lib/redis/redis-check-aof.pdbBinary files differ
lib/redis/redis-cli.exeBinary files differ
lib/redis/redis-cli.pdbBinary files differ
lib/redis/redis-desktop-manager-0.9.3.817.exeBinary files differ
lib/redis/redis-server.exeBinary files differ
lib/redis/redis-server.pdbBinary files differ
lib/redis/redis.windows-service.conf
File was deleted lib/redis/redis.windows.conf
File was deleted lib/webrtc/Procfile
File was deleted lib/webrtc/config.json
File was deleted lib/webrtc/html/Bunny.html
File was deleted lib/webrtc/html/LICENSE
File was deleted lib/webrtc/html/README.md
File was deleted lib/webrtc/html/admin.html
File was deleted lib/webrtc/html/apprtc.html
File was deleted lib/webrtc/html/apprtc.json
File was deleted lib/webrtc/html/help.html
File was deleted lib/webrtc/html/htmlmapmarker.js
File was deleted lib/webrtc/html/index.html
File was deleted lib/webrtc/html/info.pngBinary files differ
lib/webrtc/html/janusconfig.js
File was deleted lib/webrtc/html/janustest.html
File was deleted lib/webrtc/html/janusvideoroom-element.js
File was deleted lib/webrtc/html/janusvideoroom.html
File was deleted lib/webrtc/html/janusvideoroom.js
File was deleted lib/webrtc/html/jitsi.icoBinary files differ
lib/webrtc/html/jitsiroom.html
File was deleted lib/webrtc/html/jitsitest.html
File was deleted lib/webrtc/html/jsdoc/JanusVideoRoom.html
File was deleted lib/webrtc/html/jsdoc/WebRtcStreamer.html
File was deleted lib/webrtc/html/jsdoc/XMPPVideoRoom.html
File was deleted lib/webrtc/html/jsdoc/fonts/OpenSans-Bold-webfont.eotBinary files differ
lib/webrtc/html/jsdoc/fonts/OpenSans-Bold-webfont.svg
File was deleted lib/webrtc/html/jsdoc/fonts/OpenSans-Bold-webfont.woffBinary files differ
lib/webrtc/html/jsdoc/fonts/OpenSans-BoldItalic-webfont.eotBinary files differ
lib/webrtc/html/jsdoc/fonts/OpenSans-BoldItalic-webfont.svg
File was deleted lib/webrtc/html/jsdoc/fonts/OpenSans-BoldItalic-webfont.woffBinary files differ
lib/webrtc/html/jsdoc/fonts/OpenSans-Italic-webfont.eotBinary files differ
lib/webrtc/html/jsdoc/fonts/OpenSans-Italic-webfont.svg
File was deleted lib/webrtc/html/jsdoc/fonts/OpenSans-Italic-webfont.woffBinary files differ
lib/webrtc/html/jsdoc/fonts/OpenSans-Light-webfont.eotBinary files differ
lib/webrtc/html/jsdoc/fonts/OpenSans-Light-webfont.svg
File was deleted lib/webrtc/html/jsdoc/fonts/OpenSans-Light-webfont.woffBinary files differ
lib/webrtc/html/jsdoc/fonts/OpenSans-LightItalic-webfont.eotBinary files differ
lib/webrtc/html/jsdoc/fonts/OpenSans-LightItalic-webfont.svg
File was deleted lib/webrtc/html/jsdoc/fonts/OpenSans-LightItalic-webfont.woffBinary files differ
lib/webrtc/html/jsdoc/fonts/OpenSans-Regular-webfont.eotBinary files differ
lib/webrtc/html/jsdoc/fonts/OpenSans-Regular-webfont.svg
File was deleted lib/webrtc/html/jsdoc/fonts/OpenSans-Regular-webfont.woffBinary files differ
lib/webrtc/html/jsdoc/index.html
File was deleted lib/webrtc/html/jsdoc/janusvideoroom.js.html
File was deleted lib/webrtc/html/jsdoc/scripts/linenumber.js
File was deleted lib/webrtc/html/jsdoc/scripts/prettify/Apache-License-2.0.txt
File was deleted lib/webrtc/html/jsdoc/scripts/prettify/lang-css.js
File was deleted lib/webrtc/html/jsdoc/scripts/prettify/prettify.js
File was deleted lib/webrtc/html/jsdoc/styles/jsdoc-default.css
File was deleted lib/webrtc/html/jsdoc/styles/prettify-jsdoc.css
File was deleted lib/webrtc/html/jsdoc/styles/prettify-tomorrow.css
File was deleted lib/webrtc/html/jsdoc/webrtcstreamer.js.html
File was deleted lib/webrtc/html/jsdoc/xmppvideoroom.js.html
File was deleted lib/webrtc/html/libs/EventEmitter.min.js
File was deleted lib/webrtc/html/libs/adapter.min.js
File was deleted lib/webrtc/html/libs/ag-grid.min.js
File was deleted lib/webrtc/html/libs/blazeface
File was deleted lib/webrtc/html/libs/body-pix
File was deleted lib/webrtc/html/libs/coco-ssd
File was deleted lib/webrtc/html/libs/deeplab
File was deleted lib/webrtc/html/libs/jquery-3.5.1.min.js
File was deleted lib/webrtc/html/libs/lib-jitsi-meet.min.js
File was deleted lib/webrtc/html/libs/posenet
File was deleted lib/webrtc/html/libs/strophe.disco.min.js
File was deleted lib/webrtc/html/libs/strophe.jingle.sdp.js
File was deleted lib/webrtc/html/libs/strophe.min.js
File was deleted lib/webrtc/html/libs/strophe.muc.min.js
File was deleted lib/webrtc/html/libs/tf-backend-wasm.js
File was deleted lib/webrtc/html/libs/tfjs
File was deleted lib/webrtc/html/libs/tfjs-backend-wasm-simd.wasmBinary files differ
lib/webrtc/html/libs/tfjs-backend-wasm.wasmBinary files differ
lib/webrtc/html/libs/whep-video.component.js
File was deleted lib/webrtc/html/map.html
File was deleted lib/webrtc/html/nav.css
File was deleted lib/webrtc/html/sendstream.html
File was deleted lib/webrtc/html/styles.css
File was deleted lib/webrtc/html/tensorflow.js
File was deleted lib/webrtc/html/webrtc-streamer-algo-element.js
File was deleted lib/webrtc/html/webrtc-streamer-element.html
File was deleted lib/webrtc/html/webrtc-streamer-element.js
File was deleted lib/webrtc/html/webrtc-streamer-footer-element.js
File was deleted lib/webrtc/html/webrtc-streamer-menu-element.js
File was deleted lib/webrtc/html/webrtc-streamer-options-element.js
File was deleted lib/webrtc/html/webrtc-streamer-selector-element.js
File was deleted lib/webrtc/html/webrtc-streamer.html
File was deleted lib/webrtc/html/webrtc.pngBinary files differ
lib/webrtc/html/webrtcconfig.js
File was deleted lib/webrtc/html/webrtcstreamer.html
File was deleted lib/webrtc/html/webrtcstreamer.js
File was deleted lib/webrtc/html/whep.html
File was deleted lib/webrtc/html/xmppconfig.js
File was deleted lib/webrtc/html/xmppvideoroom.html
File was deleted lib/webrtc/html/xmppvideoroom.js
File was deleted lib/webrtc/webrtc-streamer.exeBinary files differ
pom.xml
ruoyi-admin/pom.xml
@@ -79,22 +79,22 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <!-- 依赖包输出目录,将来不打进jar包里 --> <outputDirectory>${project.build.directory}/jarLib</outputDirectory> <excludeTransitive>false</excludeTransitive> <stripVersion>false</stripVersion> <includeScope>runtime</includeScope> </configuration> </execution> </executions> <!-- <executions>--> <!-- <execution>--> <!-- <id>copy-dependencies</id>--> <!-- <phase>package</phase>--> <!-- <goals>--> <!-- <goal>copy-dependencies</goal>--> <!-- </goals>--> <!-- <configuration>--> <!-- <!– 依赖包输出目录,将来不打进jar包里 –>--> <!-- <outputDirectory>${project.build.directory}/jarLib</outputDirectory>--> <!-- <excludeTransitive>false</excludeTransitive>--> <!-- <stripVersion>false</stripVersion>--> <!-- <includeScope>runtime</includeScope>--> <!-- </configuration>--> <!-- </execution>--> <!-- </executions>--> </plugin> <plugin> <groupId>org.springframework.boot</groupId> @@ -102,14 +102,14 @@ <version>2.1.1.RELEASE</version> <configuration> <fork>true</fork> <!-- 如果没有该配置,devtools不会生效 --> <mainClass>com.ruoyi.RuoYiApplication</mainClass> <layout>ZIP</layout> <includes> <include> <groupId>nothing</groupId> <artifactId>nothing</artifactId> </include> </includes> <!-- <mainClass>com.ruoyi.RuoYiApplication</mainClass>--> <!-- <layout>ZIP</layout>--> <!-- <includes>--> <!-- <include>--> <!-- <groupId>nothing</groupId>--> <!-- <artifactId>nothing</artifactId>--> <!-- </include>--> <!-- </includes>--> </configuration> <executions> <execution> ruoyi-admin/src/main/resources/application-dev.yml
@@ -44,7 +44,7 @@ level: authorize: info minio: info hikSdk: info hikSdk: debug dhSdk: debug stealAlarm: info websocket: info ruoyi-admin/src/main/resources/logback.xml
@@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 日志存放路径 --> <property name="log.path" value="./ardLog/logs"/> <property name="log.path" value="./log"/> <!-- 日志输出格式 --> <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>