EasyCVR添加过滤并推送经纬度变化信息功能的实现
今年,我们进一步更新了TSINGSEE青犀视频平台的内核及各项功能点,比如我们在添加了EasyGBS经纬度定位功能之后,也在EasyCVR中添加了该功能,如今应项目需求,我们需要对该功能做新的开发。

在项目现场中,用户想要EasyCVR将设备的经纬度变化信息,发布到redis中,通过订阅通知的方式获取到设备的经纬度变化消息。
该需求的实现需要当设备传递过来设备消息的时候,从中过滤出设备经纬度为非空的位置变化消息,然后将数据发送到redis中:

添加如下代码,从设备上传的设备信息中,解析出设备的经纬度消息,然后判断为非空的通过指定的key发布到redis中:
if channelInfo.Longitude != 0 || channelInfo.Latitude != 0 {
var deviceInfo = values.ValueMap{
"DeviceID": deviceID,
"ChannelID": channelInfo.ID,
"ChannelName": channelInfo.Name,
"Longitude": channelInfo.Longitude,
"Latitude": channelInfo.Latitude,
"Time": time.Now().Format("2006-01-02 15:04:05"),
}
redis.Client.Publish("d********** ", deviceInfo.ToJSON())
}
再次获取通过订阅获取redis中经纬度消息正常:

浙公网安备 33010602011771号