之前的博文中,我们讲了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青犀视频云边端架构视频智能分析平台均提供试用版本进行测试,如有需求,欢迎测试。更多视频相关解决方案,欢迎联系我们咨询了解。