TSINGSEE团队研发的视频平台有很多种,而EasyDSS平台不同于其他平台的地方在于不仅能够进行视频直播,还能进行视频点播,能够上传视频文件,根据用户的需求将点播文件转化为直播。EasyDSS能够接入支持RTMP协议的摄像头。

新版的EasyDSS添加了直播推流计划和录像计划,在获取直播列表的时候,我们看到网络报错请求失败,导致无法正常获取视频直播列表。

研发该功能的时候,我们在进行推流或者录像计划阶段做了个机制,需要获取当前时间是否可以推流或者录像。
如果当天推流计划和录像计划限定是时间是空,然而后端没有判断为空,就会导致的时间解析出现问题,所以在这里该BUG就以网络请求失败的形式表现出来。
这里我改了一下该机制的代码,将后端数据的返回值进行判断,具体如下:
func CheckTimeUnix(timeArr []string) bool {
if timeArr[0] == consts.EmptyString {
return true
}
stampStart, _ := time.ParseInLocation(consts.TimeTemplateMore, time.Now().Format(consts.TimeTemplateLess)+" "+timeArr[0], time.Local)
stampEnd, _ := time.ParseInLocation(consts.TimeTemplateMore, time.Now().Format(consts.TimeTemplateLess)+" "+timeArr[1], time.Local)
stampNow := time.Now().Unix()
if stampNow >= stampStart.Unix() && stampNow <= stampEnd.Unix() {
return true
}
return false
}
解决后就会出现直播列表,获取正常:

本文介绍了一个关于EasyDSS平台直播列表获取失败的问题及其解决方案。问题源于推流和录像计划的时间判断机制,当设定时间为空时,后端未正确处理导致时间解析错误。通过改进代码逻辑,增加对空值的判断,成功解决了直播列表的获取问题。
351

被折叠的 条评论
为什么被折叠?



