Java对接大华摄像头SDK

  • 软件版本和开发环境
    • 软件版本
    • 环境变量
    • 安装大华jar包到本地maven库
  • 导入大华SDK相关项目文件
  • Windows系统导入开发包
  • 运行测试

软件版本和开发环境

大华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 LIBRAR Y PATH:(libDPSD K Java.so所在目录绝对路径):(linuxjava中的lib目录绝对路径)exportCLASSPATH=LD_LIBRARY_PATH:(libDPSDK_Java.so所在目录绝对路径): (linuxjava中的lib目录绝对路径)export CLASSPATH= LDLIBRARYPATH:(libDPSDKJava.so所在目录绝对路径):(linuxjava中的lib目录绝对路径)exportCLASSPATH=CLASSPATH:(demo/src目录所在的绝对路径):(当前目录相对路径)
例如:
export LD_LIBRARY_PATH=L D LIBRAR Y PATH:/root/linuxjava/:/root/linuxjava/libexportCLASSPATH=LD_LIBRARY_PATH:/root/linuxjava/:/root/linuxjava/lib export CLASSPATH= LDLIBRARYPATH:/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
  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),直接运行运行测试效果如下图