python日常学习

生产者消费者模式的应用——解决读取视频掉帧【python】

2021-08-06  本文已影响0人  小小杨树

PS:首先排除因非程序原因掉线--例如使用opencv过程中出现[hevc@00001a2c417cfcf00]PPS id out of range:0

生产者消费者模型:

该模型的手段:通过平衡生产进程和消费进程的工作能力来提高程序的整体处理数据的速度。

例如:

1.需要识别摄像头拍摄的图像任务。该任务中可以通过使用多个摄像头共同取流,一个权重模型进行识别,此时我们可以多个摄像头取流将图像储存在本地文件夹,一个权重构建死循环,遍历文件夹检测识别。

2.读取网络摄像头RTSP流时,读取过程难免会出现掉帧现象,如不使用生产者消费者模式的话确实是可以正常使用,但为了更好的拥有体验效果,逻辑层面更为完善,生产者消费者模式必不可少。

总体来说是由于生产者生产的速率不等于消费者的消费速率

解决的整体流程:

1.生产者往list里面存数据,按照时间顺序

2.消费者每次只读取list中的第一个,消费完立刻删除或者转移到另一个位置

3.消费者设计过程中构建一个判断,当len(list)==0,sleep一定的时间,等待生产者生产数据后再消费

上一篇 下一篇

猜你喜欢

热点阅读