ON THIS PAGE

  • Recommended flow
  • Visualizer is the default recommendation
  • When to use custom rendering
  • Connection modes
  • Related Hub features
  • Next steps

Streaming and Visualizer

Streaming is a core Luxonis Hub capability, but the recommended customer-facing integration pattern is specific: your backend fetches connection bootstrap data from Hub, and your frontend uses that derived payload to connect.

Recommended flow

For a customer portal:
  1. Your frontend asks your backend for a session.
  2. Your backend calls the Hub GraphQL control API.
  3. Your backend returns the bootstrap payload to the frontend.
  4. Your frontend connects with that payload.
Use:
  • requestDeviceWebrtcConfig for device sessions such as Web Terminal and live logs
  • requestDeviceAppConnection for app sessions and visualizer sessions

Visualizer is the default recommendation

For customer portals, visualizer is the recommended rendering primitive.It is the best default when you need more than a raw video player, including:
  • camera streams
  • detections and overlays
  • richer outputs such as point clouds
If your app ships a custom static frontend, Hub can expose that frontend. If it does not, Hub opens the default visualizer instead.

When to use custom rendering

Custom rendering is still supported, but it should be treated as the advanced/custom path.Choose it when:
  • you need a fully bespoke UI
  • your stack is not centered on the JavaScript visualizer path
  • you want to own the full rendering pipeline yourself

Connection modes

There are two common paths:
  • Hub-mediated remote access over WebRTC for remote portals, Hub UI, and customer-facing cloud products
  • Same-LAN direct access over websocket for local/device-side access patterns
Same-LAN direct access is useful as a fallback, but it is not the canonical remote integration model.

Related Hub features

  • Web Terminal uses the device session path.
  • Live app logs use the device session path.
  • App frontends and visualizer sessions use the app connection path.

Next steps