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

相關文章
相關標籤/搜索