mydocker/frigate/config.yml

672 lines
16 KiB
YAML

# ===================================================================
# Frigate Configuration v0.16.3 - z go2rtc restream (optymalizacja RAM)
# ===================================================================
mqtt:
host: 192.168.1.132
port: 1883
topic_prefix: frigate
client_id: frigate
user: mosquitto
password: "{FRIGATE_MQTT_PW}"
stats_interval: 60
logger:
default: info
logs:
frigate.embeddings: error
frigate.embeddings.onnx: error
uvicorn.access: warning
detectors:
coral:
type: edgetpu
device: usb
ffmpeg:
hwaccel_args: []
go2rtc:
streams:
birdseye:
- ffmpeg:birdseye#video=h264#audio=opus
# Reolink 1 (192.168.1.101)
reolink_1_main:
- rtsp://admin:{FRIGATE_REO_PW}@192.168.1.101:554/h264Preview_01_main
reolink_1_sub:
- rtsp://admin:{FRIGATE_REO_PW}@192.168.1.101:554/h264Preview_01_sub
# Reolink 3 (192.168.1.150)
reolink_3_main:
- rtsp://admin:{FRIGATE_REO_PW}@192.168.1.150:554/h264Preview_01_main
reolink_3_sub:
- rtsp://admin:{FRIGATE_REO_PW}@192.168.1.150:554/h264Preview_01_sub
# Reolink 4 (192.168.1.168)
reolink_4_main:
- rtsp://admin:{FRIGATE_REO_PW}@192.168.1.168:554/h264Preview_01_main
reolink_4_sub:
- rtsp://admin:{FRIGATE_REO_PW}@192.168.1.168:554/h264Preview_01_sub
# Hikvision 4 - domofon (192.168.1.127)
hikvision_4_main:
- rtsp://admin:{FRIGATE_DOMOFON_HIK_PW}@192.168.1.127:554/Streaming/Channels/101
hikvision_4_sub:
- rtsp://admin:{FRIGATE_DOMOFON_HIK_PW}@192.168.1.127:554/Streaming/Channels/102
# Reolink 2 (192.168.1.62)
reolink_2_main:
- rtsp://admin:{FRIGATE_REO_PW}@192.168.1.62:554/h264Preview_01_main
reolink_2_sub:
- rtsp://admin:{FRIGATE_REO_PW}@192.168.1.62:554/h264Preview_01_sub
# Reolink 5 (192.168.1.172) - natywne RTSP/TCP (fix DTS/PTS timestamp errors)
reolink_5_main:
- rtsp://admin:{FRIGATE_REO_PW}@192.168.1.172:554/h264Preview_01_main
reolink_5_sub:
- rtsp://admin:{FRIGATE_REO_PW}@192.168.1.172:554/h264Preview_01_sub
# Hikvision 2 (192.168.1.65) - tylko sub
hikvision_2_sub:
- rtsp://admin:{FRIGATE_HIK_PW}@192.168.1.65:554/Streaming/Channels/102/
# Mercusys (192.168.20.33) - native RTSP; wallclock fix applied in camera input_args
mercusys_sub:
- rtsp://{FRIGATE_MERCUSYS_USER}:{FRIGATE_MERCUSYS_PW}@192.168.20.33:554/stream2
log:
streams: error
rtsp:
transport: tcp
birdseye:
enabled: true
width: 1920
height: 1080
quality: 8
mode: continuous
detect:
enabled: true
width: 640
height: 360
fps: 7
semantic_search:
enabled: true
model_size: small
face_recognition:
enabled: false
model_size: small
lpr:
enabled: false
cameras:
# ===========================================
# Reolink 1 - main do record, sub do detect
# ===========================================
frigate_reolink_1:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/reolink_1_sub
input_args: -use_wallclock_as_timestamps 1 -rtsp_transport tcp
roles: [detect, record]
detect:
enabled: true
width: 640
height: 360
fps: 8
stationary:
interval: 50
threshold: 50
objects:
track: [person, car, dog]
filters:
person:
min_score: 0.62
threshold: 0.75
min_area: 1000
car:
min_area: 3000
max_area: 20000
min_score: 0.68
threshold: 0.75
dog:
min_score: 0.60
threshold: 0.75
min_area: 500
motion:
threshold: 25
contour_area: 80
improve_contrast: true
mask:
0.002,0.004,0,0.842,0.433,0.67,0.434,0.57,0.32,0.241,0.377,0.185,0.673,0.372,0.996,0.538,0.997,0.009
zones:
parking:
coordinates: 0.443,0.568,0.445,1,1,1,0.994,0.57,0.581,0.333
inertia: 3
loitering_time: 5
objects:
- person
driveway:
coordinates:
0.325,0.252,0.423,0.535,0.453,0.529,0.575,0.322,0.437,0.232,0.38,0.201
loitering_time: 5
inertia: 2
r1_my-garden:
coordinates: 0,0.872,0.437,0.679,0.44,1,0,1
loitering_time: 0
objects: person
inertia: 1
snapshots:
enabled: true
timestamp: false
bounding_box: true
record:
enabled: true
alerts:
retain:
days: 30
mode: active_objects
detections:
retain:
days: 90
mode: active_objects
continuous:
days: 0
motion:
days: 7
review:
alerts:
labels: [person, car]
required_zones: []
detections:
labels: [person, car]
required_zones: []
# ===========================================
# Reolink 3 - main do record, sub do detect
# ===========================================
frigate_reolink_3:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/reolink_3_sub
input_args: -use_wallclock_as_timestamps 1 -rtsp_transport tcp
roles: [detect, record]
detect:
enabled: true
width: 640
height: 360
fps: 7
max_disappeared: 30
stationary:
interval: 40
threshold: 30
objects:
track: [person, car, dog]
filters:
person:
min_score: 0.68
threshold: 0.75
min_area: 2000
max_area: 20000
car:
min_area: 4000
min_score: 0.69
threshold: 0.75
dog:
min_score: 0.60
threshold: 0.75
min_area: 500
motion:
threshold: 25
contour_area: 80
improve_contrast: true
mask:
0.001,0.673,0.005,0.009,0.935,0.012,0.929,0.345,0.932,0.417,0.776,0.247,0.691,0.156,0.448,0.028
zones:
terrace:
coordinates: 0,0.966,0.149,0.898,0.275,0.625,0.46,1,0,1
inertia: 3
loitering_time: 10
kennel:
coordinates: 0,0.729,0.108,0.531,0.152,0.75,0.041,0.9
inertia: 4
loitering_time: 0
objects:
- person
my-garden:
coordinates:
0.179,0.799,0.135,0.547,0.451,0.036,0.685,0.157,0.932,0.433,0.992,0.978,0.482,0.991,0.39,0.852,0.274,0.606
loitering_time: 0
snapshots:
enabled: true
timestamp: false
bounding_box: true
record:
enabled: true
alerts:
retain:
days: 30
mode: active_objects
detections:
retain:
days: 90
mode: active_objects
review:
alerts:
labels: [person]
required_zones: []
detections:
labels: [person]
required_zones: [terrace]
# ===========================================
# Reolink 4 - main do record, sub do detect
# ===========================================
frigate_reolink_4:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/reolink_4_sub
input_args: -use_wallclock_as_timestamps 1 -rtsp_transport tcp
roles: [detect, record]
detect:
enabled: true
width: 640
height: 360
fps: 7
max_disappeared: 30
stationary:
interval: 40
threshold: 30
objects:
track: [person, car, dog]
filters:
person:
min_area: 1800
min_score: 0.71
threshold: 0.75
mask: 0,0,1,0,1,0.15,0.7,0.15,0.5,0.12,0.32,0.05,0,0.05
car:
min_area: 3000
min_score: 0.71
threshold: 0.75
dog:
min_score: 0.60
threshold: 0.75
min_area: 500
motion:
threshold: 25
contour_area: 80
improve_contrast: true
mask: 0,0,1,0,1,0.804,0.692,0.318,0.558,0.13,0.32,0.05,0,0.152
zones:
main_area:
coordinates: 0.37,0.091,0.519,0.139,0.822,1,0.199,1
loitering_time: 10
inertia: 3
entrance:
coordinates: 0.415,0.169,0.491,0.253,0.515,0.432,0.439,0.661
objects: [person]
inertia: 3
loitering_time: 0
snapshots:
enabled: true
timestamp: false
bounding_box: true
record:
enabled: true
alerts:
retain:
days: 30
mode: active_objects
detections:
retain:
days: 90
mode: active_objects
review:
alerts:
labels: [person]
required_zones: []
detections:
labels: [person]
required_zones: []
# ===========================================
# Hikvision 4 - domofon (bez zmian)
# ===========================================
frigate_hikvision_4:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/hikvision_4_sub
input_args: preset-rtsp-restream
roles: [detect]
- path: rtsp://127.0.0.1:8554/hikvision_4_main
input_args: preset-rtsp-restream
roles: [record]
detect:
enabled: true
width: 640
height: 360
fps: 10
motion:
threshold: 50
contour_area: 40
improve_contrast: true
lightning_threshold: 0.8
objects:
track: [person]
filters:
person:
min_score: 0.68
threshold: 0.75
min_area: 600
max_area: 2500000
min_ratio: 0.20
max_ratio: 0.85
snapshots:
enabled: true
timestamp: false
bounding_box: true
record:
enabled: true
alerts:
retain:
days: 30
mode: active_objects
detections:
retain:
days: 90
mode: active_objects
continuous:
days: 90
motion:
days: 0
zones:
street-left:
coordinates:
0.906,0.491,0.733,0.482,0.755,0.59,0.805,0.66,1,0.694,0.997,0.624,0.997,0.49
objects: [person]
inertia: 2
loitering_time: 0
robo:
coordinates:
0.513,0.371,0.504,0.796,0.655,0.867,0.821,0.814,0.904,0.777,0.952,0.689,0.806,0.675,0.75,0.594,0.717,0.42
objects: [person]
loitering_time: 0
inertia: 3
at-gate:
coordinates:
0,0,1,0,1,0.482,0.733,0.478,0.73,0.429,0.517,0.36,0.507,0.358,0.498,0.801,0.653,0.876,0.819,0.823,0.907,0.781,0.953,0.695,0.998,0.704,1,1,0,1
objects: [person]
loitering_time: 0
inertia: 3
review:
alerts:
labels: [person]
required_zones: []
detections:
labels: [person, car]
required_zones: []
# ===========================================
# Reolink 2 - sub stream (bez zmian)
# ===========================================
frigate_reolink_2:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/reolink_2_sub
input_args: -use_wallclock_as_timestamps 1 -rtsp_transport tcp
roles: [detect, record]
detect:
enabled: true
width: 640
height: 360
fps: 8
max_disappeared: 30
stationary:
interval: 40
threshold: 30
objects:
track: [person, dog]
filters:
person:
min_area: 1000
min_score: 0.63
threshold: 0.75
dog:
min_score: 0.60
threshold: 0.75
min_area: 500
motion:
threshold: 22
contour_area: 80
improve_contrast: true
mask: 0.006,0.004,0,0.415,0.223,0.323,0.338,0.228,0.552,0.078,0.621,0
zones:
my_sidewalk:
coordinates:
0,0.415,0.225,0.325,0.303,0.265,0.551,0.082,0.621,0,0.7,0,0.973,1,0,1
inertia: 3
loitering_time: 8
snapshots:
enabled: true
timestamp: false
bounding_box: true
record:
enabled: true
alerts:
retain:
days: 30
mode: active_objects
detections:
retain:
days: 90
mode: active_objects
review:
alerts:
labels: [person]
required_zones: []
detections:
labels: [person]
required_zones: []
# ===========================================
# Reolink 5 - main do record, sub do detect
# ===========================================
frigate_reolink_5:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/reolink_5_sub
input_args: -use_wallclock_as_timestamps 1 -rtsp_transport tcp
roles: [detect, record]
detect:
enabled: true
width: 640
height: 360
fps: 8
max_disappeared: 30
stationary:
interval: 40
threshold: 30
objects:
track: [person, dog]
filters:
person:
min_area: 505
min_score: 0.69
threshold: 0.75
mask: 0,0.95,0.12,0.72,0.2,0.4,0.35,0.22,0.5,0.18,0.85,0.22,1,0,0,0
dog:
min_score: 0.60
threshold: 0.75
min_area: 500
motion:
threshold: 25
contour_area: 80
improve_contrast: true
mask: 0,0.95,0.12,0.72,0.2,0.4,0.35,0.22,0.5,0.18,0.85,0.22,1,0,0,0
zones:
terrace:
coordinates:
0.442,0.214,0.626,0.218,0.669,0.215,0.819,0.243,0.788,0.669,0.763,1,0.038,1,0.131,0.775,0.238,0.465
inertia: 3
loitering_time: 10
snapshots:
enabled: true
timestamp: false
bounding_box: true
record:
enabled: true
alerts:
retain:
days: 30
mode: active_objects
detections:
retain:
days: 90
mode: active_objects
review:
alerts:
labels: [person]
required_zones: []
detections:
labels: [person]
required_zones: []
# ===========================================
# Hikvision 2 (bez zmian)
# ===========================================
frigate_hikvision_2:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/hikvision_2_sub
input_args: preset-rtsp-restream
roles: [detect, record]
detect:
enabled: true
width: 640
height: 360
fps: 7
objects:
track: [person, car, dog]
filters:
person:
min_score: 0.69
threshold: 0.75
max_area: 30000
mask:
- 0.139,1,0.091,0.685,0.677,0.492,0.655,0.334,1,0.272,0.996,0.007,0.015,0.014,0.028,0.718
- 0.733,0.46,0.738,0.39,0.75,0.395,0.766,0.505,0.747,0.516
- 0.696,0.489,0.693,0.45,0.707,0.447,0.714,0.429,0.721,0.463,0.72,0.49,0.71,0.497
dog:
min_score: 0.60
threshold: 0.75
min_area: 500
car:
min_score: 0.69
threshold: 0.75
max_area: 45000
mask: 0.646,0.335,0.668,0.522,0.858,0.473,0.844,0.302
motion:
threshold: 25
contour_area: 150
improve_contrast: false
snapshots:
enabled: true
timestamp: false
bounding_box: true
zones:
my-garden:
coordinates:
0.651,0.477,0.404,0.577,0.421,0.666,0.094,0.795,0.054,0.99,0.902,0.997,0.859,0.42,0.845,0.278,0.622,0.298
inertia: 2
loitering_time: 0
objects:
- person
record:
enabled: true
alerts:
retain:
days: 30
mode: active_objects
detections:
retain:
days: 90
mode: active_objects
review:
alerts:
labels: [person]
required_zones: []
detections:
labels: [person]
required_zones: []
# ===========================================
# Mercusys (bez zmian)
# ===========================================
mercusys_mc200:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/mercusys_sub
input_args: -use_wallclock_as_timestamps 1 -rtsp_transport tcp
roles: [detect, record]
detect:
enabled: true
width: 640
height: 360
fps: 8
objects:
track: [person, cat]
filters:
person:
min_area: 1500
max_area: 120000
min_score: 0.68
threshold: 0.75
cat:
min_area: 300
max_area: 6000
min_score: 0.68
threshold: 0.75
motion:
threshold: 25
contour_area: 80
improve_contrast: true
record:
enabled: true
alerts:
retain:
days: 30
mode: active_objects
detections:
retain:
days: 90
mode: active_objects
snapshots:
enabled: true
timestamp: true
retain:
default: 3
review:
alerts:
labels: [person, cat]
required_zones: []
detections:
labels: [person, cat]
required_zones: []
snapshots:
retain:
default: 365
objects:
person: 3650
car: 180
quality: 90
clean_copy: true
version: 0.17-0