国标GB28181协议EasyGBS视频平台如何通过限制用户播放时间来减小带宽压力?
程序员文章站
2022-03-17 14:13:26
...
大家知道TSINGSEE青犀视频全线产品都是有演示平台的,用户可以在演示平台浏览熟悉之后,再选择合适的视频平台进行下载试用,比如我们的EasyGBS就有部署在公网的演示平台。
然而将EasyGBS部署在公网时,游客将会到平台进行视频播放,此时公网资源会被消耗,当播放一直在进行时,公网的流量会一直消耗,导致严重的资源浪费。
为了减少这种情况下的资源浪费,我们的研发人员决定在此处进行优化,即在演示模式下限制用户的登录播放使用时间。
在用户登录成功之后,将用户信息存在Cookie中,然后根据配置信息去判断当前系统是不是演示模式,并且根据登录的用户是否是游客用户来设置Cookie的有效时间。
sess := sessions.Default(c)
sess.Set("uid", user.ID)
sess.Set("uname", user.Username)
if demo && form.Username == "guest2020" {
sess.SetMaxAge(1)
}
实现效果:登录超时之后会将用户信息置空,这样获取不到用户信息,就会自动跳转到登录界面了
if uid != nil {
c.IndentedJSON(http.StatusOK, gin.H{
"ID": uid,
"Name": sess.Get("uname"),
"RoleName": userrolename.RoleName,
"NickName": userrolename.NickName,
})
} else {
c.IndentedJSON(http.StatusOK, nil)
}
如此优化之后,在一定程度上减轻了服务器带宽的压力,减少了对服务器资源的消耗。
EasyGBS作为国标GB28181协议接入平台,能够将GB28181设备/平台推送的PS流转成ES流,然后提供RTSP、RTMP、FLV、HLS多种格式进行分发,从而实现视频监控平台的建立。更多视频相关解决方案,均可访问TSINGSEE青犀视频,欢迎联系我们获取演示方案,直观感受,也可自行进行下载及测试。
下一篇: 最简单的GB28181视频PS流播放器。