57 lines
2.0 KiB
YAML
57 lines
2.0 KiB
YAML
# Shared pipeline configuration for the oko clip system.
|
|||
|
|
# Each node maps binary -> flags (the same flags as the binaries' -help).
|
||
|
|
# The pipeline routes: runCam -> mofin -> terp -> coordinator (Matrix storage).
|
||
|
|
# Nodes that listen must be started backend-first.
|
||
|
|
|
||
|
|
pipeline:
|
||
|
|
runCam:
|
||
|
|
binary: "runCam"
|
||
|
|
flags:
|
||
|
|
mofin: "localhost:8083"
|
||
|
|
min-cam: 0
|
||
|
|
max-cam: 10
|
||
|
|
clip-duration: "10s"
|
||
|
|
rescan-interval: "10s"
|
||
|
|
user: "oko"
|
||
|
|
camera-id: "front"
|
||
|
|
video-fps: 5 # processed clip FPS; 0 = device native rate
|
||
|
|
video-width: 0 # capture width in px (0 = device default)
|
||
|
|
video-height: 0 # capture height in px (0 = device default)
|
||
|
|
passphrase: "change-me" # empty disables clip encryption
|
||
|
|
auth-token: "change-me" # shared with every node (or OKO_AUTH_TOKEN)
|
||
|
|
pbkdf2-iters: 600000 # lower = less CPU on weak devices (e.g. 50000 on a Pi Zero W)
|
||
|
|
|
||
|
|
mofin:
|
||
|
|
binary: "mofin"
|
||
|
|
flags:
|
||
|
|
listen: ":8083"
|
||
|
|
terp: "localhost:8081"
|
||
|
|
threshold: 30 # pixel-value sensitivity 0-255 (drop no-motion clips)
|
||
|
|
passphrase: "change-me"
|
||
|
|
auth-token: "change-me"
|
||
|
|
pbkdf2-iters: 600000
|
||
|
|
|
||
|
|
terp:
|
||
|
|
binary: "terp"
|
||
|
|
flags:
|
||
|
|
listen: ":8081"
|
||
|
|
sendoff: "localhost:8082"
|
||
|
|
classifiers: "classifiers/*.xml"
|
||
|
|
motion-percent: 0 # 0 = forward all motion clips to coordinator
|
||
|
|
passphrase: "change-me"
|
||
|
|
auth-token: "change-me"
|
||
|
|
pbkdf2-iters: 600000
|
||
|
|
|
||
|
|
coordinator:
|
||
|
|
binary: "coordinator"
|
||
|
|
flags:
|
||
|
|
listen: ":8082"
|
||
|
|
matrix-homeserver: "https://matrix.example.org"
|
||
|
|
matrix-user: "@okobot:matrix.example.org"
|
||
|
|
matrix-token-file: "matrix.token" # or OKO_MATRIX_TOKEN
|
||
|
|
clips-room: "!yourclips:example.org"
|
||
|
|
detections-room: "!yourdetections:example.org"
|
||
|
|
view-room: "!yourview:example.org" # clips with a one-line caption only, no JSON
|
||
|
|
passphrase: "change-me"
|
||
|
|
auth-token: "change-me"
|
||
|
|
pbkdf2-iters: 600000
|