该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

import gc

import os

from multiprocessing import Manager, Process

import cv2

video_address = r"F:\video\obama.mp4" # 这里原为海康威视RTSP地址,不过普通视频文件也存在溢出

# 向共享缓冲栈中写入数据:

def write(stack, cam, top: int) -> None:

print('Process to write: %s' % os.getpid())

cap = cv2.VideoCapture(cam)

while True:

success, img = cap.read()

if success:

stack.append(img)

# 每到一定容量清空一次缓冲栈

# 利用gc库,手动清理内存垃圾,防止内存溢出

print(len(stack))

if len(stack) >= top:

del stack[:]

gc.collect()

# 在缓冲栈中读取数据:

def read(stack) -> None: #提醒返回值是一个None

print('Process to read: %s' % os.getpid())

print("开始逐帧读取")

while True:

if len(stack) >= 10:

frame = stack.pop()

cv2.imshow("video", frame)

key = cv2.waitKey(1) & 0xFF

if key == ord('q'):

break

else:

continue

cv2.destroyAllWindows()

if __name__ == '__main__':

# 父进程创建缓冲栈,并传给各个子进程:

q = Manager().list()

pw = Process(target=write, args=(q, video_address, 100))

pr = Process(target=read, args=(q,))

pw.start()

pr.start()

pr.join()

pw.terminate()

python读取视频占用内存太大_视频流用多进程读写,内存溢出怎么办?相关推荐

  1. python读取视频占用内存太大_Python 读取大文件内存占用检测示例

    导读热词对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! python读写文件的api都很简单,一不留神就容易踩"坑".笔者记录 ...

  2. python 读取数据库内存爆_解决python读取几千万行的大表内存问题

    Python导数据的时候,需要在一个大表上读取很大的结果集. 如果用传统的方法,Python的内存会爆掉,传统的读取方式默认在内存里缓存下所有行然后再处理,内存容易溢出 解决的方法: 1)使用SSCu ...

  3. python读取千万级数据库数据类型_解决python读取几千万行的大表内存问题

    Python导数据的时候,需要在一个大表上读取很大的结果集. 如果用传统的方法,Python的内存会爆掉,传统的读取方式默认在内存里缓存下所有行然后再处理,内存容易溢出 解决的方法: 1)使用SSCu ...

  4. Unity3D占用内存太大的解决方法【先转,慢慢看】

    2019独角兽企业重金招聘Python工程师标准>>> Unity3D占用内存太大的解决方法 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unit ...

  5. unity3d占用内存太大解决方法

    原帖:http://www.onevcat.com/2012/11/memory-in-unity3d/ 转载自星辰 Unity3D占用内存太大的解决方法 最近网友通过网站搜索Unity3D在手机及其 ...

  6. Unity3D占用内存太大怎么解决

    最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化. Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个 ...

  7. unity占内存大小_Unity3D占用内存太大的解决方法

    原文链接:http://www.cnblogs.com/88999660/archive/2013/03/15/2961663.html 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太 ...

  8. for循环数据量太大_中文文本分类roberta大力出奇迹之数据量大的问题

    问题描述: 笔者在文本分类场景中使用了roberta+pool+dense的三分类模型.采用预训练模型做项目的时候经常苦于数据太少,模型泛化性差,因此收集了1300W数据.在我尝试暴力出奇迹的时候,遇 ...

  9. 图片内存太大怎么压缩?分享两个小妙招

    由于现在手机越来越智能,各种参数也越来越高,有时候拍一张照片都要占好几兆内存.久而久之,我们保存的图片越多内存占用也会越来越大从而导致设备的运行逐渐变慢.那么对于这个问题该怎么解决呢,其实我们可以把图 ...

最新文章

  1. System Center产品相关开发(1)-SCOM和SCVMM简介
  2. Linux入门基础思维导图
  3. 关于linux LVM
  4. activemq 内存_ActiveMQ中的温度,存储和内存使用百分比
  5. nvme通用驱动_对领域驱动设计的理解与实践
  6. Spring中的9种设计模式汇总
  7. 解决Spring+Quartz无法自动注入bean问题
  8. python编写函数showmsg(n、name)_Python语言答案
  9. 在线多空行只保留一个工具
  10. Servlet请求转发RequestDispatcher接口
  11. 20210725:FLAC刻录音乐CD教程01-下载安装Nero打补丁
  12. 【宋红康 MySQL数据库 】【高级篇】【01】CentOS7下MySQL的安装与使用
  13. 如何进行积分墙投放,怎么选积分墙公司
  14. 开课吧python基础语法-零基础玩转Python
  15. 使用神经网络和遗传算法玩转 Flappy Bird
  16. nginx反向代理到第三方服务商的服务器
  17. kubectl logs和docker logs输出日志不同的问题
  18. JAVA 实现阿里云短信申请模板以及批量发送短信
  19. fstream用法总结
  20. 固态硬盘,机械硬盘,交换内存,虚拟内存,物理内存,这些你要知道!!

热门文章

  1. flex for java_Java和Flex整合报错(四)
  2. php new redis错误,解决PHP Redis扩展无法加载的问题(zend_new_interned_string in Unknown on line 0)...
  3. Spring Security实战教程2021版即将下线,2022版即将上线!
  4. 这个第三方登录开源工具,支持市面上几乎所有主流平台!好用!
  5. 一起学习下一线大厂的分布式唯一ID生成方案!
  6. 赠书:分布式系统中的监控怎么做?
  7. 不敢相信,相同 SQL 下 Mybatis 查询结果和数据库竟然不一样!
  8. 万字长文:详解 Spring Boot 中操作 ElasticSearch
  9. Eureka 2.0 开源流产,真的对你影响很大吗?
  10. html里range怎么改样式,CSS之修改input range样式 [ lion1ou ]