Ich möchte feststellen, ob es möglich ist, Flask und OpenCV zu verwenden, um eine Anwendung zu erstellen, um gleichzeitig Feeds von 4 Kamera zu nehmen, und auf der Demand spielen die letzten 30 Sekunden zurück. Eine Art einfache VAR -Wiederholung. (HINWEIS: Derzeit fällt Kameras 2,3,4 mehr Kameras, wenn ich beweise, dass dies funktioniert.) Ich habe es geschafft, eine Verbindung zu Kameras herzustellen und Inhalte zu sehen, wenn die grundlegende Python -App ohne Flasche verwendet wird. Aber wenn ich in Flask laufe, ist der Feed schwarz mit gelegentlichen farbigen Zeilen.
[url=viewtopic.php?t=14917]Ich möchte[/url] feststellen, ob es möglich ist, Flask und OpenCV zu verwenden, um eine Anwendung zu erstellen, um gleichzeitig Feeds von 4 Kamera zu nehmen, und auf der Demand spielen die letzten 30 Sekunden zurück. Eine Art einfache VAR -Wiederholung. (HINWEIS: Derzeit fällt Kameras 2,3,4 mehr Kameras, wenn ich beweise, dass dies funktioniert.) Ich habe es geschafft, eine Verbindung zu Kameras herzustellen und Inhalte zu sehen, wenn die grundlegende Python -App ohne Flasche verwendet wird. Aber wenn ich in Flask laufe, ist der Feed schwarz mit gelegentlichen farbigen Zeilen.[code]import cv2 import threading import time import numpy as np from collections import deque from flask import Flask, Response, render_template, request, jsonify
app = Flask(__name__)
# Parameters FPS = 30 # Frames per second BUFFER_SIZE = 30 * FPS # Store last 30 sec of frames NUM_CAMERAS = 4 # Number of cameras buffers = [deque(maxlen=BUFFER_SIZE) for _ in range(NUM_CAMERAS)] #caps = [cv2.VideoCapture(i) for i in range(NUM_CAMERAS)] # Open all cameras
caps = [ cv2.VideoCapture(0, cv2.CAP_DSHOW), # Camera 0 cv2.VideoCapture(0, cv2.CAP_DSHOW), # Fake Camera 2 (copy of 0) cv2.VideoCapture(0, cv2.CAP_DSHOW), # Fake Camera 2 (copy of 0) cv2.VideoCapture(0, cv2.CAP_DSHOW) # Fake Camera 3 (copy of 0) ]
# Capture video from ca # meras def capture_video(cam_index): while True: ret, frame = caps[cam_index].read() if ret: buffers[cam_index].append(frame) time.sleep(1 / FPS)
# Start threads for each camera for i in range(NUM_CAMERAS): threading.Thread(target=capture_video, args=(i,), daemon=True).start()
# Replay last 30 sec @app.route('/replay/') def replay(speed): replay_buffers = [list(buffers[i]) for i in range(NUM_CAMERAS)] min_frames = min(len(frames) for frames in replay_buffers)
for i in range(min_frames): frames = [cv2.resize(replay_buffers[c][i], (320, 240)) for c in range(NUM_CAMERAS)] combined_frame = np.vstack([np.hstack(frames[:2]), np.hstack(frames[2:])])
Ich bringe Sie in den Kontext: Ich verwende Flask (Python), um eine Kamera im Browser anzuzeigen, um sie zu streamen. Dazu verwende ich den folgenden Befehl:
command = [
'ffmpeg',
'-loglevel',...
Angenommen, ich habe eine Liste die_faces = . Ich möchte alle 36 möglichen Ergebnisse für das Würfeln mit zwei Würfeln generieren: (1, 1), (1, 2), (2, 1) usw. Wenn ich versuche, Permutationen zu...
Zusammenfassung
Wir wurden über zufällige Anwendungslangsamkeit und zufällige HTTP 503 -Fehler von der Reverse -Proxy -Maschine (Debian/Apache) benachrichtigt. Nach dem Windows -Gerät später...
Ich arbeite an einem älteren GRPC -Code und bin neu im Raum. Der Server hat einige Probleme, auf Anfragen vor Ablauf der Frist zu reagieren (Zeitüberschreitung) und ich versuche, das Problem...