Spring中的aware接口详情
240
2022-10-23
RTSP/RTMP视频图像智能分析技术平台EasyCVR添加通道CDN地址更新后CDN字段丢失排查
TSINGSEE青犀视频图像智能分析技术平台EasyCVR不仅能够实现视频流的扫码及链接分享,还支持推送到CDN(EasyCVR如何将通道视频流推送至CDN分发)。
EasyCVR在推送视频通道至CDN时出现一个问题,即当用户添加通道CDN地址后更新通道,会出现CDN字段丢失的情况。
通道添加CDN之后,这里是有数据的:
执行更新通道之后CDN字段丢失:
此时数据库CDN表字段显示为空:
排查代码发现,当通道更新的时候,服务会更新所有通道,包括CDN字段也会更新,因此冲掉了老数据,所以导致配置CDN字段之后,通道再次更新,CDN字段即丢失的情况。
添加如下代码,调用.Omit(“enable_cdn”, “cdn_url”),更新数据库数据的时候会忽略这两个字段,参考代码如下:
if len(gbschannels) == 0 { cvrChannel.Name = channel.Name tx.Model(cvrdo.DBChannelInfo{}).Omit("enable_cdn", "cdn_url").Save(cvrChannel)} else { tmp, ret := cvrdao.GetChannelDao().Get(uint(gbschannels[0].Index)) if ret != nil { cvrChannel.Name = gbschannels[0].Name } else { cvrChannel.ChannelID = tmp.ChannelID cvrChannel.EnableAudio = tmp.EnableAudio cvrChannel.Name = tmp.Name cvrChannel.Token = tmp.Token cvrChannel.RecordPlanNew = tmp.RecordPlanNew cvrChannel.RecordPlanSwitch = tmp.RecordPlanSwitch cvrChannel.RecordPlan = tmp.RecordPlan } tx.Model(cvrdo.DBChannelInfo{}).Omit("enable_cdn", "cdn_url").Save(cvrChannel)}
调整代码后再次配置CDN地址,前后都可以正常显示了,该问题已解决。
EasyCVR视频协议融合平台不仅支持目前主流的视频协议,如国标GB28181、RTSP,还支持部分私有协议的设备接入,包括HIKSDK、Ehome协议,其他主流厂家的私有协议也在扩充中,将会不定期添加。其中值得一提的是,在众多户外场景及多级平台的项目中,EasyCVR可以运用GB28181协议进行级联,以及多协议融合的特性也会在多方面发挥作用。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~