问题描述
我正在尝试构建一个使用 Django 分析实时视频的网页。我成功地在特定链接上显示了分析结果(我添加了几行以添加图像分析)。 但是,打开链接时开始分析,关闭链接时,视频分析将停止。打开多个链接也会导致问题。
我需要在添加相机对象时启动视频分析并保持运行直到服务器关闭。此外,需要并行完成来自多个摄像头的分析。
我在寻找一些解决方案时遇到了“Celery”和“django-background-apps”。它们能解决我的问题吗?或者是否有任何建议的解决方案?
谢谢:)
from django.views.decorators import gzip
from django.http import StreamingHttpResponse
import cv2
import threading
class VideoCamera(object):
def __init__(self):
self.video = cv2.VideoCapture(0)
(self.grabbed,self.frame) = self.video.read()
threading.Thread(target=self.update,args=()).start()
def __del__(self):
self.video.release()
def get_frame(self):
image = self.frame
_,jpeg = cv2.imencode('.jpg',image)
return jpeg.tobytes()
def update(self):
while True:
(self.grabbed,self.frame) = self.video.read()
def gen(camera):
while True:
frame = camera.get_frame()
yield(b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n\r\n')
@gzip.gzip_page
def livefe(request):
try:
cam = VideoCamera()
return StreamingHttpResponse(gen(cam),content_type="multipart/x-mixed-replace;boundary=frame")
except: # This is bad! replace it with proper handling
pass
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)