RTSP协议安防视频平台EasyNVR级联到GB28181协议视频平台EasyGBS,如何自定义设备通道号?

EasyGBS能够经过GB28181协议与其余第三方平台进行级联,因为这一优点的存在,不少项目团队都会选择EasyGBS来进行项目监控方案的搭建,而目前在产品迭代升级中,咱们将RTSP安防视频可视化平台EasyNVR也支持向上级国标平台级联。前端

微信截图_20201026170946.png

以前EasyNVR平台级联到EasyGBS国标平台以后,通道号都是按照必定的规则自动生成的,以下图:微信

46.png

47.png

EasyNVR的通道1对应的是34020000001360000101;通道8对应的是34020000001360000108架构

那么当咱们要修改通道编号时应该如何设置?EasyNVR通道国标协议级联到EasyGBS上,EasyGBS的通道号是根据EasyNVR本身构建上报给EasyGBS的,所以咱们只须要在EasyNVR上报通道给EasyGBS的地方修改便可。app

case "catalog":
   //上传通道
   _ = c.Req.MakeResponse().SendByTransport(c.Transport)

   gbsChannels := channels.GetGbsChannels()
   err := c.Client.MakeCataLogRequest(serial, c.Client.Cascade.Realm, sn, gbsChannels)
   if err != nil {
      log.Printf("make catalog request failed, %v", err)
      return
   }
   //log.Printf("级联上传通道: make catalog request caremas: %v", caremas)

   c.Client.DevCache.Set(fmt.Sprintf("cascade_channels@%d", c.Client.Cascade), gbsChannels, -1)

经过以上函数,EasyGBS就能够获取到用户想要给EasyGBS传递的通道及其信息,好比是否级联到国标已经自定义的通道号。函数

func GetGbsChannels() []*ChannelInfo {
   channelsLock.RLock()
   defer channelsLock.RUnlock()
   var cameras []models.Camera
   models.DB.Model(models.Camera{}).Where("gbs_enable = 1").Find(&cameras)
   ret := make([]*ChannelInfo, 0, len(channels))
   for _, channel := range channels {
      for i := range cameras {
         if channel.Channel == cameras[i].ID {
            channel.GbsId = cameras[i].GbsId
            ret = append(ret, channel)
         }
      }
   }
   return ret
}

咱们在EasyNVR的通道配置一下级联国标相关信息。测试

48.png

EasyNVR通道1的国标级联配置是开启的,且配置了级联到EasyGBS上报给EasyGBS的通道是34020000001360000101,这样咱们在EasyGBS上看到的通道号就34020000001360000101了。code

咱们先咱们修改一下EasyNVR通道1不启用国标级联视频

49.png

EasyGBS这边就看不到EasyNVR的通道1对应的通道了。随后修改一下EasyNVR通道1对应的国标级联通道号为34020000001361111101便可。blog

51.png

52.png

EasyNVR和EasyGBS都是TSINGSEE青犀视频云边端架构产品中的视频平台,EasyGBS支持GB28181协议的前端设备,EasyNVR支持RTSP协议的前端设备,咱们均为你们提供了试用版本测试使用,欢迎你们测试。rem

相关文章
相关标签/搜索