chengqian 3 月之前
當前提交
8310e09cbd
共有 87 個文件被更改,包括 20632 次插入0 次删除
  1. 二進制
      hkServer.zip
  2. 33 0
      hkServer/.gitignore
  3. 二進制
      hkServer/downloadsPic/ch01_00000000005023801.jpg
  4. 二進制
      hkServer/downloadsPic/ch01_00000000005023901.jpg
  5. 二進制
      hkServer/downloadsPic/ch01_00000000005024001.jpg
  6. 二進制
      hkServer/downloadsPic/ch01_00000000005024101.jpg
  7. 二進制
      hkServer/downloadsPic/ch01_00000000005024201.jpg
  8. 二進制
      hkServer/downloadsPic/ch01_00000000005024301.jpg
  9. 二進制
      hkServer/downloadsPic/ch01_00000000005024401.jpg
  10. 二進制
      hkServer/downloadsPic/ch01_00000000005024501.jpg
  11. 二進制
      hkServer/hksdk/window/lib/AudioRender.dll
  12. 二進制
      hkServer/hksdk/window/lib/GdiPlus.dll
  13. 二進制
      hkServer/hksdk/window/lib/HCCore.dll
  14. 二進制
      hkServer/hksdk/window/lib/HCNetSDK.dll
  15. 二進制
      hkServer/hksdk/window/lib/HCNetSDKCom/AnalyzeData.dll
  16. 二進制
      hkServer/hksdk/window/lib/HCNetSDKCom/AudioIntercom.dll
  17. 二進制
      hkServer/hksdk/window/lib/HCNetSDKCom/AudioRender.dll
  18. 二進制
      hkServer/hksdk/window/lib/HCNetSDKCom/HCAlarm.dll
  19. 二進制
      hkServer/hksdk/window/lib/HCNetSDKCom/HCAlarm.lib
  20. 二進制
      hkServer/hksdk/window/lib/HCNetSDKCom/HCCoreDevCfg.dll
  21. 二進制
      hkServer/hksdk/window/lib/HCNetSDKCom/HCDisplay.dll
  22. 二進制
      hkServer/hksdk/window/lib/HCNetSDKCom/HCGeneralCfgMgr.dll
  23. 二進制
      hkServer/hksdk/window/lib/HCNetSDKCom/HCGeneralCfgMgr.lib
  24. 二進制
      hkServer/hksdk/window/lib/HCNetSDKCom/HCIndustry.dll
  25. 二進制
      hkServer/hksdk/window/lib/HCNetSDKCom/HCPlayBack.dll
  26. 二進制
      hkServer/hksdk/window/lib/HCNetSDKCom/HCPreview.dll
  27. 二進制
      hkServer/hksdk/window/lib/HCNetSDKCom/HCPreview.lib
  28. 二進制
      hkServer/hksdk/window/lib/HCNetSDKCom/HCVoiceTalk.dll
  29. 二進制
      hkServer/hksdk/window/lib/HCNetSDKCom/OpenAL32.dll
  30. 二進制
      hkServer/hksdk/window/lib/HCNetSDKCom/StreamTransClient.dll
  31. 二進制
      hkServer/hksdk/window/lib/HCNetSDKCom/SystemTransform.dll
  32. 二進制
      hkServer/hksdk/window/lib/HCNetSDKCom/libiconv2.dll
  33. 二進制
      hkServer/hksdk/window/lib/HXVA.dll
  34. 二進制
      hkServer/hksdk/window/lib/HmMerge.dll
  35. 二進制
      hkServer/hksdk/window/lib/MP_Render.dll
  36. 二進制
      hkServer/hksdk/window/lib/NPQos.dll
  37. 二進制
      hkServer/hksdk/window/lib/OpenAL32.dll
  38. 二進制
      hkServer/hksdk/window/lib/PlayCtrl.dll
  39. 二進制
      hkServer/hksdk/window/lib/SuperRender.dll
  40. 二進制
      hkServer/hksdk/window/lib/YUVProcess.dll
  41. 二進制
      hkServer/hksdk/window/lib/hlog.dll
  42. 二進制
      hkServer/hksdk/window/lib/hpr.dll
  43. 二進制
      hkServer/hksdk/window/lib/libcrypto-1_1-x64.dll
  44. 二進制
      hkServer/hksdk/window/lib/libmmd.dll
  45. 二進制
      hkServer/hksdk/window/lib/libssl-1_1-x64.dll
  46. 二進制
      hkServer/hksdk/window/lib/zlib1.dll
  47. 427 0
      hkServer/hs_err_pid11524.log
  48. 406 0
      hkServer/hs_err_pid11868.log
  49. 62 0
      hkServer/hs_err_pid14740.log
  50. 419 0
      hkServer/hs_err_pid16764.log
  51. 406 0
      hkServer/hs_err_pid16956.log
  52. 429 0
      hkServer/hs_err_pid17876.log
  53. 466 0
      hkServer/hs_err_pid2336.log
  54. 429 0
      hkServer/hs_err_pid23512.log
  55. 404 0
      hkServer/hs_err_pid24720.log
  56. 406 0
      hkServer/hs_err_pid25132.log
  57. 433 0
      hkServer/hs_err_pid28340.log
  58. 429 0
      hkServer/hs_err_pid29792.log
  59. 436 0
      hkServer/hs_err_pid31972.log
  60. 357 0
      hkServer/hs_err_pid35912.log
  61. 397 0
      hkServer/hs_err_pid8392.log
  62. 429 0
      hkServer/hs_err_pid8888.log
  63. 136 0
      hkServer/pom.xml
  64. 0 0
      hkServer/replay_pid16764.log
  65. 33 0
      hkServer/sdkLog/SdkLog_1_W.log
  66. 14 0
      hkServer/src/main/java/com/longc/hkserver/HkServerApplication.java
  67. 19 0
      hkServer/src/main/java/com/longc/hkserver/config/HkInitConfig.java
  68. 56 0
      hkServer/src/main/java/com/longc/hkserver/controller/TestController.java
  69. 15 0
      hkServer/src/main/java/com/longc/hkserver/exception/FExceptionCallBackException.java
  70. 1549 0
      hkServer/src/main/java/com/longc/hkserver/haikang/AlarmDataParse.java
  71. 53 0
      hkServer/src/main/java/com/longc/hkserver/haikang/Device.java
  72. 157 0
      hkServer/src/main/java/com/longc/hkserver/haikang/DeviceManager.java
  73. 20 0
      hkServer/src/main/java/com/longc/hkserver/haikang/FMSGCallBack_V31.java
  74. 10892 0
      hkServer/src/main/java/com/longc/hkserver/haikang/HCNetSDK.java
  75. 138 0
      hkServer/src/main/java/com/longc/hkserver/haikang/HikVisionConfiguration.java
  76. 1098 0
      hkServer/src/main/java/com/longc/hkserver/haikang/Video.java
  77. 29 0
      hkServer/src/main/java/com/longc/hkserver/utils/CommonUtil.java
  78. 16 0
      hkServer/src/main/java/com/longc/hkserver/utils/OsSelectUtil.java
  79. 14 0
      hkServer/src/main/resources/application.yml
  80. 二進制
      hkServer/src/main/resources/lib/FFmpeg-1.0.jar
  81. 二進制
      hkServer/src/main/resources/lib/examples.jar
  82. 二進制
      hkServer/src/main/resources/lib/jna-5.15.0.jar
  83. 二進制
      hkServer/src/main/resources/lib/jna-platform-5.15.0.jar
  84. 二進制
      hkServer/src/main/resources/lib/json.jar
  85. 6 0
      hkServer/src/main/resources/loadFFmpeg.properties
  86. 6 0
      hkServer/src/main/resources/static/index.html
  87. 13 0
      hkServer/src/test/java/com/longc/hkserver/HkServerApplicationTests.java

