Read-only probe: CUDA unusable, OpenCL sees the B580, OpenVINO not installed. Per-worker GPU still out of scope.
53 lines
1.6 KiB
Bash
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
|