EasyGBS是TSINGSEE青犀视频支持国标GB28181协议的视频平台,提供用户管理及web可视化页面管理,及录像检索、回放,并且可根据项目自身的需求设定是否按需播放。
EasyGBS的项目现场中当开启sql日志打印并接入通道进行非按需播放的时候,控制台会频繁打印查询设备的sql语句,这个操作会占用数据库的资源,因此我们要找出这个问题的原因,减轻不必要程序对数据库的占用。
Select * from t_devices where (id=”***”) order by t_device.id asc limit 1
通过检查代码发现,当设备为非按需,且在流保活周期内,这个时候并不需要查询数据库中的设备列表数据,只有当设备为非按需状态且在保活周期外的时候,才需要调用数据库链接查询。
所以我们对代码进行修改,限制控制台对数据库的查询,修改代码如下:
_devInfo := &models.Device{}
db.SQLite.Where("id = ?", sipDev.DeviceID).First(_devInfo)
if !db.SQLite.NewRecord(_devInfo) {
transport = _devInfo.MediaTransport
stream_ip = _devInfo.StreamIp
//transportMode = _devInfo.MediaTransportMode
}
再次测试,当设备为非按需状态时,程序控制台也没有去查询数据库。
EasyGBS作为稳定可靠的视频智能分析平台,已经具备很高的可用性了,平台提供RTSP、RTMP、HTTP-FLV、HLS等多种协议流输出,并且对外提供服务器获取状态、信息。目前TSINGSEE青犀视频也推出了国标GB28181协议的视频推流工具EasyGBD,配合EasyGBS使用,在户外的国标协议推流当中可以起到重要作用,场景不限于外勤执法、异地直播等。