在安防监控系统中,从设备下载指定时间范围的录像文件是核心功能之一,例如事后追溯、证据存档等场景。本文将通过实际代码,详细讲解如何基于海康 HCNetSDK 的NET_DVR_GetFileByTime_V40和NET_DVR_PlayBackControl_V40接口实现按时间下载录像文件的功能,帮助开发者快速掌握录像下载的核心逻辑。
一、功能概述
本文代码示例实现了通过时间范围从海康设备下载录像文件的完整流程,包括:
配置下载参数(通道号、开始时间、结束时间、保存路径)。
调用 SDK 接口发起下载任务。
启动下载任务并获取执行结果。
适用场景:监控平台的录像回溯模块、自动备份系统、证据提取工具等。
二、核心代码解析
以下是完整的实现代码,我们将逐段解析其逻辑:
public class GetFileByTime {
// 初始化海康SDK实例
static HCNetSDK hCNetSDK = HCNetSDK.INSTANCE;
/**
* 按时间范围下载录像文件
* @param lUserID 设备登录ID(通过NET_DVR_Login_V30获取)
* @param sSavedFileName 本地保存路径(如"D:/record/20240520.mp4")
* @param iChannelNum 通道号(录像所属通道,通常从1开始)
* @param rY/rM/rD/rH/rMin/rS 开始时间(年/月/日/时/分/秒)
* @param pY/pM/pD/pH/pMin/pS 结束时间(年/月/日/时/分/秒)
*/
public void getFileByTime(int lUserID, String sSavedFileName, int iChannelNum,
int rY, int rM, int rD, int rH, int rMin, int rS,
int pY, int pM, int pD, int pH, int pMin, int pS) {
// 1. 初始化录像下载条件结构体
HCNetSDK.NET_DVR_PLAYCOND m_playcond = new HCNetSDK.NET_DVR_PLAYCOND();
// 2. 配置下载条件
m_playcond.dwChannel = iChannelNum; // 通道号
// 设置开始时间
m_playcond

&spm=1001.2101.3001.5002&articleId=154945794&d=1&t=3&u=b07f4296c83849fc8cadf09138f37707)
156

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



