前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EasyNVR更新H265转H264模块内存增长且显示占用高如何解决?

EasyNVR更新H265转H264模块内存增长且显示占用高如何解决?

原创
作者头像
TSINGSEE青犀视频
修改2021-07-09 17:46:35
9670
修改2021-07-09 17:46:35
举报
文章被收录于专栏:TSINGSEE青犀视频

在视频传输平台中,由于数据较大,不可避免会出现内存增长的问题,在EasyNVR视频平台中,由于支持了H265视频的播放,内存占用会较小,因此在大多情况下我们推荐用户采用H265编码格式播放视频,然而在一些需要用到H264格式的项目中,更新H265转H264模块后,EasyNVR的内存使用量会随着时间一直增长,且显示占用非常高。

在转码模块的函数中,可能存在部分操作没有正确的释放使用的内存,导致内存随着运行时间一直增长。

在仔细阅读转码模块代码后发现,在开始转码时CGO模块会malloc出一块AV_frame的堆内存,但在使用后并没有调用free接口。因此导致此块内存一直没有释放,长时间运行会导致内存一直增长。

因为H265转码模块的动态库,开始转码函数是异步调用在调用成功后,主动free掉malloc出的堆内存即可。

与图一使用内存对比,第一个NVR程序是没有增加free函数的,第二个是增加的,内存占用有明显区别。

关于内存占用,我们之前也解决过EasyGBS内的相关问题:EasyGBS快照拉流频繁占带宽及内存怎么解决。大家有兴趣可以了解一下。更多视频相关解决方案,欢迎联系我们咨询。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档