二進制
hkServer.zip


+ 33 - 0
hkServer/.gitignore

@@ -0,0 +1,33 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/

二進制
hkServer/downloadsPic/ch01_00000000005023801.jpg


二進制
hkServer/downloadsPic/ch01_00000000005023901.jpg


二進制
hkServer/downloadsPic/ch01_00000000005024001.jpg


二進制
hkServer/downloadsPic/ch01_00000000005024101.jpg


二進制
hkServer/downloadsPic/ch01_00000000005024201.jpg


二進制
hkServer/downloadsPic/ch01_00000000005024301.jpg


二進制
hkServer/downloadsPic/ch01_00000000005024401.jpg


二進制
hkServer/downloadsPic/ch01_00000000005024501.jpg


二進制
hkServer/hksdk/window/lib/AudioRender.dll


二進制
hkServer/hksdk/window/lib/GdiPlus.dll


二進制
hkServer/hksdk/window/lib/HCCore.dll


二進制
hkServer/hksdk/window/lib/HCNetSDK.dll


二進制
hkServer/hksdk/window/lib/HCNetSDKCom/AnalyzeData.dll


二進制
hkServer/hksdk/window/lib/HCNetSDKCom/AudioIntercom.dll


二進制
hkServer/hksdk/window/lib/HCNetSDKCom/AudioRender.dll


二進制
hkServer/hksdk/window/lib/HCNetSDKCom/HCAlarm.dll


二進制
hkServer/hksdk/window/lib/HCNetSDKCom/HCAlarm.lib


二進制
hkServer/hksdk/window/lib/HCNetSDKCom/HCCoreDevCfg.dll


二進制
hkServer/hksdk/window/lib/HCNetSDKCom/HCDisplay.dll


二進制
hkServer/hksdk/window/lib/HCNetSDKCom/HCGeneralCfgMgr.dll


二進制
hkServer/hksdk/window/lib/HCNetSDKCom/HCGeneralCfgMgr.lib


二進制
hkServer/hksdk/window/lib/HCNetSDKCom/HCIndustry.dll


二進制
hkServer/hksdk/window/lib/HCNetSDKCom/HCPlayBack.dll


二進制
hkServer/hksdk/window/lib/HCNetSDKCom/HCPreview.dll


二進制
hkServer/hksdk/window/lib/HCNetSDKCom/HCPreview.lib


二進制
hkServer/hksdk/window/lib/HCNetSDKCom/HCVoiceTalk.dll


二進制
hkServer/hksdk/window/lib/HCNetSDKCom/OpenAL32.dll


二進制
hkServer/hksdk/window/lib/HCNetSDKCom/StreamTransClient.dll


二進制
hkServer/hksdk/window/lib/HCNetSDKCom/SystemTransform.dll


二進制
hkServer/hksdk/window/lib/HCNetSDKCom/libiconv2.dll


二進制
hkServer/hksdk/window/lib/HXVA.dll


二進制
hkServer/hksdk/window/lib/HmMerge.dll


二進制
hkServer/hksdk/window/lib/MP_Render.dll


二進制
hkServer/hksdk/window/lib/NPQos.dll


二進制
hkServer/hksdk/window/lib/OpenAL32.dll


二進制
hkServer/hksdk/window/lib/PlayCtrl.dll


二進制
hkServer/hksdk/window/lib/SuperRender.dll


二進制
hkServer/hksdk/window/lib/YUVProcess.dll


二進制
hkServer/hksdk/window/lib/hlog.dll


二進制
hkServer/hksdk/window/lib/hpr.dll


二進制
hkServer/hksdk/window/lib/libcrypto-1_1-x64.dll


二進制
hkServer/hksdk/window/lib/libmmd.dll


二進制
hkServer/hksdk/window/lib/libssl-1_1-x64.dll


二進制
hkServer/hksdk/window/lib/zlib1.dll


File diff suppressed because it is too large
+ 427 - 0
hkServer/hs_err_pid11524.log


File diff suppressed because it is too large
+ 406 - 0
hkServer/hs_err_pid11868.log


