EasyGBS可以通過GB28181協議與其他第三方平臺進行級聯,由于這一優勢的存在,很多專案團隊都會選擇EasyGBS來進行專案監控方案的搭建,而目前在產品迭代升級中,我們將RTSP安防視頻可視化平臺EasyNVR也支持向上級國標平臺級聯,

之前EasyNVR平臺級聯到EasyGBS國標平臺之后,通道號都是按照一定的規則自動生成的,如下圖:


EasyNVR的通道1對應的是34020000001360000101;通道8對應的是34020000001360000108
那么當我們要修改通道編號時應該如何設定?EasyNVR通道國標協議級聯到EasyGBS上,EasyGBS的通道號是根據EasyNVR自己構建上報給EasyGBS的,因此我們只需要在EasyNVR上報通道給EasyGBS的地方修改即可,
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了,
我們先我們修改一下EasyNVR通道1不啟用國標級聯

EasyGBS這邊就看不到EasyNVR的通道1對應的通道了,隨后修改一下EasyNVR通道1對應的國標級聯通道號為34020000001361111101即可,


EasyNVR和EasyGBS都是TSINGSEE青犀視頻云邊端架構產品中的視頻平臺,EasyGBS支持GB28181協議的前端設備,EasyNVR支持RTSP協議的前端設備,我們均為大家提供了試用版本測驗使用,歡迎大家測驗,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/205731.html
標籤:python
