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


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

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

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

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

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

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

  • 相关阅读:
    Oracle第一课
    Web前端试题
    E
    Kingdom of Black and White
    D. Let's Go Hiking
    2021牛客寒假 第一场
    Codeforces Round #691 (Div. 2)
    CF1461D
    CF1461B
    浙财16th校赛 F因子
  • 原文地址:https://www.cnblogs.com/EasyNVR/p/14990319.html
Copyright © 2020-2023  润新知