+ 62 - 0
hkServer/hs_err_pid14740.log

@@ -0,0 +1,62 @@
+#
+# A fatal error has been detected by the Java Runtime Environment:
+#
+#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007fff261c09d7, pid=14740, tid=0x00000000000064a8
+#
+# JRE version: Java(TM) SE Runtime Environment (8.0_441) (build 1.8.0_441-b07)
+# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.441-b07 mixed mode windows-amd64 compressed oops)
+# Problematic frame:
+# V  [jvm.dll+0x2309d7]
+#
+# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
+#
+# If you would like to submit a bug report, please visit:
+#   http://bugreport.java.com/bugreport/crash.jsp
+#
+
+---------------  T H R E A D  ---------------
+
+Current thread (0x00000197706d1000):  VMThread [stack: 0x0000003178a00000,0x0000003178b00000] [id=25768]
+
+siginfo: ExceptionCode=0xc0000005, reading address 0xffffffffffffffff
+
+Registers:
+RAX=0x0000000000000001, RBX=0x0000019755a8fa10, RCX=0x0000019774a745c0, RDX=0x0000000000000000
+RSP=0x0000003178aff2e0, RBP=0x000000000000001c, RSI=0xed8448c5790ec49c, RDI=0x0000019773873000
+R8 =0x00000197664b0000, R9 =0x00000197574b0000, R10=0x0000000000000000, R11=0x0000000000000246
+R12=0x0000000000000000, R13=0x0000000000000020, R14=0x0000000000000000, R15=0x0000000000000000
+RIP=0x00007fff261c09d7, EFLAGS=0x0000000000010206
+
+Top of Stack: (sp=0x0000003178aff2e0)
+0x0000003178aff2e0:   0000000000000002 0000019755a8fa10
+0x0000003178aff2f0:   0000019774b0eeb0 000000000000025c
+0x0000003178aff300:   0000019755a8e910 00007fff261ac8ec
+0x0000003178aff310:   0000019755a8e910 0000000000000001
+0x0000003178aff320:   0000019755b34800 0000019755b34800
+0x0000003178aff330:   0000019755a8e910 00007fff261ad2d4
+0x0000003178aff340:   0000000000000000 00000197706d1000
+0x0000003178aff350:   0000000000000000 00007fff26760480
+0x0000003178aff360:   0000019755a8e910 0000000000000000
+0x0000003178aff370:   0000019755a8e910 00007fff261e500b
+0x0000003178aff380:   000001970000000c 0000000000000000
+0x0000003178aff390:   0000019755a8fa10 0000003178aff8e0
+0x0000003178aff3a0:   00000197706d1000 00000197706d04d0
+0x0000003178aff3b0:   0000019755a72af0 0000019755a72b00
+0x0000003178aff3c0:   0000019755a72bd8 00000000000000d8
+0x0000003178aff3d0:   00000197706d0690 00007fffa4b00139 
+
+Instructions: (pc=0x00007fff261c09d7)
+0x00007fff261c09b7:   45 8b fc 45 85 ed 0f 8e 7d 01 00 00 48 8b 3d fe
+0x00007fff261c09c7:   21 5f 00 48 85 ff 74 2c 90 48 8b b7 80 02 00 00
+0x00007fff261c09d7:   8b 46 10 85 c0 75 11 48 8b ce e8 9a 0a 00 00 8b
+0x00007fff261c09e7:   46 10 85 c0 74 02 ff cd 48 8b bf d0 01 00 00 48 
+
+
+Register to memory mapping:
+
+RAX=
+[error occurred during error reporting (printing register info), id 0xc0000005]
+
+Stack: [0x0000003178a00000,0x0000003178b00000],  sp=0x0000003178aff2e0,  free space=1020k
+Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
+V  [jvm.dll+0x2309d7]

File diff suppressed because it is too large
+ 419 - 0
hkServer/hs_err_pid16764.log


File diff suppressed because it is too large
+ 406 - 0
hkServer/hs_err_pid16956.log


File diff suppressed because it is too large
+ 429 - 0
hkServer/hs_err_pid17876.log


File diff suppressed because it is too large
+ 466 - 0
hkServer/hs_err_pid2336.log


File diff suppressed because it is too large
+ 429 - 0
hkServer/hs_err_pid23512.log


File diff suppressed because it is too large
+ 404 - 0
hkServer/hs_err_pid24720.log


File diff suppressed because it is too large
+ 406 - 0
hkServer/hs_err_pid25132.log


File diff suppressed because it is too large
+ 433 - 0
hkServer/hs_err_pid28340.log


File diff suppressed because it is too large
+ 429 - 0
hkServer/hs_err_pid29792.log


File diff suppressed because it is too large
+ 436 - 0
hkServer/hs_err_pid31972.log


File diff suppressed because it is too large
+ 357 - 0
hkServer/hs_err_pid35912.log


File diff suppressed because it is too large
+ 397 - 0
hkServer/hs_err_pid8392.log


File diff suppressed because it is too large
+ 429 - 0
hkServer/hs_err_pid8888.log


+ 136 - 0
hkServer/pom.xml

