Commit ae9b6670 authored by Sikhin VC's avatar Sikhin VC

added api recording feature

parent edd59a2c
This source diff could not be displayed because it is too large. You can view the blob instead.
2037e91b-5127-4bfb-867e-e8dfdaf788531673876778.875812.avi
7da72f97-f6ef-4541-9c27-c654581a47861673876810.1505582.avi
1e846e2a-9454-46a6-9e5e-0f2942fecddd1673876840.7609582.avi
2bf8e0b4-c669-4ec9-875a-c306e1a7cafc1673918679.660369.avi
6b069622-408f-4b08-b65f-42628832ae0f1673918710.2025747.avi
ef38a9a9-9e5c-461d-ab5b-e047a9bb23b11673918927.7348251.avi
4d97cde4-fa41-4ae4-86b8-d811f6b96a111673918958.1766603.avi
2548de5a-716d-4296-9aa8-72875fdfed0a1673918988.5155804.avi
5830b368-7a89-473b-95d2-88c25426d57c1673919018.9897242.avi
f61c730f-59c9-4c5b-8b80-beedb7d93a0d1673919049.2783659.avi
f625b670-f3dc-44ab-bdac-1bb073bf1e1a1673919079.727069.avi
a179becb-f3df-42e6-a0f6-bf999862c48b1673919110.3672595.avi
a1055d17-dbe0-42fe-9a5a-7cc877e863f01673919140.8465016.avi
25f68c42-d2b0-4d31-a651-1f7bd828e5a31673919171.1900787.avi
42f7b82a-ee30-49df-86fe-f8acfdb41d5f1673919201.623807.avi
926d531b-f9a3-4545-8f10-72232c1a19581673919232.0070171.avi
5a8bc7ec-0840-45e2-b823-9251df6ed4521673919262.2924252.avi
...@@ -36,7 +36,7 @@ from yolov5.detect import load_model ...@@ -36,7 +36,7 @@ from yolov5.detect import load_model
import random import random
import psycopg2 import psycopg2
import time import time
import requests
...@@ -444,9 +444,22 @@ class Ppe(ModelWrapper): ...@@ -444,9 +444,22 @@ class Ppe(ModelWrapper):
if (object_id in self.active_rec): if (object_id in self.active_rec):
rec_inf = self.active_rec[object_id] rec_inf = self.active_rec[object_id]
rec_inf[1].release() # rec_inf[1].release()
temp_v_list = rec_inf[3] temp_v_list = rec_inf[3]
for v in temp_v_list: for v in temp_v_list:
try:
sql = 'INSERT INTO "historical_video_2" ("event_id", "camera_id", "frame_id", "timestamp", "video_url", "violation_type") VALUES (%s, %s, %s, %s, %s, %s);'
# for violated_items in violations:
# present_event_id = 'SELECT "event_id" FROM aarti_violation_event_table'
cur = self.conn.cursor()
frame_count = self.frame_id
file_path = "/home/administrator/historical_videos/" + str(unique_id) + ".avi"
cur.execute(sql, [frame_count, 4, str(unique_id), datetime.datetime.now(), file_path, v])
self.conn.commit()
cur.close()
except:
self.conn.rollback()
self.send_payload(frame=resize_to_64_64(frame), message=temp_v_list, self.send_payload(frame=resize_to_64_64(frame), message=temp_v_list,
event=v, frame_id=rec_inf[2]) event=v, frame_id=rec_inf[2])
with open("output/recorded_video_list.txt", "a") as f: with open("output/recorded_video_list.txt", "a") as f:
...@@ -471,9 +484,9 @@ class Ppe(ModelWrapper): ...@@ -471,9 +484,9 @@ class Ppe(ModelWrapper):
# violated_items = violated_items # violated_items = violated_items
# print(violated_items) # print(violated_items)
if (object_id in self.active_rec): # if (object_id in self.active_rec):
rec_inf = self.active_rec[object_id] # rec_inf = self.active_rec[object_id]
rec_inf[1].write(frame) # rec_inf[1].write(frame)
for elem in violations: for elem in violations:
...@@ -485,10 +498,15 @@ class Ppe(ModelWrapper): ...@@ -485,10 +498,15 @@ class Ppe(ModelWrapper):
result = self.video_write(frame, unique_id) # result = self.video_write(frame, unique_id)
requests.post('http://localhost:2328/items/', json={
"rtsp": "rtsp://192.168.3.181:8554/stream",
"name": str(unique_id)
})
print("unique id is:: ", str(unique_id)) print("unique id is:: ", str(unique_id))
self.active_rec[object_id] = [time.time(), result, unique_id, temp_violation_list] self.active_rec[object_id] = [time.time(), "result", unique_id, temp_violation_list]
result.write(frame) # result.write(frame)
# self.send_payload(frame=resize_to_64_64(frame), message=temp_violation_list, event = violated_items,frame_id=self.frame_id) # self.send_payload(frame=resize_to_64_64(frame), message=temp_violation_list, event = violated_items,frame_id=self.frame_id)
...@@ -506,19 +524,19 @@ class Ppe(ModelWrapper): ...@@ -506,19 +524,19 @@ class Ppe(ModelWrapper):
self.conn.commit() self.conn.commit()
cur.close() cur.close()
try: # try:
#
sql = 'INSERT INTO "historical_video_2" ("event_id", "camera_id", "frame_id", "timestamp", "video_url", "violation_type") VALUES (%s, %s, %s, %s, %s, %s);' # sql = 'INSERT INTO "historical_video_2" ("event_id", "camera_id", "frame_id", "timestamp", "video_url", "violation_type") VALUES (%s, %s, %s, %s, %s, %s);'
# for violated_items in violations: # # for violated_items in violations:
# present_event_id = 'SELECT "event_id" FROM aarti_violation_event_table' # # present_event_id = 'SELECT "event_id" FROM aarti_violation_event_table'
cur = self.conn.cursor() # cur = self.conn.cursor()
frame_count = self.frame_id # frame_count = self.frame_id
file_path = "/home/administrator/historical_videos/" + str(unique_id) + ".avi" # file_path = "/home/administrator/historical_videos/" + str(unique_id) + ".avi"
cur.execute(sql, [frame_count, 4, str(unique_id), datetime.datetime.now(), file_path, v]) # cur.execute(sql, [frame_count, 4, str(unique_id), datetime.datetime.now(), file_path, v])
self.conn.commit() # self.conn.commit()
cur.close() # cur.close()
except: # except:
self.conn.rollback() # self.conn.rollback()
else: else:
...@@ -528,9 +546,24 @@ class Ppe(ModelWrapper): ...@@ -528,9 +546,24 @@ class Ppe(ModelWrapper):
if (object_id in self.active_rec): if (object_id in self.active_rec):
rec_inf = self.active_rec[object_id] rec_inf = self.active_rec[object_id]
rec_inf[1].release() # rec_inf[1].release()
temp_v_list = rec_inf[3] temp_v_list = rec_inf[3]
for v in temp_v_list: for v in temp_v_list:
try:
sql = 'INSERT INTO "historical_video_2" ("event_id", "camera_id", "frame_id", "timestamp", "video_url", "violation_type") VALUES (%s, %s, %s, %s, %s, %s);'
# for violated_items in violations:
# present_event_id = 'SELECT "event_id" FROM aarti_violation_event_table'
cur = self.conn.cursor()
frame_count = self.frame_id
file_path = "/home/administrator/historical_videos/" + str(unique_id) + ".avi"
cur.execute(sql,
[frame_count, 4, str(unique_id), datetime.datetime.now(), file_path,
v])
self.conn.commit()
cur.close()
except:
self.conn.rollback()
self.send_payload(frame=resize_to_64_64(frame), message=temp_v_list, self.send_payload(frame=resize_to_64_64(frame), message=temp_v_list,
event=v, frame_id=rec_inf[2]) event=v, frame_id=rec_inf[2])
with open("output/recorded_video_list.txt", "a") as f: with open("output/recorded_video_list.txt", "a") as f:
...@@ -553,9 +586,24 @@ class Ppe(ModelWrapper): ...@@ -553,9 +586,24 @@ class Ppe(ModelWrapper):
# cv2.waitKey(0) # cv2.waitKey(0)
if (object_id in self.active_rec): if (object_id in self.active_rec):
rec_inf = self.active_rec[object_id] rec_inf = self.active_rec[object_id]
rec_inf[1].release() # rec_inf[1].release()
temp_v_list = rec_inf[3] temp_v_list = rec_inf[3]
for v in temp_v_list: for v in temp_v_list:
try:
sql = 'INSERT INTO "historical_video_2" ("event_id", "camera_id", "frame_id", "timestamp", "video_url", "violation_type") VALUES (%s, %s, %s, %s, %s, %s);'
# for violated_items in violations:
# present_event_id = 'SELECT "event_id" FROM aarti_violation_event_table'
cur = self.conn.cursor()
# cur.execute("ROLLBACK")
frame_count = self.frame_id
file_path = "/home/administrator/historical_videos/" + str(unique_id) + ".avi"
cur.execute(sql, [frame_count, 4, str(unique_id), datetime.datetime.now(), file_path, v])
self.conn.commit()
cur.close()
except:
self.conn.rollback()
self.send_payload(frame=resize_to_64_64(frame), message=temp_v_list, self.send_payload(frame=resize_to_64_64(frame), message=temp_v_list,
event=v, frame_id=rec_inf[2]) event=v, frame_id=rec_inf[2])
with open("output/recorded_video_list.txt", "a") as f: with open("output/recorded_video_list.txt", "a") as f:
...@@ -571,9 +619,9 @@ class Ppe(ModelWrapper): ...@@ -571,9 +619,9 @@ class Ppe(ModelWrapper):
# print("violations") # print("violations")
# print(violations) # print(violations)
if (object_id in self.active_rec): # if (object_id in self.active_rec):
rec_inf = self.active_rec[object_id] # rec_inf = self.active_rec[object_id]
rec_inf[1].write(frame) # rec_inf[1].write(frame)
for elem in violations: for elem in violations:
...@@ -598,10 +646,14 @@ class Ppe(ModelWrapper): ...@@ -598,10 +646,14 @@ class Ppe(ModelWrapper):
# with open("recorded_video_list.txt", "a") as f: # with open("recorded_video_list.txt", "a") as f:
# f.write(unique_id + ".avi") # f.write(unique_id + ".avi")
# f.write("\n") # f.write("\n")
result = self.video_write(frame, unique_id) # result = self.video_write(frame, unique_id)
requests.post('http://localhost:2328/items/', json={
"rtsp": "rtsp://192.168.3.181:8554/stream",
"name": str(unique_id)
})
print("unique id is:: ", str(unique_id)) print("unique id is:: ", str(unique_id))
self.active_rec[object_id] = [time.time(), result, unique_id, temp_violation_list] self.active_rec[object_id] = [time.time(), "result", unique_id, temp_violation_list]
result.write(frame) # result.write(frame)
# self.send_payload(frame=resize_to_64_64(frame), message=temp_violation_list , event = violated_items, frame_id=self.frame_id) # self.send_payload(frame=resize_to_64_64(frame), message=temp_violation_list , event = violated_items, frame_id=self.frame_id)
self.reported_violation_ids[object_id] = time.time() self.reported_violation_ids[object_id] = time.time()
for v in temp_violation_list: for v in temp_violation_list:
...@@ -615,20 +667,20 @@ class Ppe(ModelWrapper): ...@@ -615,20 +667,20 @@ class Ppe(ModelWrapper):
cur.execute(sql, [4, frame_count, datetime.datetime.now(), v]) cur.execute(sql, [4, frame_count, datetime.datetime.now(), v])
self.conn.commit() self.conn.commit()
cur.close() cur.close()
try: # try:
#
sql = 'INSERT INTO "historical_video_2" ("event_id", "camera_id", "frame_id", "timestamp", "video_url", "violation_type") VALUES (%s, %s, %s, %s, %s, %s);' # sql = 'INSERT INTO "historical_video_2" ("event_id", "camera_id", "frame_id", "timestamp", "video_url", "violation_type") VALUES (%s, %s, %s, %s, %s, %s);'
# for violated_items in violations: # # for violated_items in violations:
# present_event_id = 'SELECT "event_id" FROM aarti_violation_event_table' # # present_event_id = 'SELECT "event_id" FROM aarti_violation_event_table'
cur = self.conn.cursor() # cur = self.conn.cursor()
# cur.execute("ROLLBACK") # # cur.execute("ROLLBACK")
frame_count = self.frame_id # frame_count = self.frame_id
file_path = "/home/administrator/historical_videos/" + str(unique_id) + ".avi" # file_path = "/home/administrator/historical_videos/" + str(unique_id) + ".avi"
cur.execute(sql, [frame_count, 4, str(unique_id), datetime.datetime.now(), file_path, v]) # cur.execute(sql, [frame_count, 4, str(unique_id), datetime.datetime.now(), file_path, v])
self.conn.commit() # self.conn.commit()
cur.close() # cur.close()
except: # except:
self.conn.rollback() # self.conn.rollback()
else: else:
time_diff = time.time() - self.reported_violation_ids[object_id] time_diff = time.time() - self.reported_violation_ids[object_id]
...@@ -637,9 +689,25 @@ class Ppe(ModelWrapper): ...@@ -637,9 +689,25 @@ class Ppe(ModelWrapper):
if (object_id in self.active_rec): if (object_id in self.active_rec):
rec_inf = self.active_rec[object_id] rec_inf = self.active_rec[object_id]
rec_inf[1].release() # rec_inf[1].release()
temp_v_list = rec_inf[3] temp_v_list = rec_inf[3]
for v in temp_v_list: for v in temp_v_list:
try:
sql = 'INSERT INTO "historical_video_2" ("event_id", "camera_id", "frame_id", "timestamp", "video_url", "violation_type") VALUES (%s, %s, %s, %s, %s, %s);'
# for violated_items in violations:
# present_event_id = 'SELECT "event_id" FROM aarti_violation_event_table'
cur = self.conn.cursor()
# cur.execute("ROLLBACK")
frame_count = self.frame_id
file_path = "/home/administrator/historical_videos/" + str(unique_id) + ".avi"
cur.execute(sql,
[frame_count, 4, str(unique_id), datetime.datetime.now(), file_path,
v])
self.conn.commit()
cur.close()
except:
self.conn.rollback()
self.send_payload(frame=resize_to_64_64(frame), message=temp_v_list, self.send_payload(frame=resize_to_64_64(frame), message=temp_v_list,
event=v, frame_id=rec_inf[2]) event=v, frame_id=rec_inf[2])
with open("output/recorded_video_list.txt", "a") as f: with open("output/recorded_video_list.txt", "a") as f:
...@@ -660,9 +728,24 @@ class Ppe(ModelWrapper): ...@@ -660,9 +728,24 @@ class Ppe(ModelWrapper):
# cv2.waitKey(0) # cv2.waitKey(0)
if(object_id in self.active_rec): if(object_id in self.active_rec):
rec_inf = self.active_rec[object_id] rec_inf = self.active_rec[object_id]
rec_inf[1].release() # rec_inf[1].release()
temp_v_list = rec_inf[3] temp_v_list = rec_inf[3]
for v in temp_v_list: for v in temp_v_list:
try:
sql = 'INSERT INTO "historical_video_2" ("event_id", "camera_id", "frame_id", "timestamp", "video_url", "violation_type") VALUES (%s, %s, %s, %s, %s, %s);'
# for violated_items in violations:
# present_event_id = 'SELECT "event_id" FROM aarti_violation_event_table'
cur = self.conn.cursor()
# cur.execute("ROLLBACK")
frame_count = self.frame_id
file_path = "/home/administrator/historical_videos/" + str(unique_id) + ".avi"
cur.execute(sql, [frame_count, 4, str(unique_id), datetime.datetime.now(), file_path, v])
self.conn.commit()
cur.close()
except:
self.conn.rollback()
self.send_payload(frame=resize_to_64_64(frame), message=temp_v_list, self.send_payload(frame=resize_to_64_64(frame), message=temp_v_list,
event=v, frame_id=rec_inf[2]) event=v, frame_id=rec_inf[2])
with open("output/recorded_video_list.txt", "a") as f: with open("output/recorded_video_list.txt", "a") as f:
...@@ -688,9 +771,9 @@ class Ppe(ModelWrapper): ...@@ -688,9 +771,9 @@ class Ppe(ModelWrapper):
violated_items = violated_items violated_items = violated_items
# violated_items_2 = violated_items_2 + ", Air Breathing Mask" # violated_items_2 = violated_items_2 + ", Air Breathing Mask"
# print(violated_items) # print(violated_items)
if (object_id in self.active_rec): # if (object_id in self.active_rec):
rec_inf = self.active_rec[object_id] # rec_inf = self.active_rec[object_id]
rec_inf[1].write(frame) # rec_inf[1].write(frame)
for elem in violations: for elem in violations:
...@@ -703,10 +786,14 @@ class Ppe(ModelWrapper): ...@@ -703,10 +786,14 @@ class Ppe(ModelWrapper):
# with open("recorded_video_list.txt", "a") as f: # with open("recorded_video_list.txt", "a") as f:
# f.write(unique_id + ".avi") # f.write(unique_id + ".avi")
# f.write("\n") # f.write("\n")
result = self.video_write(frame, unique_id) # result = self.video_write(frame, unique_id)
requests.post('http://localhost:2328/items/', json={
"rtsp": "rtsp://192.168.3.181:8554/stream",
"name": str(unique_id)
})
print("unique id is:: ", str(unique_id)) print("unique id is:: ", str(unique_id))
self.active_rec[object_id] = [time.time(), result, unique_id, temp_violation_list] self.active_rec[object_id] = [time.time(), "result", unique_id, temp_violation_list]
result.write(frame) # result.write(frame)
# self.send_payload(frame=resize_to_64_64(frame), message=temp_violation_list, event = violated_items, frame_id=self.frame_id) # self.send_payload(frame=resize_to_64_64(frame), message=temp_violation_list, event = violated_items, frame_id=self.frame_id)
self.reported_violation_ids[object_id] = time.time() self.reported_violation_ids[object_id] = time.time()
for v in temp_violation_list: for v in temp_violation_list:
...@@ -720,20 +807,20 @@ class Ppe(ModelWrapper): ...@@ -720,20 +807,20 @@ class Ppe(ModelWrapper):
cur.execute(sql, [4, frame_count, datetime.datetime.now(), v]) cur.execute(sql, [4, frame_count, datetime.datetime.now(), v])
self.conn.commit() self.conn.commit()
cur.close() cur.close()
try: # try:
#
sql = 'INSERT INTO "historical_video_2" ("event_id", "camera_id", "frame_id", "timestamp", "video_url", "violation_type") VALUES (%s, %s, %s, %s, %s, %s);' # sql = 'INSERT INTO "historical_video_2" ("event_id", "camera_id", "frame_id", "timestamp", "video_url", "violation_type") VALUES (%s, %s, %s, %s, %s, %s);'
# for violated_items in violations: # # for violated_items in violations:
# present_event_id = 'SELECT "event_id" FROM aarti_violation_event_table' # # present_event_id = 'SELECT "event_id" FROM aarti_violation_event_table'
cur = self.conn.cursor() # cur = self.conn.cursor()
# cur.execute("ROLLBACK") # # cur.execute("ROLLBACK")
frame_count = self.frame_id # frame_count = self.frame_id
file_path = "/home/administrator/historical_videos/" + str(unique_id) + ".avi" # file_path = "/home/administrator/historical_videos/" + str(unique_id) + ".avi"
cur.execute(sql, [frame_count, 4, str(unique_id), datetime.datetime.now(), file_path, v]) # cur.execute(sql, [frame_count, 4, str(unique_id), datetime.datetime.now(), file_path, v])
self.conn.commit() # self.conn.commit()
cur.close() # cur.close()
except: # except:
self.conn.rollback() # self.conn.rollback()
...@@ -746,9 +833,26 @@ class Ppe(ModelWrapper): ...@@ -746,9 +833,26 @@ class Ppe(ModelWrapper):
if (object_id in self.active_rec): if (object_id in self.active_rec):
rec_inf = self.active_rec[object_id] rec_inf = self.active_rec[object_id]
rec_inf[1].release() # rec_inf[1].release()
temp_v_list = rec_inf[3] temp_v_list = rec_inf[3]
for v in temp_v_list: for v in temp_v_list:
try:
sql = 'INSERT INTO "historical_video_2" ("event_id", "camera_id", "frame_id", "timestamp", "video_url", "violation_type") VALUES (%s, %s, %s, %s, %s, %s);'
# for violated_items in violations:
# present_event_id = 'SELECT "event_id" FROM aarti_violation_event_table'
cur = self.conn.cursor()
# cur.execute("ROLLBACK")
frame_count = self.frame_id
file_path = "/home/administrator/historical_videos/" + str(unique_id) + ".avi"
cur.execute(sql,
[frame_count, 4, str(unique_id), datetime.datetime.now(), file_path,
v])
self.conn.commit()
cur.close()
except:
self.conn.rollback()
self.send_payload(frame=resize_to_64_64(frame), message=temp_v_list, self.send_payload(frame=resize_to_64_64(frame), message=temp_v_list,
event=v, frame_id=rec_inf[2]) event=v, frame_id=rec_inf[2])
with open("output/recorded_video_list.txt", "a") as f: with open("output/recorded_video_list.txt", "a") as f:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment