python视频流_flask+python 实时视频流输出到前台

本文介绍如何利用Python的Flask框架结合OpenCV,实现从摄像头获取视频流,处理后实时传输到前端浏览器展示。关键在于使用generator函数输出video_feed,并通过multipart/x-mixed-replace内容类型进行流式传输。
摘要由CSDN通过智能技术生成

问题描述:

1。调用摄像头获取视频流

2。将视频流处理并传递给浏览器

3。不是录制后处理,而是边录制边处理,边传递

4。 flash后台进行处理,而不是在前端处理

问题解决:

server.pyfrom flask import Flask, render_template, Responseimport cv2 class VideoCamera(object): def __init__(self): # 通过opencv获取实时视频流 self.video = cv2.VideoCapture(0) def __del__(self): self.video.release() def get_frame(self): success, image = self.video.read() # 在这里处理视频帧 cv2.putText(image, "hello",(10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.8,(0, 255, 0)) # 因为opencv读取的图片并非jpeg格式,因此要用motion JPEG模式需要先将图片转码成jpg格式图片 ret, jpeg = cv2.imencode('.jpg', image) return jpeg.tobytes() app = Flask(__name__,static_folder='./static') @app.route('/') # 主页def index(): # jinja2模板,具体格式保存在index.html文件中 return render_template('index.html') def gen(camera): while True: frame = camera.get_frame() # 使用generator函数输出视频流࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值