Abwesenheit für jede Kamera einzeln kontrollieren

This commit is contained in:
Marvin Lehmann 2019-06-27 20:06:50 +02:00
parent 73ba945219
commit 62cce5d678
1 changed files with 36 additions and 37 deletions

View File

@ -55,21 +55,20 @@ def gen_processed(num):
def main(): def main():
detector = dt.Detector() detector = dt.Detector()
t = 5 # seconds a person can leave the room for max_absence_time = 5 # seconds a person can leave the room for
t0 = time.time()
elapsed = 0 for cam in cams:
cam["last_detection"] = 0
while True: while True:
cam = cams[2] for cam in cams:
stream = cam["ip"] stream = cam["ip"]
clientStatus = clients[cam["client_id"]]["status"] clientStatus = clients[cam["client_id"]]["status"]
clientIp = clients[cam["client_id"]]["ip"] clientIp = clients[cam["client_id"]]["ip"]
elapsed = time.time() - t0 elapsed = time.time() - cam["last_detection"]
if elapsed > t and clientStatus: if elapsed > max_absence_time and clientStatus:
try: try:
r = requests.get(clientIp + "/stop") r = requests.get(clientIp + "/stop")
#if r.status_code == 200: #if r.status_code == 200:
@ -79,21 +78,21 @@ def main():
tmp = time.time() tmp = time.time()
try: try:
img, result = detector.detect(stream) img, detected = detector.detect(stream)
except: except:
continue continue
print(cam["id"], result, time.time()-tmp) print(cam["id"], detected, time.time()-tmp)
lastImages[cam["id"]] = img lastImages[cam["id"]] = img
if result: if detected:
cam["status"] = True cam["status"] = True
if not clientStatus: if not clientStatus:
try: try:
r = requests.get(clientIp + "/play") r = requests.get(clientIp + "/play")
if r.status_code == 200: if r.status_code == 200:
clients[cam["client_id"]]["status"] = True clients[cam["client_id"]]["status"] = True
t0 = time.time() cam["last_detection"] = time.time()
except: except:
print("request error") print("request error")
else: else: