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= LDLIBRARYPATH:(libDPSDKJava.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= 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</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),直接运行
运行测试效果如下图

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_49104405/article/details/129396315
今日推荐