mirror of
https://github.com/blakeblackshear/frigate.git
synced 2024-12-23 19:11:14 +01:00
27144eb0b9
* don't zoom if camera doesn't support it * basic zooming * make zooming configurable * zooming docs * optional zooming in camera status * Use absolute instead of relative zooming * increase edge threshold * zoom considering object area * bugfixes * catch onvif zooming errors * relative zooming option for dahua/amcrest cams * docs * docs * don't make small movements * remove old logger statement * fix small movements * use enum in config for zooming * fix formatting * empty move queue first * clear tracked object before waiting for stop * use velocity estimation for movements * docs updates * add tests * typos * recalc every 50 moves * adjust zoom based on estimate box if calibrated * tweaks for fast objects and large movements * use real time for calibration and add info logging * docs updates * remove area scale * Add example video to docs * zooming font header size the same as the others * log an error if a ptz doesn't report a MoveStatus * debug logging for onvif service capabilities * ensure camera supports ONVIF MoveStatus
50 lines
1.4 KiB
Python
50 lines
1.4 KiB
Python
from multiprocessing import Queue
|
|
from multiprocessing.context import Process
|
|
from multiprocessing.sharedctypes import Synchronized
|
|
from multiprocessing.synchronize import Event
|
|
from typing import Optional, TypedDict
|
|
|
|
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 PTZMetricsTypes(TypedDict):
|
|
ptz_autotracker_enabled: Synchronized
|
|
ptz_stopped: Event
|
|
ptz_reset: Event
|
|
ptz_start_time: Synchronized
|
|
ptz_stop_time: Synchronized
|
|
ptz_frame_time: Synchronized
|
|
ptz_zoom_level: 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]
|