mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-05 18:55:23 +03:00
End events correctly
This commit is contained in:
parent
5748efb352
commit
f0a59da933
@ -51,8 +51,8 @@ def listen_to_audio(config: FrigateConfig, event_queue: mp.Queue) -> None:
|
|||||||
signal.signal(signal.SIGTERM, receiveSignal)
|
signal.signal(signal.SIGTERM, receiveSignal)
|
||||||
signal.signal(signal.SIGINT, receiveSignal)
|
signal.signal(signal.SIGINT, receiveSignal)
|
||||||
|
|
||||||
threading.current_thread().name = "process:recording_manager"
|
threading.current_thread().name = "process:audio_manager"
|
||||||
setproctitle("frigate.recording_manager")
|
setproctitle("frigate.audio_manager")
|
||||||
listen()
|
listen()
|
||||||
|
|
||||||
for camera in config.cameras.values():
|
for camera in config.cameras.values():
|
||||||
@ -170,6 +170,7 @@ class AudioEventMaintainer(threading.Thread):
|
|||||||
"id": event_id,
|
"id": event_id,
|
||||||
"label": label,
|
"label": label,
|
||||||
"camera": self.config.name,
|
"camera": self.config.name,
|
||||||
|
"score": score,
|
||||||
"start_time": now - self.config.record.events.pre_capture,
|
"start_time": now - self.config.record.events.pre_capture,
|
||||||
"last_detection": now,
|
"last_detection": now,
|
||||||
}
|
}
|
||||||
@ -188,6 +189,7 @@ class AudioEventMaintainer(threading.Thread):
|
|||||||
self.queue.put(
|
self.queue.put(
|
||||||
(EventTypeEnum.audio, "end", self.config.name, detection)
|
(EventTypeEnum.audio, "end", self.config.name, detection)
|
||||||
)
|
)
|
||||||
|
self.detections[detection["label"]] = None
|
||||||
|
|
||||||
def restart_audio_pipe(self) -> None:
|
def restart_audio_pipe(self) -> None:
|
||||||
try:
|
try:
|
||||||
@ -216,3 +218,4 @@ class AudioEventMaintainer(threading.Thread):
|
|||||||
self.read_audio()
|
self.read_audio()
|
||||||
|
|
||||||
stop_ffmpeg(self.audio_listener, logger)
|
stop_ffmpeg(self.audio_listener, logger)
|
||||||
|
self.pipe_file.close()
|
||||||
|
|||||||
@ -219,23 +219,19 @@ class EventProcessor(threading.Thread):
|
|||||||
self.event_processed_queue.put((event_data["id"], camera))
|
self.event_processed_queue.put((event_data["id"], camera))
|
||||||
|
|
||||||
def handle_audio_detection(self, type: str, event_data: Event) -> None:
|
def handle_audio_detection(self, type: str, event_data: Event) -> None:
|
||||||
if type == "start":
|
event = {
|
||||||
event = {
|
Event.id: event_data["id"],
|
||||||
Event.id: event_data["id"],
|
Event.label: event_data["label"],
|
||||||
Event.label: event_data["label"],
|
Event.score: event_data["score"],
|
||||||
Event.camera: event_data["camera"],
|
Event.camera: event_data["camera"],
|
||||||
Event.start_time: event_data["start_time"],
|
Event.start_time: event_data["start_time"],
|
||||||
Event.thumbnail: None,
|
Event.end_time: event_data.get("end_time"),
|
||||||
Event.has_clip: True,
|
Event.thumbnail: "",
|
||||||
Event.has_snapshot: True,
|
Event.has_clip: True,
|
||||||
Event.zones: [],
|
Event.has_snapshot: True,
|
||||||
Event.data: {},
|
Event.zones: [],
|
||||||
}
|
Event.data: {},
|
||||||
elif type == "end":
|
}
|
||||||
event = {
|
|
||||||
Event.id: event_data["id"],
|
|
||||||
Event.end_time: event_data["end_time"],
|
|
||||||
}
|
|
||||||
|
|
||||||
(
|
(
|
||||||
Event.insert(event)
|
Event.insert(event)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user