前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EasyGBS国标GB28181协议视频平台内存上升如何解决?

EasyGBS国标GB28181协议视频平台内存上升如何解决?

原创
作者头像
TSINGSEE青犀视频
发布2022-03-18 17:33:51
3050
发布2022-03-18 17:33:51
举报
文章被收录于专栏:TSINGSEE青犀视频TSINGSEE青犀视频

国标GB28181协议视频平台EasyGBS已经实现了十分丰富的安防视频功能,如视频直播、录像、检索与回放、存储、告警、语音对讲、平台级联等能力。去年我们也更换了新内核,新内核版的EasyGBS性能更加稳定和流畅。

EasyGBS支持设备以GB28181协议接入,能兼容市面上的各种视频源设备,其强大的视频能力既可以作为业务平台,也能作为视频能力平台进行调用,有广泛的应用场景,如明厨亮灶、雪亮工程、平安乡村等。

用户的EasyGBS接入大量设备、或者运行时间过长时,会出现内存上升的情况。关于内存这一块,我们之前也写过不少的技术文章,大家可以翻阅历史文章进行查阅。今天我们来分享如何对EasyGBS的内存泄露情况进行排查与解决。

GO语言的内存释放是自动调用gc,无须代码调用gc。在排查时,发现在Cgo模块GO语言类型转换为C的结构cbytes时候,c.free调用有问题,unsafe.Pointer(cbytes)和&cbytes的内存地址不一样,如下图:

初步判断是这块free的时候参数有问题,于是将C.free(unsafe.Pointer(cBytes)) 改成C.free(cBytes)。修改后发现内存上升明显减少,但是还存在释放不了的情况,于是在main.go中加上主动释放GO内存的方法:

本地测试后发现,上述修改后后EasyGBS的内存不会出现持续升高的情况了。后期长时间运行,发现不添加主动gc的操作也可以,程序会在2个小时以上才会清空一次内存。

随着大数据技术与深度学习的持续提升,人工智能应用也逐渐与安防行业进行了深度融合,安防智能化已经成为行业的趋势。基于AI深度学习算法,智能化的安防视频监控平台可以提取视频特征、对视频数据进行结构化处理等,在应用场景中实现如人脸识别、人流量统计、人群密度检测、安全帽检测、烟火检测、危险行为识别、物体识别、目标追踪等能力。将前端边缘计算、后端云计算、大数据平台、视频图像AI智能分析技术相结合已经是当前安防视频监控市场的发展方向。

TSINGSEE青犀视频平台(典型的如EasyCVR视频融合云平台)结合前端边缘计算AI智能摄像机,也已经实现多场景下的视频+AI智能检测识别应用

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档