81d040d6f621ceb95c92cdcf0cefb72f86bf2140
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
Labsnaming 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 metadatasource/main.brs- app entry pointcomponents/MainScene.xml- initial SceneGraph UIcomponents/MainScene.brs- scene behaviorconfig/cameras.json- static Frigate-backed starter camera configdocs/FRIGATE_SETUP.md- notes for mapping cameras through Frigatedocs/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
- Set the real Frigate base URL in
config/cameras.json - Map the four starter cameras in Frigate using the same IDs as the Roku config
- Verify that Frigate snapshots load at
/api/<camera>/latest.jpg - Render the snapshot wall on Roku
- Choose the direct live stream path for full playback
- Add edit mode and persistence strategy
Description
Languages
Brightscript
100%