前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在线课堂/医疗视频直播点播平台EasyDSS录像/直播计划由于推流鉴权设定失效解决方法

在线课堂/医疗视频直播点播平台EasyDSS录像/直播计划由于推流鉴权设定失效解决方法

原创
作者头像
TSINGSEE青犀视频
修改2021-04-25 11:05:24
8400
修改2021-04-25 11:05:24
举报
文章被收录于专栏:TSINGSEE青犀视频

在线课堂、在线医疗视频直播点播系统EasyDSS的开发中,录像计划和直播计划可以说是我们对用户需求做出的更可控和智能的功能之一了,用户可以设定周一至周日中,某天某个时间段内开启录像,其他时间不录像。

在客户的实际测试当中,存在设定完录像计划和直播计划后失效的问题。客户现场中在指定时间段设置了推流计划以及录像计划,但是第二天发现还是在一直推流,录像文件也一直生成。

这个可能涉及到EasyDSS的鉴权功能。录像计划以及直播计划是在推流鉴权的逻辑中实现的,在产品更新的时候对鉴权这一块的代码进行了一次更改,每鉴权一次就会将返回状态存入内存,在这个反复的过程中导致数据的冗余,产生错误的数据,导致推流计划和录像计划失败。

我们可以从代码中将存入内存的方式给注释掉,因为通常的业务我们不需要将数据写入内存,这样也不实时。

参考代码如下:

代码语言:javascript
复制
if input == nil {
   return http.StatusInternalServerError
}

//key := input.GenerateKey()
//
//// 从结果队列中查询,查询到数据,返回数据
//result, exist := authService.Result.Get(key)
//if exist {
// // fmt.Println(key, "的处理结果为", result.HttpStatus)
//
// // 如果两次相同的请求,请求间隔时间大于1s,才进入处理队列。否则直接使用 1s 内的结果
// if time.Now().UnixNano()-result.ResultTime.UnixNano() >= 1*time.Second.Nanoseconds() {
//    // 加入到处理队列中
//    authService.request(input)
// }
//
// return result.HttpStatus
//} else {
// // 未查询到数据,直接处理
// // fmt.Println(key, "的处理为第一次请求")

return authService.updateResult(input)

目前该套录像计划已经成功运用于除EasyDSS之外的EasyGBS、EasyCVR等平台,设定方式可以参考:EasyDSS在进行视频直播/录像回看时如何创建视频录像计划,另外如果有朋友感兴趣,可以下载测试。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
实时音视频
实时音视频(Tencent RTC)基于腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档