首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >新版EasyGBS更新快照后刷新出现快照数据库内容丢失问题调整

新版EasyGBS更新快照后刷新出现快照数据库内容丢失问题调整

原创
作者头像
TSINGSEE青犀视频
修改2021-09-14 18:08:25
修改2021-09-14 18:08:25
6480
举报
文章被收录于专栏:TSINGSEE青犀视频TSINGSEE青犀视频

我们的视频流媒体服务器诸如支持国标协议的EasyGBS、支持RTSP协议的EasyNVR流媒体平台,这些平台在做研发的时候,我们都做了快照界面,让用户观看的界面更加直观。

由于最近EasyGBS更新了新版内核,我们在对新版EasyGBS做通道测试时,发现通道刷新之后快照数据库内容字段就丢失了。

原本的快照内容显示正常:

刷新之后快照丢失:

这里我们分析应该是刷新时未对快照进行查询,从而导致通道更新的时候快照重新开始记录,但是快照的更新需要等待1分钟,因此刷新通道的前一分钟并无快照生成。

添加如下代码,当用户更新通道之后,去查询此时通道的快照数据是否有数据,如果要有的话,再去读取本地是否有这个文件,要是都符合条件,那就快照字段不更新,否则就更新。

代码语言:javascript
复制
if channel.Longitude == 0 && channel.Latitude == 0 {
   err = tx.Omit("ondemand", "record", "record_plan", "custom_id", "gbs_longitude", "gbs_latitude", "record_plan_switch", "audio", "cdn", "snap").Save(channel).Error
} else {
   err = tx.Omit("ondemand", "record", "record_plan", "custom_id", "record_plan_switch", "audio", "cdn", "snap").Save(channel).Error
}
if err != nil {
   log.Println("save channel error ", err.Error())
   tx.Rollback()
   return
}

检查快照更新,刷新通道后快照依然存在。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档