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>
50 lines
1.3 KiB
Python
50 lines
1.3 KiB
Python
CONFIG_DIR = "/config"
|
|
DEFAULT_DB_PATH = f"{CONFIG_DIR}/frigate.db"
|
|
MODEL_CACHE_DIR = f"{CONFIG_DIR}/model_cache"
|
|
BASE_DIR = "/media/frigate"
|
|
CLIPS_DIR = f"{BASE_DIR}/clips"
|
|
RECORD_DIR = f"{BASE_DIR}/recordings"
|
|
EXPORT_DIR = f"{BASE_DIR}/exports"
|
|
BIRDSEYE_PIPE = "/tmp/cache/birdseye"
|
|
CACHE_DIR = "/tmp/cache"
|
|
YAML_EXT = (".yaml", ".yml")
|
|
FRIGATE_LOCALHOST = "http://127.0.0.1:5000"
|
|
PLUS_ENV_VAR = "PLUS_API_KEY"
|
|
PLUS_API_HOST = "https://api.frigate.video"
|
|
BTBN_PATH = "/usr/lib/btbn-ffmpeg"
|
|
|
|
# Attributes
|
|
|
|
ATTRIBUTE_LABEL_MAP = {
|
|
"person": ["face", "amazon"],
|
|
"car": ["ups", "fedex", "amazon", "license_plate"],
|
|
}
|
|
ALL_ATTRIBUTE_LABELS = [
|
|
item for sublist in ATTRIBUTE_LABEL_MAP.values() for item in sublist
|
|
]
|
|
|
|
# Audio Consts
|
|
|
|
AUDIO_DURATION = 0.975
|
|
AUDIO_FORMAT = "s16le"
|
|
AUDIO_MAX_BIT_RANGE = 32768.0
|
|
AUDIO_SAMPLE_RATE = 16000
|
|
|
|
# Regex Consts
|
|
|
|
REGEX_CAMERA_NAME = r"^[a-zA-Z0-9_-]+$"
|
|
REGEX_RTSP_CAMERA_USER_PASS = r":\/\/[a-zA-Z0-9_-]+:[\S]+@"
|
|
REGEX_HTTP_CAMERA_USER_PASS = r"user=[a-zA-Z0-9_-]+&password=[\S]+"
|
|
|
|
# Known Driver Names
|
|
|
|
DRIVER_ENV_VAR = "LIBVA_DRIVER_NAME"
|
|
DRIVER_AMD = "radeonsi"
|
|
DRIVER_INTEL_i965 = "i965"
|
|
DRIVER_INTEL_iHD = "iHD"
|
|
|
|
# Record Values
|
|
|
|
MAX_SEGMENT_DURATION = 600
|
|
MAX_PLAYLIST_SECONDS = 7200 # support 2 hour segments for a single playlist to account for cameras with inconsistent segment times
|