欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

RTSP协议网络摄像头网页无插件直播平台EasyNVR的云端综合管理平台EasyNVS提交基础配置报错原因分析

程序员文章站 2022-07-05 20:01:55
...

EasyNVR是基于RTSP协议网络摄像头/NVR的流媒体视频平台,无需安装各个安防设备厂商的视频播放插件,即可接入海康、大华、宇视等网络硬盘录像机、NVR设备。如果需要互联网访问前端设备视频,还可以通过部署EasyNVS视频管理平台在外网,来进行网络之间的穿透与视频交互。

RTSP协议网络摄像头网页无插件直播平台EasyNVR的云端综合管理平台EasyNVS提交基础配置报错原因分析

EasyNVS视频管理平台可以在配置页面接入EasyNVR。但是我们在一次配置当中发现提交的时候,报错“APIAuth eq|eq”。

RTSP协议网络摄像头网页无插件直播平台EasyNVR的云端综合管理平台EasyNVS提交基础配置报错原因分析

分析问题

此处是在提交EasyNVS基础配置时候提示的错误,于是我们查看浏览器控制台发送的请求。

RTSP协议网络摄像头网页无插件直播平台EasyNVR的云端综合管理平台EasyNVS提交基础配置报错原因分析

前端传过来的参数是“false”。下面观看后端的接口。

RTSP协议网络摄像头网页无插件直播平台EasyNVR的云端综合管理平台EasyNVS提交基础配置报错原因分析

APIAuth这个参数限制只能传“0”或“1”,而前端传过来的参数是“false”,于是报错了。

解决问题

现在有两种解决方法。第一种修改前端,第二种修改后端。我们先从前端开始排查问题。

1、观看前端代码

    onAPIAuth (data) {
      data=='0'?this.APIAuth='1':this.APIAuth='0'
      // console.log(this.APIAuth)
    },

这个是选择按钮的点击事件,在这里会将APIAuth这个参数改为“0”或“1”,那为什么提交还是会报错?

2、继续查看接口。

RTSP协议网络摄像头网页无插件直播平台EasyNVR的云端综合管理平台EasyNVS提交基础配置报错原因分析

发现在获取配置接口的时候,后端传给前端的参数是“false”。到这里我们可以明白是后端的错误,所以下面检查后端。

3、查看后端的获取配置的接口。

func (h *APIHandler) GetBaseConfig(c *gin.Context) {
   sec := utils.Conf().Section("nvs")
   c.IndentedJSON(http.StatusOK, gin.H{
      "Host":           sec.Key("host").MustString(utils.LocalIP()),
      "Port":           sec.Key("port").MustUint(10812),
      "DevicePassword": sec.Key("device_password").MustString(""),
      "APIAuth":        utils.Conf().Section("http").Key("api_auth").MustString("0"),
   })
}

这里将APIAuth这个参数从配置文件读取,如果读不到就是“0”,查看配置文件,发现没有为http下api_auth这个参数。

RTSP协议网络摄像头网页无插件直播平台EasyNVR的云端综合管理平台EasyNVS提交基础配置报错原因分析

4、于是我们可以在ini配置文件给api_auth设置默认值为1。这样传回前端就不会报False,也就不再报错了。

RTSP协议网络摄像头网页无插件直播平台EasyNVR的云端综合管理平台EasyNVS提交基础配置报错原因分析

关于EasyNVS

EasyNVR对接EasyNVS可以利用网络实现按需直播,同时屏蔽各种网络环境问题,适用于有线、WIFI、4G、专网,EasyNVS管理平台能获取到EasyNVR的所有能力,并进行互联网化输出,同时进行统一化的管理和接口输出。

RTSP协议网络摄像头网页无插件直播平台EasyNVR的云端综合管理平台EasyNVS提交基础配置报错原因分析

相关标签: EasyNVR功能