【问题标题】:Pyramid Framework : Stream Camera using OpencvPyramid 框架:使用 Opencv 的流式摄像机
【发布时间】:2017-11-12 15:08:25
【问题描述】:

我一直在尝试使用金字塔框架流式传输我的网络摄像头,问题是生成的对象是一个生成器对象,当我将它传递给视图时,我确实在路由 (/video_feed) 处获得了视频流,但它滞后很多。有人吗?

这是它的代码块

from pyramid.response import Response
from pyramid.view import view_config

from sqlalchemy.exc import DBAPIError

from ..models import MyModel
import cv2


class VideoCamera(object):
    def __init__(self):
         self.video = cv2.VideoCapture(0)

def __iter__(self):
    return self

def close(self):
    self.video.release()

def get_frame(self):
    success,image = self.video.read()
    ret, jpeg = cv2.imencode('.jpg', image)
    return jpeg.tobytes()
    __next__=get_frame

@view_config(route_name='home', renderer='templates/stream.jinja2')
def my_view(request):
    return {'project': 'my_project'}

def generate(camera):
    while True:
        frame = camera.__next__()
        yield (b'--frame\r\n'
               b'Content-Type: image/jpeg\r\n\r\n' + frame+ b'\r\n\r\n')

@view_config(route_name="video_feed")
def video(request):
    return Response(app_iter=generate(VideoCamera()),content_type="multipart/x-mixed-replace; boundary=frame")

救命!

【问题讨论】:

    标签: python opencv frameworks pyramid


    【解决方案1】:

    很可能您的 WSGI 服务器或任何其他上游代理正在缓冲流式响应。如果这是女服务员,我认为您可以将send_bytes 设置为低于默认值的值。

    https://docs.pylonsproject.org/projects/waitress/en/latest/arguments.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-31
      • 2020-02-23
      • 2018-02-21
      • 2017-11-10
      • 1970-01-01
      相关资源
      最近更新 更多