Я использую Raspberry Pi 4 с камерой для захвата видео и подачи живого потока через сервер Flask. То, что я хотел бы сделать, это использовать один и тот же канал живого видео для выполнения различной постобработки и показывать их по разным URL:
Однако, когда я перехожу к / video_feed, потоки работают нормально. Если я пытаюсь перейти в / video_feed 2, поток останавливается, и я не получаю ошибок.
Например, / video_feed - это общий поток / video_feed 2 хочет передавать видео с увеличенным видео.
main.py
class LaptopCamera:
def __init__(self):
self.video = cv2.VideoCapture(0)
def __del__(self):
self.video.release()
def read_video(self):
ret, image = self.video.read()
return image
def get_frame(self):
ret, jpeg = cv2.imencode('.jpg', self.read_video())
return jpeg.tobytes()
def zoom_frames(self):
##Code to zoom in on a piece of video
app.py
def gen_feed(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')
def gen_feed2(camera):
while True:
frame = camera.zoom_frames()
yield (b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n\r\n')
@API.route('/')
def index_page():
return "Hello"
@API.route('/video_feed')
def get_video_feed():
return Response(gen_feed(raspCamera()),
mimetype='multipart/x-mixed-replace; boundary=frame')
@API.route('/video_feed2')
def get_video_feed2():
return Response(gen_feed2(raspCamera()),
mimetype='multipart/x-mixed-replace; boundary=frame')
original Прямая трансляция в html1
прямая трансляция в html2 с определенным увеличением.
Подскажите, пожалуйста, как выполнять потоковую передачу после нескольких видеообработок, например:
Я хочу сделать несколько потоковых трансляций после обработки видео