EasyCVR如何添加流量统计功能?
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 }复制代码
添加过后,前端点击播放展示如下效果,能够正确返回播放流地址:
同时我们也可以直观看出流量的变化。
作者:TSINGSEE
链接:https://juejin.cn/post/7033652005583519752