database: path: /nvme_db/frigate.db # Global Birdseye Settings birdseye: enabled: false restream: true width: 1280 height: 720 quality: 8 mode: objects auth: enabled: false trusted_proxies: - 192.168.88.110 - 192.168.88.0/24 - 172.16.0.0/12 - 127.0.0.1 proxy: default_role: viewer header_map: user: Remote-User role: Remote-Role mqtt: enabled: true host: 192.168.88.39 user: mqtt-user password: jogiocsi go2rtc: webrtc: candidates: - 192.168.88.41:8555 - stun:8555 ffmpeg: bin: /usr/lib/ffmpeg/7.0/bin/ffmpeg # Uses your GTX 1050 Ti to transcode H.265 to browser/Linux-friendly H.264 h264: -c:v h264_nvenc -preset p1 -tune ll -b:v 2M -maxrate 2M -bufsize 4M streams: # --- Native H.265 connections (stable ingest from cameras) --- front_driveway_h265: - rtsp://admin:Jogiocsi1211@192.168.88.105:554/h264Preview_01_main front_right_h265: - rtsp://admin:Jogiocsi1211@192.168.88.100:554/h264Preview_01_main deck_h265: - rtsp://admin:Jogiocsi1211@192.168.88.101:554/h264Preview_01_main back_yard_h265: - rtsp://admin:Jogiocsi1211@192.168.88.102:554/h264Preview_01_main front_yard_h265: - rtsp://admin:Jogiocsi1211@192.168.88.104:554/h264Preview_01_main shop_h265: - rtsp://admin:Jogiocsi1211@192.168.88.103:554/h264Preview_01_main # --- H.264 transcoded streams (Live view & Linux browser-compatible playback) --- # --- Fully stabilized pipelines under go2rtc -> streams --- front_driveway: - "exec:/usr/lib/ffmpeg/7.0/bin/ffmpeg -hide_banner -v error -hwaccel cuvid -hwaccel_output_format cuda -c:v hevc_cuvid -resize 3840x1080 -rtsp_transport tcp -i rtsp://127.0.0.1:8554/front_driveway_h265 -c:v h264_nvenc -preset p1 -tune ll -b:v 6M -maxrate 6M -bufsize 12M -g 40 -c:a copy -rtsp_transport tcp -f rtsp {{output}}" - "ffmpeg:front_driveway#audio=opus" - "onvif://admin:Jogiocsi1211@192.168.88.105:8000" front_right: - rtsp://127.0.0.1:8554/front_right_h265 - "ffmpeg:front_right#audio=opus" - "onvif://admin:Jogiocsi1211@192.168.88.100:8000" deck: - rtsp://127.0.0.1:8554/deck_h265 - "ffmpeg:deck#audio=opus" - "onvif://admin:Jogiocsi1211@192.168.88.101:8000" back_yard: - rtsp://127.0.0.1:8554/back_yard_h265 - "ffmpeg:back_yard#audio=opus" - "onvif://admin:Jogiocsi1211@192.168.88.102:8000" front_yard: - rtsp://127.0.0.1:8554/front_yard_h265 - "ffmpeg:front_yard#audio=opus" - "onvif://admin:Jogiocsi1211@192.168.88.104:8000" shop: - rtsp://127.0.0.1:8554/shop_h265 - "ffmpeg:shop#audio=opus" - "onvif://admin:Jogiocsi1211@192.168.88.103:8000" # --- Sub streams for object detection --- front_driveway_sub: - rtsp://admin:Jogiocsi1211@192.168.88.105:554/h264Preview_01_sub front_yard_sub: - rtsp://admin:Jogiocsi1211@192.168.88.104:554/h264Preview_01_sub front_right_sub: - rtsp://admin:Jogiocsi1211@192.168.88.100:554/h264Preview_01_sub deck_sub: - rtsp://admin:Jogiocsi1211@192.168.88.101:554/h264Preview_01_sub back_yard_sub: - rtsp://admin:Jogiocsi1211@192.168.88.102:554/h264Preview_01_sub shop_sub: - rtsp://admin:Jogiocsi1211@192.168.88.103:554/h264Preview_01_sub ffmpeg: hwaccel_args: preset-nvidia global_args: - -threads - '2' # Cap each ffmpeg process to 2 CPU threads — prevents 12+ processes from # competing across both NUMA nodes. GPU handles the heavy lifting anyway. record: enabled: true alerts: retain: days: 30 detections: retain: days: 30 continuous: days: 0 motion: days: 30 snapshots: enabled: true retain: default: 30 detectors: onnx: type: onnx model: model_type: yolo-generic width: 320 height: 320 input_tensor: nchw input_dtype: float path: /config/model_cache/onnx/yolov9-t-320.onnx labelmap_path: /labelmap/coco-80.txt detect: enabled: true lpr: enabled: true device: GPU model_size: small known_plates: Joe: - ABC1234 Cynthia: - ABC4567 Wesley: - XYZ9876 replace_rules: - pattern: '-' replacement: '' - pattern: ' ' replacement: '' cameras: front_driveway: enabled: true ui: order: 1 live: streams: High (Transcode): front_driveway Low (Detect): front_driveway_sub ffmpeg: output_args: record: -vf scale_cuda=3840:1080 -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c:v h264_nvenc -preset p1 -b:v 4M -maxrate 4M -bufsize 8M -c:a aac -b:a 64k -ar 16000 inputs: - path: rtsp://127.0.0.1:8554/front_driveway_sub roles: [detect] - path: rtsp://127.0.0.1:8554/front_driveway_h265 roles: [record] input_args: - -hwaccel - cuda - -hwaccel_output_format - cuda - -avoid_negative_ts - make_zero - -fflags - +genpts+discardcorrupt - -rtsp_transport - tcp - -timeout - '10000000' - -use_wallclock_as_timestamps - '1' detect: width: 1536 height: 432 fps: 5 objects: track: [person, car, dog, cat] notifications: enabled: true zones: front_driveway_zone: coordinates: 0.515,0.475,0.715,0.484,0.989,0.857,0.97,0.968,0.541,0.982 loitering_time: 0 friendly_name: Front Driveway Zone review: alerts: required_zones: front_driveway_zone front_yard: enabled: true ui: order: 2 live: streams: High (4K Native): front_yard Low (Detect): front_yard_sub ffmpeg: output_args: record: preset-record-generic-audio-aac inputs: - path: rtsp://127.0.0.1:8554/front_yard_sub roles: [detect] - path: rtsp://127.0.0.1:8554/front_yard_h265 roles: [record] detect: width: 640 height: 360 fps: 5 objects: track: [person, car, dog, cat] notifications: enabled: true front_right: enabled: true ui: order: 6 live: streams: High (Native): front_right Low (Detect): front_right_sub ffmpeg: output_args: record: preset-record-generic-audio-aac inputs: - path: rtsp://127.0.0.1:8554/front_right_sub roles: [detect] - path: rtsp://127.0.0.1:8554/front_right_h265 roles: [record] detect: width: 896 height: 512 fps: 5 objects: track: [person, car, dog, cat] motion: mask: 0.259,0.36,0.605,0.193,0.616,0.264,0.266,0.419 notifications: enabled: true deck: enabled: true ui: order: 4 live: streams: High (4K Native): deck Low (Detect): deck_sub ffmpeg: output_args: record: preset-record-generic-audio-aac inputs: - path: rtsp://127.0.0.1:8554/deck_sub roles: [detect] - path: rtsp://127.0.0.1:8554/deck_h265 roles: [record] detect: width: 640 height: 360 fps: 5 objects: track: [person, car, dog, cat] notifications: enabled: true motion: mask: - 0.761,0.201,0.922,0.254,0.915,0.34,0.761,0.272 - 0.205,0.528,0.266,0.452,0.314,0.603,0.243,0.643 back_yard: enabled: true ui: order: 5 live: streams: High (4K Native): back_yard Low (Detect): back_yard_sub ffmpeg: output_args: record: preset-record-generic-audio-aac inputs: - path: rtsp://127.0.0.1:8554/back_yard_sub roles: [detect] - path: rtsp://127.0.0.1:8554/back_yard_h265 roles: [record] detect: width: 640 height: 360 fps: 5 objects: track: [person, car, dog, cat] motion: mask: - 0.587,0.193,0.578,0.052,1,0.253,1,0.385 - 0.25,0.272,0.237,0.373,0.258,0.364 notifications: enabled: true shop: enabled: true ui: order: 3 live: streams: High (4K Native): shop Low (Detect): shop_sub ffmpeg: output_args: record: preset-record-generic-audio-aac inputs: - path: rtsp://127.0.0.1:8554/shop_sub roles: [detect] - path: rtsp://127.0.0.1:8554/shop_h265 roles: [record] detect: width: 640 height: 360 fps: 5 objects: track: [person, car, dog, cat] motion: mask: - 0.644,0.053,1,0.216,0.996,0.267,0.64,0.134 - 0.427,0.424,0.522,0.418,0.521,0.574,0.452,0.567 notifications: enabled: true version: 0.17-0 semantic_search: enabled: false model_size: small face_recognition: enabled: true model_size: small classification: bird: enabled: true