该方法通过基于 cv2.VideoCapture 能够获取视频流入(rtmp/rtsp等)实时帧,能够解决由于图像处理速度不够等原因造成帧堆积的问题。

class ThreadedCamera(object):

def init(self, source=0):

global cap

self.capture = cv2.VideoCapture(source)

self.thread = Thread(target=self.update, args=())

self.thread.daemon = True # 防止主线程挂掉,子线变成程僵尸进程

self.thread.start()

self.status = False

self.frame = None

def update(self):

while True:

if self.capture.isOpened():

(self.status, self.frame) = self.capture.read()

def grab_frame(self):

if self.status:

return (self.status,self.frame)

return (None,None)

streamer = ThreadedCamera(args.video)

while True:#cv.waitKey(1) != 'q':

has_frame, show = streamer.grab_frame()

相关推荐
love530love2 分钟前
Windows 下 GCC 编译器安装与排错实录
人工智能·windows·python·gcc·msys2·gtk·msys2 mingw 64
程序员ken23 分钟前
深入理解大语言模型(8) 使用 LangChain 开发应用程序之上下文记忆
人工智能·python·语言模型·langchain
wazmlp00188736932 分钟前
第五次python作业
服务器·开发语言·python
尘缘浮梦33 分钟前
websockets简单例子1
开发语言·python
不懒不懒34 分钟前
【从零开始:PyTorch实现MNIST手写数字识别全流程解析】
人工智能·pytorch·python
helloworld也报错?34 分钟前
基于CrewAI创建一个简单的智能体
人工智能·python·vllm
movigo7_dou36 分钟前
工业相机镜头参数和选型
图像处理·数码相机
愚公搬代码43 分钟前
【愚公系列】《AI短视频创作一本通》020-AI短视频创作实例精解(文旅宣传AI短视频实例精解)
人工智能·音视频
有位神秘人1 小时前
Android获取设备中本地音频
android·音视频