>  기사  >  Java  >  맞춤형 기능의 보조 개발을 위해 Java Hikvision SDK를 사용하는 방법

맞춤형 기능의 보조 개발을 위해 Java Hikvision SDK를 사용하는 방법

PHPz
PHPz원래의
2023-09-06 09:28:421063검색

맞춤형 기능의 보조 개발을 위해 Java Hikvision SDK를 사용하는 방법

사용자 정의 기능의 2차 개발을 위해 Java Hikvision SDK를 사용하는 방법

소개:
지속적인 기술 발전으로 모니터링 장비는 우리 삶에서 점점 더 중요한 역할을 하고 있습니다. 가정용 감시 장비 분야의 선두주자 중 하나인 Hikvision의 SDK는 개발자가 자신의 필요에 따라 2차 개발을 수행할 수 있도록 강력한 개발 플랫폼을 제공합니다. 이 기사에서는 개발자가 프로젝트 개발을 위해 Hikvision SDK를 더 잘 사용할 수 있도록 돕는 것을 목표로 사용자 정의 기능의 보조 개발을 위해 Java Hikvision SDK를 사용하는 방법을 소개합니다.

1. Hikvision-Java-SDK 소개
Hikvision-Java-SDK는 Hikvision이 개발자에게 제공하는 Java 개발 툴킷으로, 주로 Hikvision 장치와 상호 작용하고 사용자 정의 기능을 개발하는 데 사용됩니다. 핵심 기능으로는 실시간 미리보기, 영상 재생, PTZ 제어, 장치 정보 획득 등이 있습니다. Hikvision-Java-SDK를 사용하면 개발자는 Hikvision 장치와 쉽게 통신하고 맞춤형 기능을 구현할 수 있습니다.

2. 환경 준비

  1. JDK 환경: Java 개발 환경이 올바르게 설치 및 구성되었는지 확인하세요.
  2. Hikvision-Java-SDK: Hikvision 공식 웹사이트(https://www.hikvision.com/)에서 다운로드 최신 버전의 Hikvision-Java-SDK를 설치하세요.
  3. 개발 도구: IntelliJ IDEA와 같은 Java 개발 도구를 사용하는 것이 좋습니다.

3. Java 프로젝트를 생성하고 SDK를 가져옵니다

  1. 새 Java 프로젝트를 생성하고 개발 도구로 엽니다.
  2. 다운로드한 Hikvision-Java-SDK 압축 패키지의 압축을 풀고 jar 파일을 프로젝트 lib 폴더에 복사합니다.
  3. 개발 도구에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "모듈 설정 열기"를 선택하여 프로젝트 설정 창으로 들어갑니다.
  4. 프로젝트 설정 창 왼쪽에서 "라이브러리"를 선택한 다음에서 "+"를 클릭합니다. 오른쪽 상단 버튼을 클릭하고 "Java"를 선택합니다.
  5. 팝업 대화 상자에서 lib 폴더를 선택하고 "확인"을 클릭하여 가져오기를 완료합니다.

4. 샘플 코드
다음은 Hikvision-Java-SDK를 사용하여 맞춤형 기능을 개발하는 방법을 보여주기 위해 모니터링 장비의 실시간 미리보기 기능을 예로 들어 보겠습니다. 아래 단계를 따르십시오.

  1. HikvisionUtils라는 새 Java 클래스를 생성합니다.
  2. HikvisionUtils 클래스의 SDK에 필요한 패키지를 가져옵니다. 예는 다음과 같습니다.

    import com.sun.jna.NativeLong;
    import com.sun.jna.Pointer;
    import com.sun.jna.ptr.IntByReference;
    import com.sun.jna.ptr.NativeLongByReference;
    import com.sun.jna.ptr.PointerByReference;
    import com.sun.jna.win32.StdCallLibrary;
    import com.sun.jna.win32.W32APIOptions;
  3. HikvisionUtils 클래스에서 SDK를 정의합니다. 에서 필요한 기능 인터페이스, 예는 다음과 같습니다.

    public interface HCNetSDK extends StdCallLibrary {
     HCNetSDK INSTANCE = (HCNetSDK) Native.loadLibrary("HCNetSDK", HCNetSDK.class, new HashMap<String, Object>() {
         {put(OPTION_TYPE_MAPPER, W32APIOptions.UNICODE);}
     });
    
     boolean NET_DVR_Init();
     void NET_DVR_Cleanup();
     NativeLong NET_DVR_Login_V30(String sDVRIP, short wDVRPort, String sUserName, String sPassword, NET_DVR_DEVICEINFO_V30 lpDeviceInfo);
    }
  4. HikvisionUtils 클래스에서 실시간 미리보기 기능을 구현합니다. 예는 다음과 같습니다.

    public class HikvisionUtils {
     public static void main(String[] args) {
         // 初始化SDK
         HCNetSDK.INSTANCE.NET_DVR_Init();
    
         // 登录设备
         String ip = "192.168.1.100";
         int port = 8000;
         String username = "admin";
         String password = "123456";
         NET_DVR_DEVICEINFO_V30 deviceInfo = new NET_DVR_DEVICEINFO_V30();
         NativeLong userID = HCNetSDK.INSTANCE.NET_DVR_Login_V30(ip, (short) port, username, password, deviceInfo);
         if (userID.intValue() < 0) {
             System.out.println("登录失败");
         } else {
             System.out.println("登录成功");
    
             // 获取通道号
             int channelID = 1;
             
             // 创建预览参数
             NET_DVR_PREVIEWINFO previewInfo = new NET_DVR_PREVIEWINFO();
             previewInfo.lChannel = new NativeLong(channelID);
             previewInfo.dwStreamType = 0;  // 主码流
             previewInfo.dwLinkMode = 0x0000;  // TCP方式
             previewInfo.bBlocked = 1;  // 阻塞取流
    
             // 开始预览
             NativeLong playHandle = HCNetSDK.INSTANCE.NET_DVR_RealPlay_V30(userID, previewInfo, null, null, true);
             if (playHandle.intValue() < 0) {
                 System.out.println("预览失败");
             } else {
                 System.out.println("预览成功");
                 
                 // 此处可执行其他自定义功能的操作
                 
                 // 停止预览
                 HCNetSDK.INSTANCE.NET_DVR_StopRealPlay(playHandle);
             }
    
             // 注销登录
             HCNetSDK.INSTANCE.NET_DVR_Logout(userID);
         }
    
         // 释放SDK资源
         HCNetSDK.INSTANCE.NET_DVR_Cleanup();
     }
    }

5. 프로그램을 실행합니다.
위를 완료한 후 단계를 거치면 HikvisionUtils 클래스의 코드를 실행하여 모니터링 장비의 실시간 미리보기 기능을 실현할 수 있습니다. 프로그램을 실행하기 전에 장치의 IP 주소, 포트 번호, 사용자 이름, 비밀번호가 올바르게 구성되었는지 확인하세요.

6. 요약
이번 글의 소개를 통해 커스텀 기능의 2차 개발을 위해 Java Hikvision SDK를 활용하는 방법을 알아보았습니다. Hikvision SDK는 풍부한 기능 인터페이스와 샘플 코드를 제공하고 맞춤형 기능을 위한 보조 개발도 지원합니다. 이 글이 하이크비전 장비의 2차 개발을 하고 있는 개발자들에게 도움이 되기를 바랍니다. 또한 이 글을 읽으면서 모니터링 장비의 개발과 적용에 대해 더 깊이 이해할 수 있기를 바랍니다.

위 내용은 맞춤형 기능의 보조 개발을 위해 Java Hikvision SDK를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.