微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Django 视频背景分析

如何解决Django 视频背景分析

我正在尝试构建一个使用 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 举报,一经查实,本站将立刻删除。