EasyGBS视频平台如何通过限制用户播放时间来减小带宽压力?

大家知道TSINGSEE青犀视频全线产品都是有演示平台的,用户可以在演示平台浏览熟悉之后,再选择合适的视频平台进行下载试用,比如我们的EasyGBS就有部署在公网的演示平台。

EasyGBS视频平台如何通过限制用户播放时间来减小带宽压力?

然而将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视频平台如何通过限制用户播放时间来减小带宽压力?

EasyGBS作为国标GB28181协议接入平台,能够将GB28181设备/平台推送的PS流转成ES流,然后提供RTSP、RTMP、FLV、HLS多种格式进行分发,从而实现视频监控平台的建立。

上一篇:《Linux命令行与shell脚本编程大全》第二十章 正则表达式


下一篇:气象灾害监测:如何利用大数据及安防AI技术进行预警?