2026-04-19 00:03:47 +00:00
2026-04-19 00:03:47 +00:00
2026-04-18 22:55:24 +00:00
2026-04-18 22:55:24 +00:00
2026-04-18 22:55:24 +00:00

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
Description
No description provided
Readme 79 KiB
Languages
Brightscript 100%