feat: known-good CPU audio + 1080p VAAPI + KMS display wall

Working snapshot before the OpenVINO MetricGAN GPU spike:
thread-capped SpeechBrain DelaySum+MetricGAN on CPU, hop 200 ms,
video hold for A/V sync, Arc VAAPI H.264, headless kmssink wall.
32 tests passing. Do not treat this as a GPU audio path.
This commit is contained in:
root
2026-08-28 07:14:21 +00:00
parent 11776adf52
commit 736eccb932
17 changed files with 1421 additions and 46 deletions
+18 -4
View File
@@ -12,10 +12,15 @@ PARTICIPANT_PREFIX=cam
# Streams
# "all" = every discovered camera, "1,3,5" or "0-19" = subset
CAMERAS=all
VIDEO_WIDTH=1280
VIDEO_HEIGHT=720
VIDEO_WIDTH=640
VIDEO_HEIGHT=360
VIDEO_FPS=30
VIDEO_MIN_FPS=5
VIDEO_BITRATE=800000
VIDEO_CODEC=h264
VIDEO_ENCODER=vaapi
LIBVA_DRM_DEVICE=/dev/dri/renderD129
LIBVA_DRIVER_NAME=iHD
# Audio
AUDIO_SAMPLE_RATE=16000
@@ -44,9 +49,18 @@ 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
# 3 DRM roles: 20-cam grid, designated speaker camera, screenshare STUB
DISPLAY_COUNT=3
DISPLAY_IDENTITIES=cam-01,cam-02,cam-03
DISPLAY_ROLES=grid,speaker,screenshare
# Empty = auto (connected heads first, prefer Arc HDMI-A-*)
DISPLAY_CONNECTORS=
DISPLAY_IDENTITY=display-wall
# Speaker camera pane: cam-NN or "active"
DISPLAY_SPEAKER_CAMERA=cam-01
DISPLAY_GRID_COLS=5
DISPLAY_GRID_ROWS=4
DISPLAY_GRID_WIDTH=1920
DISPLAY_GRID_HEIGHT=1080
DISPLAY_GRID_FPS=30
# Screen share is a stub until production LiveKit is online.
LIVEKIT_PUBLIC_URL=