Java对接大华摄像头SDK
软件版本和开发环境
软件版本
开发操作系统: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 IBRAR Y P ATH:(libDPSD K J ava.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 L IBRAR Y P ATH:/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相关项目文件
- 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
- 复制netsdk文件夹内所有内容到项目的com下(源文件在下载文件中的src文件夹内,复制netsdk文件夹至com路径下,保持跟原有项目同级,如下图)
- 复制配置文件
复制dynamic-lib-load.xml、res_en_US.properties、res_zh_CN.properties到resources下,源文件在下载文件中的res文件夹内,复制配置文件至项目中的resource路径下,源文件地址如下图)
- 修改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