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

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

102.png

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

26.png

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

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

27.png

参考代码如下:

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在进行视频直播/录像回看时如何创建视频录像计划,另外如果有朋友感兴趣,可以下载测试。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值