Home  >  Article  >  Java  >  A highly customizable solution in the secondary development of Java Hikvision SDK

A highly customizable solution in the secondary development of Java Hikvision SDK

WBOY
WBOYOriginal
2023-09-06 10:12:26710browse

A highly customizable solution in the secondary development of Java Hikvision SDK

Java Hikvision SDK is a highly customizable solution for secondary development

Abstract: In modern monitoring systems, Hikvision SDK is a very commonly used development tool One of the frameworks. This article will introduce how to conduct secondary development based on Java language and Hikvision SDK to achieve highly customizable solutions. At the same time, the article will also provide some code examples to help readers better understand the implementation process.

1. Introduction

With the rapid development of the Internet and the Internet of Things, the application scope of monitoring systems is becoming more and more extensive. As one of the most influential surveillance equipment development frameworks on the market, Hikvision SDK has been widely used in video surveillance, intelligent analysis and other fields.

However, the default functions of Hikvision SDK are limited and cannot meet all development needs. Therefore, secondary development is necessary. This article will focus on the secondary development of Hikvision SDK and introduce how to implement customized and highly customizable solutions.

2. Environment setup

Before starting the secondary development, you need to set up the relevant environment first. The specific steps are as follows:

  1. Download the Java development package of Hikvision SDK, which includes the SDK jar file and related documents.
  2. Introduce the SDK jar file into the development environment.
  3. Configure the corresponding development environment and dependencies according to the documentation provided by the SDK.

3. Connecting equipment

Connecting equipment is a key step in developing a monitoring system. Normally, we need to establish a connection through the device's IP address, port, username and password. The following shows a simple Java code example for connecting to a device:

import com.sun.jna.NativeLong;
import com.sun.jna.Pointer;
import com.hikvision.netsdk.HCNetSDK;
import com.hikvision.netsdk.NET_DVR_DEVICEINFO_V30;

public class DeviceExample {
    public static void main(String[] args) {
        HCNetSDK hcnetsdk = HCNetSDK.INSTANCE;
        hcnetsdk.NET_DVR_Init();

        NativeLong userId = hcnetsdk.NET_DVR_Login_V30("ipAddress", port, "username", "password", new NET_DVR_DEVICEINFO_V30());
        if (userId.longValue() < 0) {
            System.out.println("设备连接失败");
            return;
        }

        System.out.println("设备连接成功");
        
        // 进行后续操作
        
        hcnetsdk.NET_DVR_Logout(userId);
        hcnetsdk.NET_DVR_Cleanup();
    }
}

The above code implements the connection and disconnection operations with the device by calling the methods provided by the SDK.

4. Real-time preview

Real-time preview is one of the common functions in the monitoring system. The following is a simple Java code example of real-time preview:

import com.sun.jna.NativeLong;
import com.sun.jna.Pointer;
import com.hikvision.netsdk.HCNetSDK;
import com.hikvision.netsdk.NET_DVR_DEVICEINFO_V30;

public class RealtimePreviewExample {
    public static void main(String[] args) {
        HCNetSDK hcnetsdk = HCNetSDK.INSTANCE;
        hcnetsdk.NET_DVR_Init();

        NativeLong userId = hcnetsdk.NET_DVR_Login_V30("ipAddress", port, "username", "password", new NET_DVR_DEVICEINFO_V30());
        if (userId.longValue() < 0) {
            System.out.println("设备连接失败");
            return;
        }

        System.out.println("设备连接成功");

        NativeLong lRealPlayHandle = hcnetsdk.NET_DVR_RealPlay_V40(userId, new HCNetSDK.NET_DVR_PREVIEWINFO(), null);
        if (lRealPlayHandle.longValue() < 0) {
            System.out.println("实时预览失败");
        } else {
            System.out.println("实时预览成功");
        }
        
        // 进行后续操作
        
        hcnetsdk.NET_DVR_StopRealPlay(lRealPlayHandle);
        hcnetsdk.NET_DVR_Logout(userId);
        hcnetsdk.NET_DVR_Cleanup();
    }
}

The above code implements the real-time preview function of the device by calling the method provided by the SDK.

5. Other functions

In addition to real-time preview, Hikvision SDK also provides many other functions, such as video playback, PTZ control, intelligent analysis, etc. Developers can carry out secondary development according to actual needs. The following are some code examples:

  1. Video playback
NativeLong lPlayHandle = hcnetsdk.NET_DVR_PlayBackByTime_V40(userId, channel, new HCNetSDK.NET_DVR_TIME(), new HCNetSDK.NET_DVR_TIME(), null);
if (lPlayHandle.longValue() < 0) {
    System.out.println("录像回放失败");
} else {
    System.out.println("录像回放成功");
}
  1. PTZ control
hcnetsdk.NET_DVR_PTZControlWithSpeed_Other(lRealPlayHandle, PTZCommand, param1, param2, speed);
  1. INTELLIGENT ANALYSIS
hcnetsdk.NET_DVR_StartAI(strInBuffer, strInBufferSize, strOutBuffer, strOutBufferSize);

6. Summary

This article introduces how to use Java language and Hikvision SDK for secondary development to achieve highly customizable solutions. Through sample codes for connecting devices, real-time preview and other functions, readers can better understand the implementation process and develop according to actual needs. I hope this article can bring some help to readers.

The above is the detailed content of A highly customizable solution in the secondary development of Java Hikvision SDK. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn