前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RTSP/RTMP视频图像智能分析技术平台EasyCVR添加通道CDN地址更新后CDN字段丢失排查

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

原创
作者头像
TSINGSEE青犀视频
修改2021-03-25 14:13:07
8520
修改2021-03-25 14:13:07
举报
文章被收录于专栏:TSINGSEE青犀视频TSINGSEE青犀视频

TSINGSEE青犀视频图像智能分析技术平台EasyCVR不仅能够实现视频流的扫码及链接分享,还支持推送到CDN(EasyCVR如何将通道视频流推送至CDN分发)。

EasyCVR在推送视频通道至CDN时出现一个问题,即当用户添加通道CDN地址后更新通道,会出现CDN字段丢失的情况。

通道添加CDN之后,这里是有数据的:

执行更新通道之后CDN字段丢失:

此时数据库CDN表字段显示为空:

排查代码发现,当通道更新的时候,服务会更新所有通道,包括CDN字段也会更新,因此冲掉了老数据,所以导致配置CDN字段之后,通道再次更新,CDN字段即丢失的情况。

添加如下代码,调用.Omit(“enable_cdn”, “cdn_url”),更新数据库数据的时候会忽略这两个字段,参考代码如下:

代码语言:javascript
复制
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协议进行级联,以及多协议融合的特性也会在多方面发挥作用。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
内容分发网络 CDN
内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档