之前的博文中我们和大家讲过EasyNVR的录像计划的实现方式,大家可以简单了解一下操作方式:EasyNVR边缘计算网关录像计划功能操作介绍。关于EasyNVR录像计划的实现,TSINGSEE青犀视频的研发人员也耗费了不少心思,下面我们就讲一下是是如何实现的。

EasyNVR录像计划,其实就是在EasyNVR先为通道配置好录像计划,然后该通道就会以录像计划中的计划设置来录像。例如:通道1只开启每天的下午1点到2点录像,那么通道1就只会在每天的下午1点到2点有录像,不会像现在一旦开启录像,就是直接录像一整天。

这样就可以达到节省磁盘空间的效果,录像也更灵活。下面是实现代码:

func checkRecordPlan() gin.HandlerFunc {

return func(c *gin.Context) {

c.Request.ParseForm()

log.Printf("----------form:%s", c.Request.Form)

app := c.Request.Form.Get("app")

call := c.Request.Form.Get("call")

name := c.Request.Form.Get("name")

channelId, _ := strconv.Atoi(name[7:])

if app == "record" && (call == "update_publish" || call == "publish") {

var camera models.Camera

models.DB.Model(models.Camera{}).Where("id = ?", channelId).First(&camera)

recordDay, _ := strconv.Atoi(camera.Reserve3)

if recordDay != 0 {

log.Printf("----------RecordAllPlan:%s", camera.RecordAllPlan)

if camera.RecordPlanEnable == 0 && camera.RecordAllPlan != "" {

if !checkTimeByRecordPlan(camera.RecordAllPlan) {

channelInfo := channels.GetChannel(uint(channelId))

channelInfo.StopRecordPusher()

c.AbortWithStatus(http.StatusBadRequest)

return

}

}

//{"Monday":"","Tuesday":"15:50:00-16:00:00","Wednesday":"","Thursday":"","Friday":"","Saturday":"","Sunday":""}

if camera.RecordPlanEnable == 1 && camera.RecordPlan != "" {

if !checkTimeByRecordPlan(camera.RecordPlan) {

channelInfo := channels.GetChannel(uint(channelId))

channelInfo.StopRecordPusher()

c.AbortWithStatus(http.StatusBadRequest)

return

}

}

}

}

c.Next()

}

}

func CheckTimeUnix(timeArr []string) bool {

if timeArr[0] == "" {

return false

}

stampStart, _ := time.ParseInLocation("2006-01-02 15:04:05", time.Now().Format("2006-01-02")+" "+timeArr[0], time.Local)

stampEnd, _ := time.ParseInLocation("2006-01-02 15:04:05", time.Now().Format("2006-01-02")+" "+timeArr[1], time.Local)

stampNow := time.Now().Unix()

if stampNow >= stampStart.Unix() && stampNow <= stampEnd.Unix() {

return true

}

return false

}

其实就是靠一个字段来判断何时可以录像。

举个例子:

{“Monday”:"",“Tuesday”:“15:00:00-16:00:00”,“Wednesday”:"",“Thursday”:"",“Friday”:"",“Saturday”:"",“Sunday”:""}

比如上面的这一个字符串,意思就是只会在星期2的下午3点到下午4点录像,其他时间段不录像。

如果大家还想了解EasyNVR更多相关内容,可以自行下载测试,EasyNVR测试版本均提供API接口可进行二次开发,与正式版本无异,如若还有视频相关解决方案上的疑问,欢迎联系我们。

