mirror of
https://github.com/blakeblackshear/frigate.git
synced 2024-11-21 19:07:46 +01:00
c3b313a70d
* Initial audio classification model implementation * fix mypy * Keep audio labelmap local * Cleanup * Start adding config for audio * Add the detector * Add audio detection process keypoints * Build out base config * Load labelmap correctly * Fix config bugs * Start audio process * Fix startup issues * Try to cleanup restarting * Add ffmpeg input args * Get audio detection working * Save event to db * End events if not heard for 30 seconds * Use not heard config * Stop ffmpeg when shutting down * Fixes * End events correctly * Use api instead of event queue to save audio events * Get events working * Close threads when stop event is sent * remove unused * Only start audio process if at least one camera is enabled * Add const for float * Cleanup labelmap * Add audio icon in frontend * Add ability to toggle audio with mqtt * Set initial audio value * Fix audio enabling * Close logpipe * Isort * Formatting * Fix web tests * Fix web tests * Handle cases where args are a string * Remove log * Cleanup process close * Use correct field * Simplify if statement * Use var for localhost * Add audio detectors docs * Add restream docs to mention audio detection * Add full config docs * Fix links to other docs --------- Co-authored-by: Jason Hunter <hunterjm@gmail.com>
40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
from multiprocessing.context import Process
|
|
from multiprocessing.sharedctypes import Synchronized
|
|
from typing import Optional, TypedDict
|
|
|
|
from faster_fifo import Queue
|
|
|
|
from frigate.object_detection import ObjectDetectProcess
|
|
|
|
|
|
class CameraMetricsTypes(TypedDict):
|
|
camera_fps: Synchronized
|
|
capture_process: Optional[Process]
|
|
detection_enabled: Synchronized
|
|
detection_fps: Synchronized
|
|
detection_frame: Synchronized
|
|
ffmpeg_pid: Synchronized
|
|
frame_queue: Queue
|
|
motion_enabled: Synchronized
|
|
improve_contrast_enabled: Synchronized
|
|
motion_threshold: Synchronized
|
|
motion_contour_area: Synchronized
|
|
process: Optional[Process]
|
|
process_fps: Synchronized
|
|
read_start: Synchronized
|
|
skipped_fps: Synchronized
|
|
|
|
|
|
class FeatureMetricsTypes(TypedDict):
|
|
audio_enabled: Synchronized
|
|
record_enabled: Synchronized
|
|
|
|
|
|
class StatsTrackingTypes(TypedDict):
|
|
camera_metrics: dict[str, CameraMetricsTypes]
|
|
detectors: dict[str, ObjectDetectProcess]
|
|
started: int
|
|
latest_frigate_version: str
|
|
last_updated: int
|
|
processes: dict[str, int]
|