Files
livekit-cameras/.env.example
T
root 11776adf52 chore: Arc B580 offload spike script
Read-only probe: CUDA unusable, OpenCL sees the B580, OpenVINO not
installed. Per-worker GPU still out of scope.
2026-08-28 06:26:02 +00:00

53 lines
1.6 KiB
Bash

# LiveKit server connection
# Local TEST server (autostarted). Switch this URL to the remote
# LiveKit later; then: systemctl disable --now livekit-server
LIVEKIT_URL=ws://127.0.0.1:7880
LIVEKIT_API_KEY=APIKey_xxx
LIVEKIT_API_SECRET=APIsecret_xxx
# Room / naming
LIVEKIT_ROOM=cameras
PARTICIPANT_PREFIX=cam
# Streams
# "all" = every discovered camera, "1,3,5" or "0-19" = subset
CAMERAS=all
VIDEO_WIDTH=1280
VIDEO_HEIGHT=720
VIDEO_FPS=30
VIDEO_MIN_FPS=5
# Audio
AUDIO_SAMPLE_RATE=16000
AUDIO_CHANNELS=1
# Audio cleanup (speechbrain)
# mode: auto (default: enhanced if the model is cached, otherwise passthrough)
# force (always enhance), off (always passthrough)
ENHANCE_MODE=auto
# speechbrain model repo (must be 16 kHz; metricGAN-plus runs ~20-40ms/frame on CPU)
ENHANCE_MODEL=speechbrain/metricgan-plus-voicebank
# model window vs publish hop: 1 s context, 200 ms emit
ENHANCE_CHUNK_S=1.0
ENHANCE_HOP_S=0.2
# C920 stereo Delay-and-Sum (SpeechBrain GCC-PHAT) before MetricGAN
# auto (default): beamform if speechbrain loads, else average channels
# force: require DelaySum_Beamformer, off: average L/R
BEAMFORM_MODE=auto
# One BLAS/Torch thread per worker (20 workers vs 28 cores)
TORCH_NUM_THREADS=1
# Recompute GCC-PHAT TDOA every N hops (5 * 200 ms = 1 s)
BEAMFORM_TDOA_EVERY=5
# Misc
PUBLISH_TIMEOUT_S=60
LOG_LEVEL=INFO
# Headless display wall (run_displays.py / livekit-displays.service)
# 3 DRM outputs showing LiveKit participants via GStreamer kmssink
DISPLAY_COUNT=3
DISPLAY_IDENTITIES=cam-01,cam-02,cam-03
# Empty = auto (connected heads first, prefer Arc HDMI-A-*)
DISPLAY_CONNECTORS=
DISPLAY_IDENTITY=display-wall