我正在运行一台服务器,该服务器允许用户通过其网络摄像头检测运动。动作检测器窗口/ URL流式传输实时供稿,如果用户直接关闭窗口/选项卡而不是单击“停止”按钮,我想检测何时中断了流式/动作检测。
我尝试在线搜索解决方案,但是找不到。
这是烧瓶应用程序中路线的代码
@app.route('/camera')
@login_required
def camera():
return Response(get_frame(), mimetype='multipart/x-mixed-replace; boundary=frame')
上面的 Response 中传递的'get_frame()'没有 return 语句,它使用 yield 来提供图像来自网络摄像头作为电影。
def get_frame():
....
....
yield (b'--frame\r\n'
b'Content-Type: text/plain\r\n\r\n' + imageData + b'\r\n')
我想检测它以创建运动检测器启动和停止的时间戳。
答案 0 :(得分:1)
简单而简单的解决方案是将最后发送的批处理时间戳记写入请求:
from flask import request
def get_frame():
....
request.last_batch_send_time = time.time()
yield (b'--frame\r\n'
b'Content-Type: text/plain\r\n\r\n' + imageData + b'\r\n')
然后,您可以在after request callback中使用它。