EasyGBS能够经过GB28181协议与其余第三方平台进行级联,因为这一优点的存在,不少项目团队都会选择EasyGBS来进行项目监控方案的搭建,而目前在产品迭代升级中,咱们将RTSP安防视频可视化平台EasyNVR也支持向上级国标平台级联。前端
以前EasyNVR平台级联到EasyGBS国标平台以后,通道号都是按照必定的规则自动生成的,以下图:微信
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的通道配置一下级联国标相关信息。测试
EasyNVR通道1的国标级联配置是开启的,且配置了级联到EasyGBS上报给EasyGBS的通道是34020000001360000101,这样咱们在EasyGBS上看到的通道号就34020000001360000101了。code
咱们先咱们修改一下EasyNVR通道1不启用国标级联视频
EasyGBS这边就看不到EasyNVR的通道1对应的通道了。随后修改一下EasyNVR通道1对应的国标级联通道号为34020000001361111101便可。blog
EasyNVR和EasyGBS都是TSINGSEE青犀视频云边端架构产品中的视频平台,EasyGBS支持GB28181协议的前端设备,EasyNVR支持RTSP协议的前端设备,咱们均为你们提供了试用版本测试使用,欢迎你们测试。rem