zoukankan      html  css  js  c++  java
  • RTMP推流协议视频直播/点播平台EasyDSS录像列表中名称字段显示录像ID的BUG修复

    RTMP推流协议视频直播点播平台EasyDSS与TSINGSEE青犀视频其他产品的区别是可以兼顾直播和点播,同时直播和点播两种播放方式都可以进行录像。

    在开启直播的时候,如果录像开启的话,系统会在数据库中创建录像,其中录像的id和名称应为直播间的id和名称,但在录像列表中的显示的名称也变成了该录像的id。

    直播间的id和名称:

    录像的id和名称:

    这是由于代码没有添加判断机制,致使录像的名称直接用了id。我们这里的处理方法就是添加判断机制,将直播间的名称赋予给录像作为名称。优化代码如下:

           if record.ID != consts.EmptyString {
             //添加更新缓冲,如果超过15-30秒才更新
             if time.Now().Unix()-record.UpdateAt.ToTime().Unix() > int64(15+rand.Intn(15)) {
                db.Table(consts.TableRecord).Where(consts.SqlWhereID, id).
                   Updates(map[string]interface{}{"store_path": live.StorePath, "name": record.Name, "record_reserve": live.RecordReserve, "update_at": etime.Now()})
             }
          } else {
             dao.GetDB().Where(consts.SqlWhereID, id).First(live)
             if live.ID == consts.EmptyString {
                //说明是匿名直播
                record.ID = id
                record.Type = consts.LiveSessionTypeOpenLive
                record.Name = live.Name
                record.RecordReserve = sysConfig.OpenRecordReserve
                record.LocalIP = utils.LocalIP()
                db.Table(consts.TableRecord).Create(record)
             } else {
                record.ID = id
                record.Type = consts.ApplicationLive
                record.Name = live.Name
                record.StorePath = live.StorePath
                record.RecordReserve = sysConfig.OpenRecordReserve
                record.LocalIP = live.LocalIP
                db.Table(consts.TableRecord).Create(record)
             }
          }
       }
    }
    

    添加代码之后,录像的id和名称正常化:

    EasyDSS还有一个“虚拟直播”的功能,在虚拟直播的情况下,用户可以将已经上传好的视频资源在固定时间段进行直播,并且也可开启录像(EasyDSS如何将虚拟直播进行录像)。EasyDSS视频直播已经支持H265编码格式,如果大家有兴趣,欢迎咨询。

  • 相关阅读:
    分布式系统阅读笔记(六)-----间接通信
    分布式系统阅读笔记(六)-----间接通信
    分布式系统阅读笔记(六)-----间接通信
    分布式系统阅读笔记(七)-----操作系统的支持
    分布式系统阅读笔记(七)-----操作系统的支持
    分布式系统阅读笔记(七)-----操作系统的支持
    分布式系统阅读笔记(八)-----分布式对象和组件
    sizeof()
    void *
    strcpy函数的实现
  • 原文地址:https://www.cnblogs.com/easydss/p/13826082.html
Copyright © 2011-2022 走看看