java 获取nvr视频流,【功能开发】RTSP协议视频智能流媒体服务平台EasyNVR录像计划如何实现?...相关推荐

  1. RTSP协议视频智能分析平台EasyNVR在编码格式不同的情况下会导致视频无法播放吗?

    RTSP协议的视频智能分析平台EasyNVR内接入的视频通道可以通过平台进行网页直播,并且支持市面上大部分的RTSP/Onvif协议设备:IP Camera/NVR/DVR/编码器等,直播便捷稳定,是 ...

  2. RTSP协议视频智能分析平台EasyNVR如何获取云端录像的视频快照截图?

    TSINGSEE青犀视频智能分析平台内一个功能是获取直播快照,比如EasyNVR视频直播中可以获取到直播快照的截图,但在实际使用中,也有用户需要获取云端录像快照. 使用过EasyNVR获取直播快照功能 ...

  3. RTSP协议视频智能分析平台EasyNVR登录及页面的加密优化方案介绍

    大家知道任何平台,其安全性都是至关重要的,出现的任何漏洞都有可能导致文件的丢失或者不法分子的侵入.因此为了强化TSINGSEE青犀视频云边端平台的安全性,我们在EasyNVR上对用户名密码及页面的传输 ...

  4. rtsp协议_如何在RTSP协议视频智能平台EasyNVR未登录的情况下调用通道直播的接口?...

    原标题:如何在RTSP协议视频智能平台EasyNVR未登录的情况下调用通道直播的接口? TSINGSEE青犀视频云边端架构全线都提供了丰富的API接口,用户可以自由调用进行二次开发.在本文之前,我们博 ...

  5. 国标GB28181(EasyGBS)/RTSP/HIKSDK/EHOME协议视频智能分析平台EasyCVR人脸识别智能分析功能拓展

    计算机视觉技术作为人工智能(AI)技术发展的重要应用之一已经在我们的日常生活中屡见不鲜,AI人脸识别智能分析是基于人的脸部特征信息进行身份识别的一种生物识别技术,通常采用摄像机或摄像头采集含有人脸的图 ...

  6. 【解决方案】国标GB28181协议视频智能分析平台打造智慧企业AR云景解决方案

    在现今科技发展之下,如果说有什么能再次掀起产业更替大潮,第一时间我们想到的可能是VR/AR,VR/AR最有可能率先实现应用的九大领域:视频游戏.事件直播.视频娱乐.医疗保健.房地产.零售.教育.工程和 ...

  7. 【解决方案】基于国标GB28181协议视频智能分析平台EasyCVR/EasyGBS打造的智慧企业AR云景解决方案

    在现今科技发展之下,如果说有什么能再次掀起产业更替大潮,第一时间我们想到的可能是VR/AR,VR/AR最有可能率先实现应用的九大领域:视频游戏.事件直播.视频娱乐.医疗保健.房地产.零售.教育.工程和 ...

  8. 国标GB28181协议视频智能分析平台EasyCVR,构建智慧企业AR云景解决方案

    在现今科技发展之下,如果说有什么能再次掀起产业更替大潮,第一时间我们想到的可能是VR/AR,VR/AR最有可能率先实现应用的九大领域:视频游戏.事件直播.视频娱乐.医疗保健.房地产.零售.教育.工程和 ...

  9. 网络摄像头RTSP协议视频平台EasyNVR录像计划模块开发过程

    自从国标GB28181协议视频平台EasyGBS增加了录像计划模块之后,部分已经更新的用户都对此功能表示极为有用.鉴于EasyGBS的成功经验,我们对EasyNVR也开发了录像计划的功能. EasyN ...

最新文章

  1. vuex的命名空间有哪些_专业餐饮全案策划设计公司报价?具体做哪些服务?
  2. 力的作用与形态的分类
  3. 如何理解拓扑排序算法(转)
  4. 实验一 链式存储结构的基本操作
  5. Xilinx FPGA单端时钟设计方法
  6. MFC开发IM-第二十四篇、使用 acl 库针对 C++ 对象进行序列化及反序列编程
  7. 计算机硬盘与格式化,电脑硬盘能格式化吗
  8. 小米游戏本bios更新_小米笔记本电脑bios升级方法图文步骤
  9. GNSS数据处理(二)——GAMP_GOOD操作说明
  10. Android开发时候,需要下载完全的GMS谷歌服务包
  11. Java - 类加载器
  12. laravel添加语言包
  13. 【JY】力荐 | 区域建筑地震安全性有限元分析示例
  14. VirtualBox简单使用
  15. python统计一个字符串中连在一起数字的个数.(如12asd25asfd,输出结果为2)
  16. android 系统开启流量,安卓系统抖音流量权限怎么打开
  17. docker语句及SQL查询
  18. 射极跟随器的负载加重情况
  19. 【申博攻略】四.博士申请的个人自述怎么写
  20. oracle qq邮箱不能用,QQ邮箱怎么不能用?QQ邮箱崩了官方公告

热门文章

  1. Nginx学习(1/2)
  2. 深度学习 图像识别 三
  3. sony计算机不能连无线网络,sony电视以连接wifi但是用不了网络
  4. RK3288平台下调屏参基本步骤
  5. Android 进阶8:进程通信之 Binder 机制浅析
  6. 详解 Logit/Probit 模型中的 completely determined 问题
  7. 【星云测试】Wings-让单元测试智能全自动生成
  8. 从零开始在虚拟机下安装Ubuntu
  9. Ubuntu 10.04 在 Vmware 虚拟机下安装 vmware tools
  10. (一)关于思维导图MindMaster