在Flask中,我想停止视频流,以执行其他任务(重定向到主页)。 但相反,当流停止时,屏幕会冻结到最后一帧。
我的代码是:
def gen_temporary(cam):
counter_frames=0
while counter_frames<100:
frame = cam.get_frame()
counter_frames+=1
yield (b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n')
yield redirect('/mainPage')
@app.route('/video_capture')
def video_capture():
return Response(gen_temporary(VideoCamera()),
mimetype='multipart/x-mixed-replace; boundary=frame')
答案 0 :(得分:0)
在您发送内容后,您无法发送HTTP位置标头等标头。此外,即使您可以,如果此响应是视频流,它可能会由<video>
元素或类似元素使用,并且重定向将仅重定向视频请求,并且用户将保持在同一页面上。
如果您想在视频播放后将用户重定向到其他位置,您必须通过听取相关事件然后更改网址来通过JavaScript进行操作。