RTSPanda v0.1.0 hardens stream orchestration and readiness behavior for production camera fleets, and ships a full operator walkthrough that documents every supported setup method.
- mediamtx orchestration now defaults to proactive stream startup (
sourceOnDemand=false). - Stream API now returns
initializinguntil HLS is truly reachable. - Keepalive logic now uses grace and backoff windows instead of tight path repair loops.
- README is now a production-grade setup and operations guide covering all deployment methods.
- Enforced proactive path startup and retained TCP RTSP transport defaults.
- Added idempotent path sync:
- no path recreation if current source already matches
- update only when path is missing or source changed
- Reduced reload churn:
- keepalive repair waits for unhealthy grace period
- repeat repairs respect backoff window
- full reload remains reserved for repeated mediamtx API failures
/api/v1/cameras/:id/streamnow withholdshls_urluntil stream status isonline.- New status value
initializingindicates stream path exists but playlist is not yet playable. - Dashboard and camera views updated to handle
initializingcleanly without premature playback attempts.
- Rewrote README into a full production walkthrough:
- Standard full stack
- Pi mode
- Pi + remote worker
- Standalone AI worker host
- Viewer mode (binary and Docker)
- Source development setup
- hardening, validation, troubleshooting, and upgrade guidance
cd backend && go test ./...cd frontend && npm run build
- Existing installs can pull and redeploy normally.
- No breaking route changes; stream endpoint now intentionally returns empty
hls_urluntil playable.