java对接 布防 海康威视_java web整合海康威视录像机摄像SDK
时间: 2023-09-08 12:14:59 浏览: 654
Java对接海康威视SDK可以使用官方提供的Java SDK。下面是一个简单的示例代码:
```java
import com.sun.jna.NativeLong;
import com.sun.jna.Pointer;
import com.hikvision.netsdk.*;
public class HikvisionDemo {
public static void main(String[] args) {
// 初始化SDK
boolean initSuc = HCNetSDK.INSTANCE.NET_DVR_Init();
if (!initSuc) {
System.out.println("SDK初始化失败!");
return;
}
// 登录设备
HCNetSDK.NET_DVR_DEVICEINFO_V30 deviceInfo = new HCNetSDK.NET_DVR_DEVICEINFO_V30();
NativeLong lUserID = HCNetSDK.INSTANCE.NET_DVR_Login_V30("192.168.1.64", (short) 8000, "admin", "password", deviceInfo);
if (lUserID.longValue() < 0) {
System.out.println("设备登录失败!");
HCNetSDK.INSTANCE.NET_DVR_Cleanup();
return;
}
// 预览
HCNetSDK.NET_DVR_PREVIEWINFO previewInfo = new HCNetSDK.NET_DVR_PREVIEWINFO();
previewInfo.lChannel = new NativeLong(1); // 通道号
previewInfo.dwStreamType = 0; // 码流类型:0-主码流,1-子码流
previewInfo.dwLinkMode = 0x40000000; // 0x40000000-TCP方式,0x80000000-UDP方式
NativeLong lRealHandle = HCNetSDK.INSTANCE.NET_DVR_RealPlay_V40(lUserID, previewInfo, null);
if (lRealHandle.longValue() < 0) {
System.out.println("预览失败!");
HCNetSDK.INSTANCE.NET_DVR_Logout(lUserID);
HCNetSDK.INSTANCE.NET_DVR_Cleanup();
return;
}
// 停止预览
HCNetSDK.INSTANCE.NET_DVR_StopRealPlay(lRealHandle);
// 退出登录
HCNetSDK.INSTANCE.NET_DVR_Logout(lUserID);
// 释放SDK资源
HCNetSDK.INSTANCE.NET_DVR_Cleanup();
}
}
```
需要注意的是,这里使用的是JNA(Java Native Access)库,需要在项目中引入jna.jar和jna-platform.jar两个库文件。
同时,需要根据实际情况修改设备IP地址、端口号、用户名、密码、通道号等参数。
阅读全文