Compare commits

...

3 Commits

5 changed files with 16 additions and 4 deletions

View File

@ -3133,6 +3133,7 @@ paths:
duration: 30
include_recording: true
draw: {}
pre_capture: null
responses:
"200":
description: Successful Response
@ -4935,6 +4936,12 @@ components:
- type: "null"
title: Draw
default: {}
pre_capture:
anyOf:
- type: integer
- type: "null"
title: Pre Capture Seconds
default: null
type: object
title: EventsCreateBody
EventsDeleteBody:

View File

@ -34,6 +34,7 @@ class EventsCreateBody(BaseModel):
duration: Optional[int] = 30
include_recording: Optional[bool] = True
draw: Optional[dict] = {}
pre_capture: Optional[int] = None
class EventsEndBody(BaseModel):

View File

@ -1622,6 +1622,7 @@ def create_event(
body.duration,
"api",
body.draw,
body.pre_capture,
),
EventMetadataTypeEnum.manual_event_create.value,
)

View File

@ -841,9 +841,6 @@ class ReviewSegmentMaintainer(threading.Thread):
self.active_review_segments[
camera
].last_detection_time = sys.maxsize
self._publish_segment_start(
self.active_review_segments[camera]
)
elif manual_info["state"] == ManualEventState.complete:
self.active_review_segments[
camera

View File

@ -515,6 +515,7 @@ class TrackedObjectProcessor(threading.Thread):
duration,
source_type,
draw,
pre_capture,
) = payload
# save the snapshot image
@ -522,6 +523,11 @@ class TrackedObjectProcessor(threading.Thread):
None, event_id, label, draw
)
end_time = frame_time + duration if duration is not None else None
start_time = (
frame_time - self.config.cameras[camera_name].record.event_pre_capture
if pre_capture is None
else frame_time - pre_capture
)
# send event to event maintainer
self.event_sender.publish(
@ -536,7 +542,7 @@ class TrackedObjectProcessor(threading.Thread):
"sub_label": sub_label,
"score": score,
"camera": camera_name,
"start_time": frame_time,
"start_time": start_time,
"end_time": end_time,
"has_clip": self.config.cameras[camera_name].record.enabled
and include_recording,