RTSP/RTMP视频图像智能分析技术平台EasyCVR添加通道CDN地址更新后CDN字段丢失排查

网友投稿 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小时内删除侵权内容。

上一篇:浅谈java中为什么重写equals后需要重写hashCode
下一篇:RTSP/RTMP视频图像智能分析技术平台EasyCVR如何下载规定时间段的录像文件?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~