42 lines
1.6 KiB
Markdown
42 lines
1.6 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.
|
|
|
|
## 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. Load config into the UI
|
|
4. Render a static multi-camera grid
|
|
5. Add edit mode and persistence strategy
|