Files
visionLabs---roku/README.md
2026-04-18 23:36:00 +00:00

45 lines
1.8 KiB
Markdown

# visionLabs Roku
visionLabs Roku is a private Roku app scaffold for viewing home security cameras on a TV.
The current starter path is Frigate-backed, with Roku reading a static inventory of cameras that are managed by Frigate instead of embedding raw camera credentials in the app.
The first playback strategy is `snapshotFirst`, which lets the Roku app render a useful camera wall before the direct live stream endpoint shape is finalized.
## Product direction
- Brand family follows the user's existing `Labs` naming pattern.
- V1 uses a static packaged camera configuration.
- V2 adds in-app camera and layout editing.
- V3 moves camera metadata and layout persistence to a backend service.
## Technical direction
- Roku SceneGraph app
- Camera feeds delivered from Frigate in a Roku-friendly format, ideally HLS
- Static JSON config for the first prototype
- Future backend for editing, persistence, and auth
## Project layout
- `manifest` - Roku channel metadata
- `source/main.brs` - app entry point
- `components/MainScene.xml` - initial SceneGraph UI
- `components/MainScene.brs` - scene behavior
- `config/cameras.json` - static Frigate-backed starter camera config
- `docs/FRIGATE_SETUP.md` - notes for mapping cameras through Frigate
- `docs/ROADMAP.md` - delivery phases and constraints
## Notes
Roku is not a great target for raw RTSP feeds. With Frigate in the middle, the clean path is to let Frigate manage discovery, auth, and stream brokering, then expose a Roku-friendly live feed format from there.
## Next steps
1. Set the real Frigate base URL in `config/cameras.json`
2. Map the four starter cameras in Frigate using the same IDs as the Roku config
3. Verify that Frigate snapshots load at `/api/<camera>/latest.jpg`
4. Render the snapshot wall on Roku
5. Choose the direct live stream path for full playback
6. Add edit mode and persistence strategy