@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>com.longc</groupId>
+    <artifactId>hkServer</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+    <name>hkServer</name>
+    <description>hkServer</description>
+    <properties>
+        <java.version>1.8</java.version>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+        <spring-boot.version>2.6.13</spring-boot.version>
+    </properties>
+    <dependencies>
+<!--        <dependency>-->
+<!--            <groupId>org.springframework.boot</groupId>-->
+<!--            <artifactId>spring-boot-starter-jdbc</artifactId>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>org.springframework.boot</groupId>-->
+<!--            <artifactId>spring-boot-starter-thymeleaf</artifactId>-->
+<!--        </dependency>-->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>org.mybatis.spring.boot</groupId>-->
+<!--            <artifactId>mybatis-spring-boot-starter</artifactId>-->
+<!--            <version>2.2.2</version>-->
+<!--        </dependency>-->
+
+<!--        <dependency>-->
+<!--            <groupId>com.mysql</groupId>-->
+<!--            <artifactId>mysql-connector-j</artifactId>-->
+<!--            <scope>runtime</scope>-->
+<!--        </dependency>-->
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>1.18.10</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>examples</groupId>
+            <artifactId>examples</artifactId>
+            <version>1.0</version>
+            <scope>system</scope>
+            <systemPath>${basedir}/src/main/resources/lib/examples.jar</systemPath>
+        </dependency>
+        <dependency>
+            <groupId>net.java.json</groupId>
+            <artifactId>json</artifactId>
+            <version>1.0.0</version>
+            <scope>system</scope>
+            <systemPath>${basedir}/src/main/resources/lib/json.jar</systemPath>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.jna</groupId>
+            <artifactId>jna</artifactId>
+            <version>1.0.0</version>
+            <scope>system</scope>
+            <systemPath>${basedir}/src/main/resources/lib/jna-5.15.0.jar</systemPath>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.jna</groupId>
+            <artifactId>jna-platform</artifactId>
+            <version>1.0.0</version>
+            <scope>system</scope>
+            <systemPath>${basedir}/src/main/resources/lib/jna-platform-5.15.0.jar</systemPath>
+        </dependency>
+        <dependency>
+            <groupId>FFmpeg</groupId>
+            <artifactId>FFmpeg</artifactId>
+            <version>1.0</version>
+            <scope>system</scope>
+            <systemPath>${basedir}/src/main/resources/lib/FFmpeg-1.0.jar</systemPath>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-websocket</artifactId>
+        </dependency>
+
+    </dependencies>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-dependencies</artifactId>
+                <version>${spring-boot.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.8.1</version>
+                <configuration>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <encoding>UTF-8</encoding>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <version>${spring-boot.version}</version>
+                <configuration>
+                    <mainClass>com.longc.hkserver.HkServerApplication</mainClass>
+                    <skip>true</skip>
+                    <includeSystemScope>true</includeSystemScope><!--设置将本地jar包导出到项目最终的依赖库中-->
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>repackage</id>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

+ 0 - 0
hkServer/replay_pid16764.log


+ 33 - 0
hkServer/sdkLog/SdkLog_1_W.log

@@ -0,0 +1,33 @@
+[2025-08-08 08:27:25.812][DBG] CCoreGlobalCtrlBase::LoadDSo, HPR_LoadDSo Succ, Path[D:/code/java-workspace/hkServer/hksdk/window/lib/zlib1.dll], hHandleRet[1452408832]
+[2025-08-08 08:27:25.812][INF] The COM:HCCoreBase ver is 6.1.4.15, 2020_03_05. Async:1.
+[2025-08-08 08:27:25.812][INF] The COM:Core ver is 6.1.9.48, 2023_04_10. Async:1.
+[2025-08-08 08:27:25.812][INF] This HCNetSDK ver is 6.1.9.48 Ver 2023_04_10.
+[2025-08-08 08:27:29.352][INF] Login dev 192.168.110.168:8000.
+[2025-08-08 08:27:29.352][INF] dwTotalNum[2048]
+[2025-08-08 08:27:29.386][INF] Private connect 192.168.110.168:8000 sock=3040 this=0xa2d209e4 cmd=0x10000 port=62514
+[2025-08-08 08:27:29.386][INF] LogonDev1 in[192.168.110.168:8000]
+[2025-08-08 08:27:29.517][DBG] CCoreGlobalCtrlBase::LoadDSo, HPR_LoadDSo Succ, Path[D:/code/java-workspace/hkServer/hksdk/window/lib/libcrypto-1_1-x64.dll], hHandleRet[875233280]
+[2025-08-08 08:27:29.517][DBG] Load [libcrypto-1_1-x64.dll] SUCC, Real Path[D:\code\java-workspace\hkServer\hksdk\window\lib\libcrypto-1_1-x64.dll]
+[2025-08-08 08:27:29.605][DBG] CCoreGlobalCtrlBase::LoadDSo, HPR_LoadDSo Succ, Path[D:/code/java-workspace/hkServer/hksdk/window/lib/libssl-1_1-x64.dll], hHandleRet[1826947072]
+[2025-08-08 08:27:29.605][DBG] Load [libssl-1_1-x64.dll] SUCC, Real Path[D:\code\java-workspace\hkServer\hksdk\window\lib\libssl-1_1-x64.dll]
+[2025-08-08 08:27:29.605][INF] SSLTRANSAPI::IsAllAPILoaded, SSL_library_init Unload
+[2025-08-08 08:27:29.605][INF] OpenSSL, Not All Function Loaded!
+[2025-08-08 08:27:29.605][INF] SSLTRANSAPI::PrintVersion, OpenSSL version info [OpenSSL 1.1.1l  24 Aug 2021]
+[2025-08-08 08:27:29.605][INF] CSSLTrans::SSLCtxInit, dwSSLVersion[6], m_fnTLSServerMethod
+[2025-08-08 08:27:29.611][ERR] CSSLTrans::SSLTrans_CTX_Load_CA, invalid path[D:/code/java-workspace/hkServer/hksdk/window/lib/cert/\]
+[2025-08-08 08:27:32.123][DBG] CComBase::Load, Load szDllPath[D:/code/java-workspace/hkServer/hksdk/window/lib/HCNetSDKCom/HCPlayBack.dll] SUCC
+[2025-08-08 08:27:32.127][INF] AbilityAnalyze---Init-- start
+[2025-08-08 08:27:32.128][ERR] AbilityAnalyze---open zip package error, package path D:/code/java-workspace/hkServer/hksdk/window/lib/LocalXml.zip
+[2025-08-08 08:27:32.129][INF] The COM:HCPlayback ver is 6.1.9.48, 2023_04_10.
+[2025-08-08 08:27:32.153][INF] Private connect 192.168.110.168:8000 sock=3020 this=0xa2d209e4 cmd=0x111148 port=62518
+[2025-08-08 08:27:32.339][INF] Private connect 192.168.110.168:8000 sock=2948 this=0xa2d21150 cmd=0x111149 port=62519
+[2025-08-08 08:27:32.462][INF] Private connect 192.168.110.168:8000 sock=2948 this=0xa2d21150 cmd=0x111149 port=62520
+[2025-08-08 08:27:32.557][INF] Private connect 192.168.110.168:8000 sock=3080 this=0xa2d21150 cmd=0x111149 port=62521
+[2025-08-08 08:27:32.647][INF] Private connect 192.168.110.168:8000 sock=2948 this=0xa2d21150 cmd=0x111149 port=62522
+[2025-08-08 08:27:32.756][INF] Private connect 192.168.110.168:8000 sock=3080 this=0xa2d21150 cmd=0x111149 port=62523
+[2025-08-08 08:27:32.859][INF] Private connect 192.168.110.168:8000 sock=2960 this=0xa2d21150 cmd=0x111149 port=62524
+[2025-08-08 08:27:32.967][INF] Private connect 192.168.110.168:8000 sock=3088 this=0xa2d21150 cmd=0x111149 port=62525
+[2025-08-08 08:27:33.063][INF] Private connect 192.168.110.168:8000 sock=3088 this=0xa2d21150 cmd=0x111149 port=62526
+[2025-08-08 08:27:33.289][INF] [CLongLinkCtrlPrivate::RecvThreadFunc] RecvThreadFunc EXIT, this=0xa5e81044
+[2025-08-08 14:21:05.534][DBG] CUserMgr::UnRegisterHeartProxy[0]
+[2025-08-08 14:21:05.549][INF] Private connect 192.168.110.168:8000 sock=3060 this=0xa2d209e4 cmd=0x10100 port=53057

+ 14 - 0
hkServer/src/main/java/com/longc/hkserver/HkServerApplication.java

@@ -0,0 +1,14 @@
+package com.longc.hkserver;
+
+import com.longc.hkserver.haikang.HikVisionConfiguration;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class HkServerApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(HkServerApplication.class, args);
+    }
+}

