RTSP/RTMP视频图像智能分析技术平台EasyCVR如何下载规定时间段的录像文件?

原创
2021/03/26 10:03
阅读数 95

在部分使用EasyCVR的用户当中出现了一个关于录像的需求,用户需要按照时间段下载设备的历史录像,但是目前我们只实现了录像文件的统一下载,因此该问题下我们首先分析需求,查询海康sdk文档,可以直接调用海康的NET_DVR_GetFileByTime_V40接口。

go端添加如下代码:

func (obj SdkHikVision) SdkDownDevRecordByTime(loginhandle, channelNum int, path string, startTime, endTime time.Time) (int, string, error) {
       log.Println("loginhandle===", loginhandle)
       log.Println("channelNum===", channelNum)
       log.Println("path===", path)
       log.Println("startTime===", startTime)
       log.Println("endTime===", endTime)
       spath := strings.Replace(path, "\\", "/", -1)
       cpath, err := syscall.BytePtrFromString(path)
       if err != nil {
              return -1, "", fmt.Errorf("error")
       }
       syear := startTime.Year()
       smonth := int(startTime.Month())
       sday := startTime.Day()
       shour := startTime.Hour()
       sminute := startTime.Minute()
       ssecond := startTime.Second()
 
       eyear := endTime.Year()
       emonth := int(endTime.Month())
       eday := endTime.Day()
       ehour := endTime.Hour()
       eminute := endTime.Minute()
       esecond := endTime.Second()
       ret := C.EASY_NET_DVR_DownFileByTime_Start(C.int(loginhandle), (*C.char)(unsafe.Pointer(cpath)), C.int(channelNum),
              C.int(syear), C.int(smonth), C.int(sday), C.int(shour), C.int(sminute), C.int(ssecond),
              C.int(eyear), C.int(emonth), C.int(eday), C.int(ehour), C.int(eminute), C.int(esecond))
 

再次通过海康SDK添加设备,然后查询通道录像显示正常。

点击下载,回放正常:

 

EasyCVR的功能正在逐步完善,目前作为视频智能分析平台,在人脸识别和车牌识别领域也有了比较完善的研发成果,并且对于新需求的展现也在不断推进研发当中,可在TSINGSEE青犀视频官方网站直接下载最新版进行实际部署测试。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部