0


Java对接大华摄像头SDK

Java对接大华摄像头SDK

软件版本和开发环境

大华SDK下载地址:https://support.dahuatech.com/tools/sdkExploit

软件版本

开发操作系统:Windows10-64位
服务器操作系统:linux 64位
sdk版本:设备网络SDK_JAVA_Linux64_V3.055.0000000.1.R.221027
我下载的是JAVA-win64和JAVA_Linux64版本(如果是用linux开发可以只下载linux版本,因为我本地是Windows,运行时有些包需要用到),所需dll文件以及配置文件全都在里面打包好了,并且官方的指导手册文档,写的都挺详细的,下面重点说一下,我在开发的一个流程。

环境变量

Windows版本的sdk是不需要配置环境变量的,但我们程序部署于linux时是需要配置环境变量的,配置如下:

export LD_LIBRARY_PATH=

      L 
     
     
     
       D 
      
     
       L 
      
     
    
      I 
     
    
      B 
     
    
      R 
     
    
      A 
     
    
      R 
     
     
     
       Y 
      
     
       P 
      
     
    
      A 
     
    
      T 
     
    
      H 
     
    
      : 
     
    
      ( 
     
    
      l 
     
    
      i 
     
    
      b 
     
    
      D 
     
    
      P 
     
    
      S 
     
    
      D 
     
     
     
       K 
      
     
       J 
      
     
    
      a 
     
    
      v 
     
    
      a 
     
    
      . 
     
    
      s 
     
    
      o 
     
    
      所在目录绝对路径 
     
    
      ) 
     
    
      : 
     
    
      ( 
     
    
      l 
     
    
      i 
     
    
      n 
     
    
      u 
     
    
      x 
     
    
      j 
     
    
      a 
     
    
      v 
     
    
      a 
     
    
      中的 
     
    
      l 
     
    
      i 
     
    
      b 
     
    
      目录绝对路径 
     
    
      ) 
     
    
      e 
     
    
      x 
     
    
      p 
     
    
      o 
     
    
      r 
     
    
      t 
     
    
      C 
     
    
      L 
     
    
      A 
     
    
      S 
     
    
      S 
     
    
      P 
     
    
      A 
     
    
      T 
     
    
      H 
     
    
      = 
     
    
   
     LD_LIBRARY_PATH:(libDPSDK_Java.so所在目录绝对路径): (linuxjava中的lib目录绝对路径)export CLASSPATH= 
    
   
 LDL​IBRARYP​ATH:(libDPSDKJ​ava.so所在目录绝对路径):(linuxjava中的lib目录绝对路径)exportCLASSPATH=CLASSPATH:(demo/src目录所在的绝对路径):(当前目录相对路径)

例如:
export LD_LIBRARY_PATH=

      L 
     
     
     
       D 
      
     
       L 
      
     
    
      I 
     
    
      B 
     
    
      R 
     
    
      A 
     
    
      R 
     
     
     
       Y 
      
     
       P 
      
     
    
      A 
     
    
      T 
     
    
      H 
     
    
      : 
     
    
      / 
     
    
      r 
     
    
      o 
     
    
      o 
     
    
      t 
     
    
      / 
     
    
      l 
     
    
      i 
     
    
      n 
     
    
      u 
     
    
      x 
     
    
      j 
     
    
      a 
     
    
      v 
     
    
      a 
     
    
      / 
     
    
      : 
     
    
      / 
     
    
      r 
     
    
      o 
     
    
      o 
     
    
      t 
     
    
      / 
     
    
      l 
     
    
      i 
     
    
      n 
     
    
      u 
     
    
      x 
     
    
      j 
     
    
      a 
     
    
      v 
     
    
      a 
     
    
      / 
     
    
      l 
     
    
      i 
     
    
      b 
     
    
      e 
     
    
      x 
     
    
      p 
     
    
      o 
     
    
      r 
     
    
      t 
     
    
      C 
     
    
      L 
     
    
      A 
     
    
      S 
     
    
      S 
     
    
      P 
     
    
      A 
     
    
      T 
     
    
      H 
     
    
      = 
     
    
   
     LD_LIBRARY_PATH:/root/linuxjava/:/root/linuxjava/lib export CLASSPATH= 
    
   
 LDL​IBRARYP​ATH:/root/linuxjava/:/root/linuxjava/libexportCLASSPATH=CLASSPATH:/home/linuxjava/demo/src/:./

安装大华jar包到本地maven库

# 因为maven官方仓库没有,所以需要自行手动安装,maven请添加环境变量(不添加的话就去maven的bin下面执行),然后在控制台执行如下指令,Dfile的内容是INetSDK.jar在你自己本地计算机的位置
mvn install:install-file -Dfile=D:\General_NetSDK\libs\INetSDK.jar -DgroupId=com.dahua.netsdk -DartifactId=dahua-netsdk-jni -Dversion=1.0.0-Dpackaging=jar -DgeneratePom=true

导入大华SDK相关项目文件

  1. pom.xml导入大华的2个sdk 的依赖,以及在build下的添加一个resource,需要将动态库一起打包,不然服务运行的时候会找不到.dll文件
<!-- 大华摄像头sdk start --><dependency><groupId>net.java.dev.jna</groupId><artifactId>jna</artifactId><version>5.4.0</version></dependency><dependency><groupId>com.dahua.netsdk</groupId><artifactId>dahua-netsdk-jni</artifactId><version>1.0.0</version></dependency><!-- 大华摄像头sdk end --><build><resources><resource><directory>libs</directory><filtering>false</filtering><includes><include>**/*.dll</include>
            </includes>
        </resource>
    </resources>
</build>
  1. 复制netsdk文件夹内所有内容到项目的com下(源文件在下载文件中的src文件夹内,复制netsdk文件夹至com路径下,保持跟原有项目同级,如下图)在这里插入图片描述
  2. 复制配置文件
复制dynamic-lib-load.xml、res_en_US.properties、res_zh_CN.properties到resources下,源文件在下载文件中的res文件夹内,复制配置文件至项目中的resource路径下,源文件地址如下图)

在这里插入图片描述

  1. 修改netsdk项目部分文件
找到项目中的Res.java(路径:com/netsdk/common/Res.java)  
修改项目中查询资源文件路径("res" 修改为 "resources"),如下图

在这里插入图片描述

Windows系统导入开发包

1. 打开刚刚下载的JAVA-win64,在libs\win64目录下找到dhnetsdk.dll、dhconfigsdk.dll、jninetsdk.dll,
win+R 输入 %temp% 后回车,然后把这三个文件复制到temp目录下

3. 官方开发包中的libs/win64整个文件夹复制到自己的项目的resources目录下

运行测试

找到官方提供的一个JniDemo(项目中路径为:\com\netsdk\demo\frame\JniDemo.java),直接运行
运行测试效果如下图

在这里插入图片描述


本文转载自: https://blog.csdn.net/weixin_49104405/article/details/129396315
版权归原作者 拾亿. 所有, 如有侵权,请联系我们删除。

“Java对接大华摄像头SDK”的评论:

还没有评论