EasyCVR如何新增流量統計功能?

語言: CN / TW / HK

EasyCVR影片協議融合平臺不僅支援常規協議的接入,我們還拓展了海康SDK、大華SDK、Ehome等私有協議。如果前端裝置協議不同且數量較多,則可以通過EasyCVR平臺來對所有影片通道做整合和統一管理,同時EasyCVR也支援與其他支援GB28181協議的平臺級聯。

在最近的開發中,我們對EasyCVR的功能也進行了優化,添加了流量統計功能,該功能需要統計每個通道以及裝置接收的流量和傳送的流量。

新增如下程式碼,在請求播放介面的時候,從流媒體中獲取當前播放的資訊,從中篩選出接收流量以及傳送流量,然後將其存入到資料庫中。前端點選查詢的時候,按時按天按月的返回給前端。

select {
case <-ticker.C:
       module := utils.Conf().Section("base_config")
       trafficSumDay := module.Key("traffic_sum_day").MustInt(1)
       err := cvrservice.GetDeviceService().DeleteStreamLog(time.Now().Add(time.Hour * 24 * -time.Duration(trafficSumDay)))
       if err != nil {
              log.Println("err,", err.Error())
              time.Sleep(time.Second * 3)
              continue
       }
       groups, err := mediaserver.GetLiveSessions()
       if err != nil {
              log.Println("err,", err.Error())
              time.Sleep(time.Second * 3)
              continue
       }

新增過後,前端點選播放展示如下效果,能夠正確返回播放流地址:

同時我們也可以直觀看出流量的變化。