2017-11-12 2 views
0

피라미드 프레임 워크를 사용하여 웹캠을 스트리밍하려고했습니다. 생성 된 개체가 생성기 개체이며, 뷰를 통해 전달할 때 경로에서 비디오 스트림을 가져옵니다. (/ video_feed)하지만 많이 뒤떨어져 있습니다. 누군가?피라미드 프레임 워크 : Opencv를 사용하는 스트림 카메라

여기가

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") 

도움말 코드 블록입니다!

답변

관련 문제