EasyDSS匿名直播通道数据量不稳定优化方案分享

EasyDSS作为一款支持视频点播的流媒体传输平台,可以自行上传视频文件,也可将上传的点播文件作为虚拟直播进行播放。同时,在视频文件上传方面,我们也增加了新功能,即定时将最新的录像文件上传到文件服务器。

匿名直播.png

在测试 EasyDSS 中匿名直播时经常出现在线匿名直播通道数量的数据不稳定的问题,比如一直在线20条数据,有时显示10条,有时显示20条。

79.png

查看代码,每次更新匿名直播的数据信息如下:收到内核的直播流信息,首先在数据库中查找是不是直播或者虚拟直播,如果没有查找到,则认为是匿名直播。

前端在查询的时候,部分数据因为数据库更新的速度问题,没有及时的更新,因此出现该问题。

原代码如下:

// 更新流信息
gLives.Set(group.StreamName, sessionInfo)
gSessChan <- sessionInfo

gSessChan <- sessionInfo 该行代码为将数据发送到通道中,另外的根据数据库进行判断。

于是我们修改代码如下:

if !gLives.Has(group.StreamName) {
   // 推送到通道中,根据数据库处理信息
   // 如果是第一次在线,更新类型
   gSessChan <- sessionInfo
} else {
   info, _ := gLives.Get(group.StreamName)
   oldSessionInfo := info.(*dto.SessionInfo)
   sessionInfo.Name = oldSessionInfo.Name
   sessionInfo.Type = oldSessionInfo.Type
}
// 更新流信息
gLives.Set(group.StreamName, sessionInfo)

如果在历史数据中查到了对应的类型,直接使用原先的数据类型。修改之后数据则稳定正常。

image.png

EasyDSS的使用场景非常丰富,更新之后的版本也越来越符合现代技术的更新和用户的使用需求,除了以上我们提到的在线教育、视频点播方面的应用之外,还可以拓展到物联网、物流仓储、移动监控等多个方面,其中比较热门的就有无人机实现的EasyDSS视频推流直播,我们也做过不少无人机视频直播的方案,欢迎大家了解和测试。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值