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

}

添加过后,前端点击播放展示如下效果,能够正确返回播放流地址:

同时我们也可以直观看出流量的变化。

 

posted on 2021-11-24 17:36  EasyCVR视频融合平台  阅读(43)  评论(0)    收藏  举报