海康威视Java SDK实战指南
一、获取海康威视SDK
首先,我们需要从海康威视的官方网站获取SDK。这是开始项目开发的第一步。
二、在IDEA中创建并配置项目
接下来,打开IDEA并创建一个新的项目。将下载的SDK导入到项目中。
- 在
project Structure -> modules中添加Jna.jar和examples.jar。

- 在
project Structure -> sdks中同样添加Jna.jar和examples.jar。

三、修改HCNetSDK.java
为了确保程序能够正确加载动态链接库,我们需要修改HCNetSDK.java文件中的DLL加载路径。
HCNetSDK INSTANCE = (HCNetSDK) Native.loadLibrary(System.getProperty("user.dir") + "/HCNetSDK.dll", HCNetSDK.class);
同样,对于PlayCtrl.dll也需要进行路径修改。
PlayCtrl INSTANCE = (PlayCtrl) Native.loadLibrary(System.getProperty("user.dir") + "/PlayCtrl.dll", PlayCtrl.class);
四、运行程序
在程序中输入设备的IP地址、用户名、密码和端口号,然后点击注册按钮。

如果预览成功,你将看到如下界面:

此外,你还可以利用SDK实现回放功能,只需指定通道号即可。

五、SDK程序函数调用顺序
了解SDK中函数的调用顺序对于开发至关重要。这有助于我们更好地理解程序的执行流程。
六、实战:手动录像功能
我们可以通过创建定时任务来实现手动录像功能。
@Scheduled(fixedRate = 60000) // 每小时执行一次
@Async
public void startVideoTask() {
try {
HKUtil.startVideo(v.username, v.password, v.ip);
} catch (Exception e) {
e.printStackTrace();
}
}
在HKUtil.java中,我们定义了startVideo方法来处理录像的启动和停止。
public static void startVideo(String username, String password, String ip) {
new Thread() {
@Override
public void run() {
boolean initSuc = hCNetSDK.NET_DVR_Init();
HKUtil a = new HKUtil();
a.init(username, password, ip);
}
}.start();
}
流程概述:
- 注销登录
- 构建登录参数
- 登录注册
- 开始录制
- 睡眠
- 停止录制
对应方法:
hCNetSDK.NET_DVR_Logout_V30(lUserID);// 注销登录m_strDeviceInfo = new HCNetSDK.NET_DVR_DEVICEINFO_V30();// 构建登录参数hCNetSDK.NET_DVR_Login_V30(m_sDeviceIP, (short) iPort, username, password, m_strDeviceInfo);// 登录注册hCNetSDK.NET_DVR_StartDVRRecord(lUserID, new NativeLong(0xffff), new NativeLong());// 开始录制Thread.sleep(30000);// 睡眠hCNetSDK.NET_DVR_StopDVRRecord(lUserID, new NativeLong(0xffff));// 停止录制
通过上述步骤,你可以成功实现海康威视Java SDK的手动录像功能。

5587

被折叠的 条评论
为什么被折叠?



