ホームページ  >  記事  >  Java  >  カスタム関数の二次開発に Java Hikvision SDK を使用する方法

カスタム関数の二次開発に Java Hikvision SDK を使用する方法

PHPz
PHPzオリジナル
2023-09-06 09:28:421064ブラウズ

カスタム関数の二次開発に Java Hikvision SDK を使用する方法

Java Hikvision SDK を使用してカスタム関数の二次開発を行う方法

はじめに:
テクノロジーの継続的な進歩に伴い、監視機器の重要性がますます高まっています。私たちの生活の中で、ますます重要な役割を果たしています。国内監視機器のリーダーの 1 つとして、Hikvision の SDK は強力な開発プラットフォームを提供し、開発者が独自のニーズに応じて二次開発を行うことができます。この記事では、開発者がプロ​​ジェクト開発に 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 ダウンロードより公式 Web サイト (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フォルダーを選択して「OK」をクリックするとインポートが完了します。

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. SDK で必要な関数インターフェイスを HikvisionUtils クラスに定義します。例は次のとおりです:

    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 クラス Function の例は次のとおりです:

    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. 概要
この記事の導入部を通じて、カスタム関数の二次開発に Java Hikvision SDK を使用する方法を学びました。 Hikvision SDK は、豊富な機能インターフェイスとサンプル コードを提供し、カスタム関数の二次開発もサポートします。この記事が、Hikvision 機器の二次開発をされている開発者の皆様のお役に立てれば幸いです、また、この記事を読んで監視機器の開発と応用についての理解を深めていただければ幸いです。

以上がカスタム関数の二次開発に Java Hikvision SDK を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。