Related Atlas entry
Purpose
Deliver low-latency, browser-native stream playback without relying on RTSP-first workflows. This playbook describes the operational plan for the prototype, with clear placeholders for architecture decisions that are still open.
When to use this playbook
- Before deploying or upgrading the streaming stack.
- When changing capture sources, codecs, or signaling configs.
- When troubleshooting playback reliability or latency issues.
Signals to stop or escalate
- Stream instability or dropped frames during normal load.
- Signaling failures that prevent sessions from connecting.
- Resource exhaustion (CPU, memory, or disk) on the host.
Current maturity
- Status: prototyping.
- Architecture decisions are still open (SFU vs P2P, signaling, auth model).
Audience and access
- Primary operator: system owner (you).
- Future operators: streaming admins and on-call staff (TBD).
- Required access: server with capture devices/feeds and network access.
System overview (target state)
- Ingest video sources and publish via WebRTC.
- Serve a browser UI for playback.
- Provide health endpoints and session metrics.
- Package as install-and-run with systemd services.
Patterns in use
Inputs
- Video sources (cameras, stream feeds, capture devices).
- Stream configuration (resolution, fps, bitrate) (TBD).
- Access control settings (TBD).
Outputs
- Browser-playable streams.
- Session and health metrics (recommended).
- Logs for ingest, signaling, and delivery.
Preconditions
- Host OS: Pop!_OS 24.04 LTS (target environment).
- Networking: inbound access for signaling and media ports (TBD).
- Capture hardware connected and recognized.
Install and deploy (planned)
- Install the service package (TBD installer script).
- Configure stream sources and access settings (TBD config file).
- Enable and start systemd services.
- Verify health endpoint and open the web UI.
Operational workflow (planned)
- Start/stop streams via CLI or admin UI (TBD).
- Verify playback in a supported browser.
- Monitor active sessions and resource usage.
- Rotate logs and manage disk usage.
Validation checklist
- Playback latency meets operational targets (TBD target).
- Streams are stable under expected load.
- Auth controls block unauthorized access.
Failure modes and recovery
- Signaling fails or peers cannot connect
- Mitigation: verify signaling service, network ports, and firewall rules.
- Stream drops under load
- Mitigation: reduce bitrate, validate hardware, scale architecture (TBD).
- UI fails to load
- Mitigation: verify static assets and service health.
Security and privacy
- Restrict access to authorized viewers (auth required).
- Avoid exposing stream URLs publicly.
- Document retention of any recorded content (TBD).
Change management
- Version configs and deployment scripts.
- Log architecture decisions in the decision log.
- Maintain a simple rollback plan (previous build artifact).
Open items and next decisions
- Choose streaming architecture (SFU vs P2P).
- Define signaling service and auth flow.
- Define install/uninstall workflow and packaging approach.
- Establish baseline monitoring metrics.