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


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

     

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

     

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

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

    原代码如下:

    // 更新流信息
    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)
     
    

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

     

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

  • 相关阅读:
    HTTP概述
    【HTTP权威指南】第二章URL与资源
    【HTTP权威指南】第三章HTTP报文
    列表生成式
    六一问候
    NYOJ 528 找球号(三)
    NYOJ 138 找球号(二)
    HDU3790 最短路径问题
    NYOJ 228 士兵杀敌(五)
    NYOJ3 3 多边形重心问题
  • 原文地址:https://www.cnblogs.com/easydss/p/14930696.html
Copyright © 2020-2023  润新知