155038aabb
StreamWatchdog (watchdog.py) — polls mediamtx /v3/paths/list каждые N sec.
Если ожидаемый path missing > threshold → emit MQTT event stream_lost +
показывает text overlay 'OFFLINE'. При восстановлении — stream_restored +
remove overlay.
Config:
watchdog:
enabled: true
mediamtx_api_url: http://cuda-grid-mediamtx:9997
poll_interval_sec: 5.0
lost_threshold_sec: 15.0
paths:
- mediamtx_path: live-audio
instance: tv_grid
label: Audio
overlay_when_lost: true
httpx добавлен в Dockerfile.
Сегодняшний incident (audio sidecar потерял connection с mediamtx →
pipeline restart loop) — watchdog обнаружит missing live-audio через
15 sec + покажет TV-side warning. Manual restart audio sidecar still
needed (watchdog auto-restart — Phase 2).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>