+ 19 - 0
hkServer/src/main/java/com/longc/hkserver/config/HkInitConfig.java

@@ -0,0 +1,19 @@
+package com.longc.hkserver.config;
+
+import com.longc.hkserver.haikang.HikVisionConfiguration;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.stereotype.Component;
+
+@Component
+public class HkInitConfig implements ApplicationRunner {
+    @Autowired
+    HikVisionConfiguration hikVisionConfiguration;
+
+    @Override
+    public void run(ApplicationArguments args) throws Exception {
+        hikVisionConfiguration.init();
+        hikVisionConfiguration.createPlayInstance();
+    }
+}

+ 56 - 0
hkServer/src/main/java/com/longc/hkserver/controller/TestController.java

@@ -0,0 +1,56 @@
+package com.longc.hkserver.controller;
+
+import com.longc.hkserver.haikang.Device;
+import com.longc.hkserver.haikang.DeviceManager;
+import com.longc.hkserver.haikang.Video;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+
+@RestController
+public class TestController {
+
+    @Autowired
+    private DeviceManager deviceManager;
+
+    @RequestMapping("/hello")
+    public void test(){
+        ArrayList<Device> objects = new ArrayList<>();
+        Device device1 = new Device();
+        device1.setId(98);
+        device1.setIp("192.168.110.168");
+        device1.setPort((short)8000);
+        device1.setUser("admin");
+        device1.setPassword("123456qwe");
+        objects.add(device1);
+        deviceManager.LoginDevices(objects);
+
+//        deviceManager.userLoginMap.forEach((userId, loginHandle) -> {
+//            System.out.println("User ID: " + userId + ", 句柄: " + loginHandle);
+//        });
+    }
+
+    @RequestMapping("/buFang")
+    public void buFang(){
+        int i = deviceManager.SetAlarmChan(98);
+        System.out.println("布防句柄:"+i);
+    }
+
+    @RequestMapping("/cheFang")
+    public void cheFang(){
+        deviceManager.ClosedAlarmChan(98);
+    }
+
+    @RequestMapping("/downVideo")
+    public void downVideo(){
+        deviceManager.downVideo(98);
+    }
+
+    @RequestMapping("/downPic")
+    public void downPic(){
+        deviceManager.downPic(98);
+    }
+}

+ 15 - 0
hkServer/src/main/java/com/longc/hkserver/exception/FExceptionCallBackException.java

@@ -0,0 +1,15 @@
+package com.longc.hkserver.exception;
+
+import com.longc.hkserver.haikang.HCNetSDK;
+import com.sun.jna.Pointer;
+import lombok.extern.slf4j.Slf4j;
+
+@Slf4j
+public class FExceptionCallBackException implements HCNetSDK.FExceptionCallBack {
+
+    @Override
+    public void invoke(int dwType, int lUserID, int lHandle, Pointer pUser) {
+        log.error("异常事件类型:"+dwType);
+    }
+}
+

File diff suppressed because it is too large
+ 1549 - 0
hkServer/src/main/java/com/longc/hkserver/haikang/AlarmDataParse.java


+ 53 - 0
hkServer/src/main/java/com/longc/hkserver/haikang/Device.java

@@ -0,0 +1,53 @@
+package com.longc.hkserver.haikang;
+
+import lombok.Data;
+import org.springframework.stereotype.Component;
+
+/**
+ * 读取监控相关配置
+ */
+@Component
+@Data
+public class Device {
+    /**
+     * 监控id
+     */
+    private Integer id;
+
+
+    /**
+     * 监控ip地址
+     */
+    private String ip;
+
+    /**
+     * 监控端口
+     */
+    private short port;
+
+    /**
+     * 用户名
+     */
+    private String user;
+
+    /**
+     * 用户密码
+     */
+    private String password;
+
+    /**
+     * 设备登录句柄
+     *
+     */
+    private Integer lUserID;
+
+    /**
+     * 设备布防句柄
+     *
+     */
+    private Integer lAlarmHandle;
+
+
+}
+
+

