RTSP/Onvif协议视频流媒体智能分析平台EasyNVR新增录像计划后后台运行routers/middleware.go文件报错排查过程

之前的博文中,我们讲了TSINGSEE青犀视频云边端智能分析平台几乎都新增了录像计划功能,用户可以根据自己需要录像的时间设定录像计划,从而达到更高的资源利用率。关于录像计划的设置,大家可以阅读:EasyGBS录像计划相关设置注意事项说明EasyNVR边缘计算网关录像计划功能操作介绍EasyDSS在进行视频直播/录像回看时如何创建视频录像计划

EasyNVR新增录像计划后,routers/middleware.go文件的go:29(0xd772b9)后台报错如下图:

程序运行到该处报错,但是目前不清楚具体报错原因。

因此我们查看日志文件,发现有一个ip为192.168.10.113的一直在向该EasyNVR推流,经过一番排查,发现是easyrtmplive推流工具在向该EasyNVR推流录像。找到问题了,接下来就经行处理。

我们在检查录像计划的时候先进行一次判断,如果不是本机的推流录像,直接放行,让其录像。

修改代码如下:

func checkRecordPlan() gin.HandlerFunc {
   return func(c *gin.Context) {
      c.Request.ParseForm()
      addr := c.Request.Form.Get("addr")
      app := c.Request.Form.Get("app")
      call := c.Request.Form.Get("call")
      name := c.Request.Form.Get("name")
      channelId, _ := strconv.Atoi(name[7:])
      // 此处是为了其他推流工具直接推流到nginx报错(例如:rtmplive推流工具)
      if addr != "127.0.0.1" {
         return
      }
      if app == "record" && (call == "update_publish" || call == "publish") {
}
})
}

至此就解决该问题了。TSINGSEE青犀视频云边端架构视频智能分析平台均提供试用版本进行测试,如有需求,欢迎测试。更多视频相关解决方案,欢迎联系我们咨询了解。

posted on 2020-11-26 18:07  EasyNVR  阅读(81)  评论(0编辑  收藏  举报