Acoplamiento Java con el SDK de la cámara Dahua

Versión de software y entorno de desarrollo.

Dirección de descarga del SDK de Dahua: https://support.dahuatech.com/tools/sdkExploit

Versión del software

Sistema operativo de desarrollo: Windows10-64 bits
Sistema operativo de servidor: Linux 64 bits
Versión sdk: Device Network SDK_JAVA_Linux64_V3.055.0000000.1.R.221027
Descargué las versiones JAVA-win64 y JAVA_Linux64 (si estás desarrollando con Linux, solo puedes descargue la versión de Linux, porque mi máquina local es Windows y algunos paquetes deben usarse durante la ejecución), los archivos dll y los archivos de configuración requeridos están todos empaquetados en ella, y los documentos oficiales del manual de instrucciones están escritos con bastante detalle. Sobre ello a continuación: Un proceso en desarrollo.

Variables de entorno

La versión de Windows del SDK no requiere configurar variables de entorno, pero cuando nuestro programa se implementa en Linux, necesitamos configurar variables de entorno, la configuración es la siguiente:

export LD_LIBRARY_PATH= LDLIBRARYPATH: (Ruta absoluta al directorio donde se encuentra lib DPSDKJ ava . so): (Ruta absoluta al directorio lib en linuxjava) export CLASSPATH = LD_LIBRARY_PATH: (Ruta absoluta al directorio donde se encuentra libDPSDK_Java.so): (Ruta absoluta al directorio lib en linuxjava) export CLASSPATH=LD _LI BR A R YPA TH _:( lib D PS D K _ja v a . Ruta absoluta al directorio donde se encuentra so ):( ruta absoluta al directorio lib en l en ux java ) e x p o tC L A SSP A T H= CLASSPATH: (ruta absoluta donde se encuentra el directorio demo/src): (ruta relativa al directorio actual)
Por ejemplo:
export LD_LIBRARY_PATH=LDLIBRARYPATH: / root / linuxjava / : / root / linuxjava / libexport CLASSPATH = LD_LIBRARY_PATH:/root /linuxjava/:/ root/linuxjava/lib exportar CLASSPATH=LD _LI BR A R YPA TH _:/ raíz / l en ux ja v a / _:/ root / l in ux java / lib e x p o tC L A SSP A T H _ _ _ _= CLASSPATH:/home/linuxjava/demo/src/:./

Instale el paquete jar de Dahua en la biblioteca maven local

# 因为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

Importar archivos de proyecto relacionados con Dahua SDK

  1. pom.xml importa las dos dependencias SDK de Dahua y agrega un recurso en construcción. La biblioteca dinámica debe empaquetarse en conjunto; de lo contrario, el archivo .dll no se encontrará cuando se esté ejecutando el servicio.
<!-- 大华摄像头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. Copie todo el contenido de la carpeta netsdk en la ruta com del proyecto (el archivo fuente está en la carpeta src del archivo descargado. Copie la carpeta netsdk en la ruta com y manténgala en el mismo nivel que el proyecto original, como se muestra abajo)
    Insertar descripción de la imagen aquí
  2. Copiar archivo de configuración
复制dynamic-lib-load.xml、res_en_US.properties、res_zh_CN.properties到resources下,源文件在下载文件中的res文件夹内,复制配置文件至项目中的resource路径下,源文件地址如下图)

Insertar descripción de la imagen aquí

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

Insertar descripción de la imagen aquí

Paquete de desarrollo de importaciones del sistema Windows

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

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

Ejecutar pruebas

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

Insertar descripción de la imagen aquí

おすすめ

転載: blog.csdn.net/weixin_49104405/article/details/129396315