+ 157 - 0
hkServer/src/main/java/com/longc/hkserver/haikang/DeviceManager.java

@@ -0,0 +1,157 @@
+package com.longc.hkserver.haikang;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.io.File;
+import java.io.UnsupportedEncodingException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Timer;
+import java.util.concurrent.ConcurrentHashMap;
+
+import static com.longc.hkserver.haikang.HikVisionConfiguration.hCNetSDK;
+
+@Service
+@Slf4j
+public class DeviceManager {
+
+//    @Autowired
+//    private HCNetSDK hCNetSDK;
+
+    private Map<Integer, Device> deviceMap = new ConcurrentHashMap();
+
+    public void LoginDevices(List<Device> list) {
+        HCNetSDK.NET_DVR_USER_LOGIN_INFO m_strLoginInfo;//设备登录信息
+        HCNetSDK.NET_DVR_DEVICEINFO_V40 m_strDeviceInfo;//设备信息
+
+        for (Device d : list) {
+
+            if (deviceMap.containsKey(d.getId())) {
+                // 获取设备对应的登录信息
+                Device existingDevice = deviceMap.get(d.getId());
+                if (existingDevice.getLUserID() != null && existingDevice.getLUserID() != -1) {  // 如果设备的LUserID已经有效,表示已登录
+                    continue;  // 跳过当前设备,进入下一个设备
+                }
+            }
+
+            m_strLoginInfo = new HCNetSDK.NET_DVR_USER_LOGIN_INFO();//设备登录信息
+            m_strDeviceInfo = new HCNetSDK.NET_DVR_DEVICEINFO_V40();//设备信息
+            String m_sDeviceIP = d.getIp();//设备ip地址
+            m_strLoginInfo.sDeviceAddress = new byte[HCNetSDK.NET_DVR_DEV_ADDRESS_MAX_LEN];
+            System.arraycopy(m_sDeviceIP.getBytes(), 0, m_strLoginInfo.sDeviceAddress, 0, m_sDeviceIP.length());
+
+            String m_sUsername = d.getUser();//设备用户名
+            m_strLoginInfo.sUserName = new byte[HCNetSDK.NET_DVR_LOGIN_USERNAME_MAX_LEN];
+            System.arraycopy(m_sUsername.getBytes(), 0, m_strLoginInfo.sUserName, 0, m_sUsername.length());
+
+            String m_sPassword = d.getPassword();//设备密码
+            m_strLoginInfo.sPassword = new byte[HCNetSDK.NET_DVR_LOGIN_PASSWD_MAX_LEN];
+            System.arraycopy(m_sPassword.getBytes(), 0, m_strLoginInfo.sPassword, 0, m_sPassword.length());
+
+            m_strLoginInfo.wPort = d.getPort(); //SDK端口
+            m_strLoginInfo.bUseAsynLogin = false; //是否异步登录:0- 否,1- 是
+            m_strLoginInfo.write();
+            int lUserID = hCNetSDK.NET_DVR_Login_V40(m_strLoginInfo, m_strDeviceInfo);
+
+            //将登陆返回的用户句柄保存!(这里很重要 是原先官网没有的,这里保存句柄是为了预览使用)
+            d.setLUserID(lUserID);
+//            System.out.println("登录句柄(刚登录):"+lUserID);
+            deviceMap.put(d.getId(),d);
+
+            if (lUserID == -1) {
+                System.out.println("登录失败,错误码为" + hCNetSDK.NET_DVR_GetLastError());
+            } else {
+                System.out.println("设备登录成功! " + "设备序列号:" + new String(m_strDeviceInfo.struDeviceV30.sSerialNumber).trim());
+                m_strDeviceInfo.read();
+            }
+        }
+    }
+
+    /**
+     * 报警布防
+     *
+     * @param deviceId 设备id
+     * @return
+     */
+    public int SetAlarmChan(int deviceId) {
+        Device device = deviceMap.get(deviceId);
+        if (device == null || device.getLUserID() == null) {
+            System.out.println("设备未登录或ID无效");
+            return -1;
+        }
+
+        if (device.getLAlarmHandle() == null) {
+            // 尚未布防,需要布防
+            HCNetSDK.NET_DVR_SETUPALARM_PARAM alarmInfo = new HCNetSDK.NET_DVR_SETUPALARM_PARAM();
+            alarmInfo.dwSize = alarmInfo.size();
+            alarmInfo.byLevel = 0;
+            alarmInfo.byAlarmInfoType = 1;
+            alarmInfo.byDeployType = 0;
+            alarmInfo.write();
+
+            Integer lAlarmHandle = hCNetSDK.NET_DVR_SetupAlarmChan_V41(device.getLUserID(), alarmInfo);
+            if (lAlarmHandle == -1) {
+                System.err.println("布防失败,错误码为" + hCNetSDK.NET_DVR_GetLastError());
+                return -1;
+            } else {
+                System.out.println("布防成功");
+                // 更新设备信息并保存到 Map 中
+                device.setLAlarmHandle(lAlarmHandle);
+                deviceMap.put(deviceId, device);
+                return lAlarmHandle;
+            }
+        } else {
+            System.out.println("设备已经布防,请先撤防!");
+            return device.getLAlarmHandle();
+        }
+    }
+
+    /**
+     * 设备撤防
+     *
+     * @param deviceId 设备id
+     */
+    public void ClosedAlarmChan(int deviceId) {
+        // 获取设备对象
+        Device device = deviceMap.get(deviceId);
+        if (device == null || device.getLUserID() == null) {
+            System.out.println("设备未登录或ID无效");
+            return;
+        }
+        // 获取布防句柄
+        Integer alarmHandle = device.getLAlarmHandle();
+        // 判断设备是否已布防
+        if (alarmHandle == null || alarmHandle <= -1) {
+            System.out.println("设备未布防,请先布防!");
+            return;
+        }
+        // 执行撤防操作
+        if (!hCNetSDK.NET_DVR_CloseAlarmChan(alarmHandle)) {
+            System.err.println("撤防失败,错误码: " + hCNetSDK.NET_DVR_GetLastError());
+            return;
+        }
+        // 撤防成功,更新设备状态
+        device.setLAlarmHandle(null);  // 清空布防句柄
+        deviceMap.put(deviceId, device); // 更新设备信息
+
+        System.out.println("撤防成功");
+    }
+
+    public void downVideo(int deviceId){
+        Device device = deviceMap.get(deviceId);
+        new Video().dowmloadRecordByTime(device.getLUserID(), 1);
+    }
+
+    public void downPic(int deviceId){
+        Device device = deviceMap.get(deviceId);
+        new Video().getPic(device.getLUserID(), 1);
+    }
+
+
+
+
+}

