2차 개발에 Java Hikvision SDK를 사용하여 강력한 영상 감시 시스템을 구축하세요
요약:
이 기사에서는 2차 개발에 Java Hikvision SDK를 사용하여 강력한 영상 감시 시스템을 구축하는 방법을 소개합니다. Hikvision SDK가 제공하는 풍부한 인터페이스와 기능을 통해 비디오 녹화, 실시간 미리보기, 원격 제어 및 기타 기능을 쉽게 구현하고 맞춤형 비즈니스 로직을 추가할 수 있습니다. 이 기사에서는 2차 개발을 위해 Java Hikvision SDK를 사용하는 방법을 자세히 소개하고 독자의 이해를 돕기 위해 몇 가지 샘플 코드를 제공합니다.
1부: 환경 준비
시작하기 전에 다음을 준비해야 합니다.
2부: 프로젝트 생성 및 구성
3부: 실시간 미리보기 기능
실시간 미리보기는 영상 감시 시스템의 가장 기본적인 기능 중 하나입니다. 다음은 실시간 미리보기를 위해 Hikvision SDK를 사용하는 방법을 보여주는 샘플 코드입니다.
import com.sun.jna.NativeLong; import com.sun.jna.Pointer; import com.sun.jna.ptr.NativeLongByReference; import com.sun.jna.ptr.PointerByReference; import com.hikvision.netsdk.HCNetSDK; import com.hikvision.netsdk.NET_DVR_DEVICEINFO_V30; import com.hikvision.netsdk.NET_DVR_PREVIEWINFO; public class RealTimePreview { private static HCNetSDK hikSDK = HCNetSDK.INSTANCE; public static void main(String[] args) { // 初始化SDK hikSDK.NET_DVR_Init(); // 登录设备 NativeLong lUserID; NET_DVR_DEVICEINFO_V30 deviceInfo = new NET_DVR_DEVICEINFO_V30(); lUserID = hikSDK.NET_DVR_Login_V30("192.168.1.100", (short) 8000, "admin", "password", deviceInfo); if (lUserID.intValue() == -1) { System.out.println("登录失败,错误码:" + hikSDK.NET_DVR_GetLastError()); return; } // 设置预览参数 NativeLong lRealPlayHandle; NET_DVR_PREVIEWINFO previewInfo = new NET_DVR_PREVIEWINFO(); previewInfo.lChannel = 1; previewInfo.dwStreamType = 0; previewInfo.dwLinkMode = 0; previewInfo.hPlayWnd = null; // 开始预览 lRealPlayHandle = hikSDK.NET_DVR_RealPlay_V40(lUserID, previewInfo, null); if (lRealPlayHandle.intValue() == -1) { System.out.println("预览失败,错误码:" + hikSDK.NET_DVR_GetLastError()); return; } // 等待预览停止 System.out.println("按任意键停止预览..."); try { System.in.read(); } catch (Exception e) { e.printStackTrace(); } // 停止预览 if (!hikSDK.NET_DVR_StopRealPlay(lRealPlayHandle)) { System.out.println("停止预览失败,错误码:" + hikSDK.NET_DVR_GetLastError()); return; } // 退出登录 hikSDK.NET_DVR_Logout(lUserID); hikSDK.NET_DVR_Cleanup(); System.out.println("退出成功"); } }
파트 4: 비디오 녹화 기능
실시간 미리보기 외에도 비디오 감시 시스템은 비디오 녹화 기능도 제공해야 합니다. 다음은 비디오 녹화에 Hikvision SDK를 사용하는 방법을 보여주는 샘플 코드입니다.
import com.sun.jna.NativeLong; import com.sun.jna.ptr.NativeLongByReference; import com.hikvision.netsdk.HCNetSDK; import com.hikvision.netsdk.NET_DVR_DEVICEINFO_V30; import com.hikvision.netsdk.NET_DVR_PREVIEWINFO; import com.hikvision.netsdk.NET_DVR_TIME; public class VideoRecording { private static HCNetSDK hikSDK = HCNetSDK.INSTANCE; public static void main(String[] args) { // 初始化SDK hikSDK.NET_DVR_Init(); // 登录设备 NativeLong lUserID; NET_DVR_DEVICEINFO_V30 deviceInfo = new NET_DVR_DEVICEINFO_V30(); lUserID = hikSDK.NET_DVR_Login_V30("192.168.1.100", (short) 8000, "admin", "password", deviceInfo); if (lUserID.intValue() == -1) { System.out.println("登录失败,错误码:" + hikSDK.NET_DVR_GetLastError()); return; } // 设置预览参数 NativeLong lRealPlayHandle; NET_DVR_PREVIEWINFO previewInfo = new NET_DVR_PREVIEWINFO(); previewInfo.lChannel = 1; previewInfo.dwStreamType = 0; previewInfo.dwLinkMode = 0; previewInfo.hPlayWnd = null; // 开始预览 lRealPlayHandle = hikSDK.NET_DVR_RealPlay_V40(lUserID, previewInfo, null); if (lRealPlayHandle.intValue() == -1) { System.out.println("预览失败,错误码:" + hikSDK.NET_DVR_GetLastError()); return; } // 开始录像 NativeLongByReference lRecordHandle = new NativeLongByReference(); NET_DVR_TIME startTime = new NET_DVR_TIME(); startTime.dwYear = 2022; startTime.dwMonth = 12; startTime.dwDay = 1; startTime.dwHour = 0; startTime.dwMinute = 0; startTime.dwSecond = 0; if (!hikSDK.NET_DVR_SetFileTime(0, startTime)) { System.out.println("设置录像时间失败,错误码:" + hikSDK.NET_DVR_GetLastError()); return; } lRecordHandle.setValue(hikSDK.NET_DVR_RealPlay_V40(lUserID, previewInfo, null)); if (lRecordHandle.intValue() == -1) { System.out.println("录像失败,错误码:" + hikSDK.NET_DVR_GetLastError()); return; } // 等待录像停止 System.out.println("按任意键停止录像..."); try { System.in.read(); } catch (Exception e) { e.printStackTrace(); } // 停止录像 if (!hikSDK.NET_DVR_StopRealPlay(lRecordHandle.getValue())) { System.out.println("停止录像失败,错误码:" + hikSDK.NET_DVR_GetLastError()); return; } // 退出登录 hikSDK.NET_DVR_Logout(lUserID); hikSDK.NET_DVR_Cleanup(); System.out.println("退出成功"); } }
요약:
이 문서에서는 강력한 비디오 감시 시스템을 구축하기 위한 보조 개발용 Java Hikvision SDK를 사용하는 방법을 소개합니다. Hikvision SDK가 제공하는 인터페이스와 기능을 통해 실시간 미리보기, 영상 녹화 등의 기능을 구현하고 맞춤형 비즈니스 로직을 추가할 수 있습니다. 이 기사가 독자들이 Java Hikvision SDK를 배우고 사용하는 데 도움이 되기를 바랍니다.
위 내용은 Java Hikvision SDK 보조 개발을 사용하여 강력한 영상 감시 시스템 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!