+ 20 - 0
hkServer/src/main/java/com/longc/hkserver/haikang/FMSGCallBack_V31.java

@@ -0,0 +1,20 @@
+
+package com.longc.hkserver.haikang;
+
+import com.sun.jna.Pointer;
+
+
+public class FMSGCallBack_V31 implements HCNetSDK.FMSGCallBack_V31 {
+    //报警信息回调函数
+    public boolean invoke(int lCommand, HCNetSDK.NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen, Pointer pUser) {
+        AlarmDataParse.alarmDataHandle(lCommand, pAlarmer, pAlarmInfo, dwBufLen, pUser);
+        return true;
+    }
+}
+
+
+
+
+
+
+

File diff suppressed because it is too large
+ 10892 - 0
hkServer/src/main/java/com/longc/hkserver/haikang/HCNetSDK.java


+ 138 - 0
hkServer/src/main/java/com/longc/hkserver/haikang/HikVisionConfiguration.java

@@ -0,0 +1,138 @@
+package com.longc.hkserver.haikang;
+
+import com.longc.hkserver.exception.FExceptionCallBackException;
+import com.longc.hkserver.utils.OsSelectUtil;
+import com.sun.jna.Native;
+import com.sun.jna.Pointer;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import javax.annotation.PreDestroy;
+
+@Configuration
+@Slf4j
+public class HikVisionConfiguration {
+
+    static HCNetSDK hCNetSDK = null;
+    static PlayCtrl playControl = null;
+    static FExceptionCallBackException fExceptionCallBack;
+    static FMSGCallBack_V31 fMSFCallBack_V31 = null;
+
+    @Value("${video.monitor.load.window}")
+    private String windowPath;
+    @Value("${video.monitor.load.linux}")
+    private String linuxPath;
+
+
+    /**
+     * 播放库加载
+     */
+//    @Bean
+    public PlayCtrl createPlayInstance() {
+        synchronized (PlayCtrl.class) {
+            String strPlayPath = "";
+            try {
+                if (OsSelectUtil.isWindows()) {
+                    //win系统加载库路径
+                    strPlayPath = windowPath + "\\lib\\PlayCtrl.dll";
+                } else if (OsSelectUtil.isLinux()) {
+                    //Linux系统加载库路径
+                    strPlayPath = linuxPath + "/lib/libPlayCtrl.so";
+                }
+                playControl = (PlayCtrl) Native.loadLibrary(strPlayPath, PlayCtrl.class);
+            } catch (Exception ex) {
+                log.error("加载失败,loadLibrary: {}", strPlayPath);
+                log.error(ex.getMessage(), ex);
+                return null;
+            }
+        }
+        log.info("加载PlayCtrl成功");
+        return playControl;
+    }
+
+    /**
+     * 动态库加载
+     */
+//    @Bean
+    public HCNetSDK init() {
+        if (hCNetSDK == null) {
+            synchronized (HCNetSDK.class) {
+                String strDllPath = "";
+                try {
+                    //win系统加载库路径
+                    if (OsSelectUtil.isWindows()) {
+                        strDllPath = windowPath + "\\lib\\HCNetSDK.dll";
+                    }
+                    //linux系统建议调用以下接口加载组件库
+                    else if (OsSelectUtil.isLinux()) {
+                        strDllPath = linuxPath + "/lib/libhcnetsdk.so";
+                    }
+                    hCNetSDK = (HCNetSDK) Native.loadLibrary(strDllPath, HCNetSDK.class);
+                    //linux系统建议调用以下接口加载组件库
+                    if (OsSelectUtil.isLinux()) {
+                        HCNetSDK.BYTE_ARRAY ptrByteArray1 = new HCNetSDK.BYTE_ARRAY(256);
+                        HCNetSDK.BYTE_ARRAY ptrByteArray2 = new HCNetSDK.BYTE_ARRAY(256);
+                        //这里是库的绝对路径,请根据实际情况修改,注意改路径必须有访问权限
+                        String strPath1 = linuxPath + "/lib/libcrypto.so.1.1";
+                        String strPath2 = linuxPath + "/lib/libssl.so.1.1";
+                        log.info("strpaht1:{}",strPath1);
+                        log.info("strpaht2:{}",strPath2);
+                        System.arraycopy(strPath1.getBytes(), 0, ptrByteArray1.byValue, 0, strPath1.length());
+                        ptrByteArray1.write();
+                        hCNetSDK.NET_DVR_SetSDKInitCfg(HCNetSDK.NET_SDK_INIT_CFG_LIBEAY_PATH, ptrByteArray1.getPointer());
+                        System.arraycopy(strPath2.getBytes(), 0, ptrByteArray2.byValue, 0, strPath2.length());
+                        ptrByteArray2.write();
+                        hCNetSDK.NET_DVR_SetSDKInitCfg(HCNetSDK.NET_SDK_INIT_CFG_SSLEAY_PATH, ptrByteArray2.getPointer());
+                        String strPathCom = linuxPath + "/lib/";
+                        HCNetSDK.NET_DVR_LOCAL_SDK_PATH struComPath = new HCNetSDK.NET_DVR_LOCAL_SDK_PATH();
+                        System.arraycopy(strPathCom.getBytes(), 0, struComPath.sPath, 0, strPathCom.length());
+                        struComPath.write();
+                        hCNetSDK.NET_DVR_SetSDKInitCfg(HCNetSDK.NET_SDK_INIT_CFG_SDK_PATH, struComPath.getPointer());
+                    }
+                } catch (Exception ex) {
+                    log.error("加载失败,loadLibrary: {}" ,strDllPath);
+                    log.error(ex.getMessage(), ex);
+                    return null;
+                }
+            }
+        }
+        //SDK初始化,一个程序只需要调用一次
+        hCNetSDK.NET_DVR_Init();
+
+        //异常消息回调
+        if (fExceptionCallBack == null) {
+            fExceptionCallBack = new FExceptionCallBackException();
+        }
+        Pointer pUser = null;
+        if (!hCNetSDK.NET_DVR_SetExceptionCallBack_V30(0, 0, fExceptionCallBack, pUser)) {
+            log.error("设置异常消息回调失败");
+            return null;
+        }
+
+        //设置回调函数,用于在设备接收到数据时触发回调函数进行数据处理
+        if (fMSFCallBack_V31 == null) {
+            fMSFCallBack_V31 = new FMSGCallBack_V31();
+            if (!hCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(fMSFCallBack_V31, pUser)) {
+                log.error("设置回调函数失败!");
+                return null;
+            } else {
+                log.info("设置回调函数成功");
+            }
+        }
+        //启动SDK写日志
+        hCNetSDK.NET_DVR_SetLogToFile(3, "./sdkLog", false);
+        log.info("加载hksdk成功");
+        return hCNetSDK;
+    }
+
+    @PreDestroy
+    public void destroy() {
+        if (null != hCNetSDK) {
+            log.info("释放hcNetSDK资源");
+            hCNetSDK.NET_DVR_Cleanup();
+        }
+    }
+}
+

File diff suppressed because it is too large
+ 1098 - 0
hkServer/src/main/java/com/longc/hkserver/haikang/Video.java


+ 29 - 0
hkServer/src/main/java/com/longc/hkserver/utils/CommonUtil.java

@@ -0,0 +1,29 @@
+
+
+package com.longc.hkserver.utils;
+
+/**
+ * @author
+ * @create 2022-03-22-11:13
+ */
+public class CommonUtil {
+
+    //SDK时间解析
+    public static String parseTime(int time)
+    {
+        int year=(time>>26)+2000;
+        int month=(time>>22)&15;
+        int day=(time>>17)&31;
+        int hour=(time>>12)&31;
+        int min=(time>>6)&63;
+        int second=(time>>0)&63;
+        String sTime=year+"-"+month+"-"+day+"-"+hour+":"+min+":"+second;
+//        System.out.println(sTime);
+        return sTime;
+
+
+
+    }
+
+
+}

+ 16 - 0
hkServer/src/main/java/com/longc/hkserver/utils/OsSelectUtil.java

@@ -0,0 +1,16 @@
+package com.longc.hkserver.utils;
+
+/**
+ * @author jiangxin
+ * @create 2022-01-19-16:40
+ */
+public class OsSelectUtil {
+
+    public static boolean isLinux() {
+        return System.getProperty("os.name").toLowerCase().contains("linux");
+    }
+
+    public static boolean isWindows() {
+        return System.getProperty("os.name").toLowerCase().contains("windows");
+    }
+}

+ 14 - 0
hkServer/src/main/resources/application.yml

@@ -0,0 +1,14 @@
+server:
+  port: 8080
+#监控一些资源的配置
+video:
+  monitor:
+    # window中ffmpeg路径,linux不用管
+    ffmpegpath:
+      window: D:/workplaces/device-supervision/monitorvideo/ffmpeg.exe
+    #监控需要加载的动态库,最后不用加斜杠
+    load:
+      window: D:/code/java-workspace/hkServer/hksdk/window
+      linux: D:/code/java-workspace/hkServer/hksdk/linux
+
+

二進制
hkServer/src/main/resources/lib/FFmpeg-1.0.jar


二進制
hkServer/src/main/resources/lib/examples.jar


二進制
hkServer/src/main/resources/lib/jna-5.15.0.jar


二進制
hkServer/src/main/resources/lib/jna-platform-5.15.0.jar


二進制
hkServer/src/main/resources/lib/json.jar


+ 6 - 0
hkServer/src/main/resources/loadFFmpeg.properties

@@ -0,0 +1,6 @@
+#ffmpeg\u6267\u884C\u8DEF\u5F84\uFF0C\u4E00\u822C\u4E3Affmpeg\u7684\u5B89\u88C5\u76EE\u5F55\uFF0C\u8BE5\u8DEF\u5F84\u53EA\u80FD\u662F\u76EE\u5F55\uFF0C\u4E0D\u80FD\u4E3A\u5177\u4F53\u6587\u4EF6\u8DEF\u5F84\uFF0C\u5426\u5219\u4F1A\u62A5\u9519
+path=D:\\environment\\ffmpeg\\ffmpeg-7.0.2-essentials_build\\ffmpeg-7.0.2-essentials_build\\bin\\
+#\u5B58\u653E\u4EFB\u52A1\u7684\u9ED8\u8BA4Map\u7684\u521D\u59CB\u5316\u5927\u5C0F
+size=10
+#\u662F\u5426\u8F93\u51FAdebug\u6D88\u606F
+debug=true

+ 6 - 0
hkServer/src/main/resources/static/index.html

@@ -0,0 +1,6 @@
+<html>
+<body>
+<h1>hello word!!!</h1>
+<p>this is a html page</p>
+</body>
+</html>

+ 13 - 0
hkServer/src/test/java/com/longc/hkserver/HkServerApplicationTests.java

@@ -0,0 +1,13 @@
+package com.longc.hkserver;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class HkServerApplicationTests {
+
+    @Test
+    void contextLoads() {
+    }
+
+}