Skip to content

Architecture

Tomo Streaming architecture showing the product, control plane, spawner, isolated stream-server, browser signaling, and direct WebRTC media path.

The control plane owns lifecycle and signaling. Media and input connect the guest to the isolated runtime.

The control plane authenticates server-to-server API requests, creates session credentials, selects a registered spawner and reconciles the runtime lifecycle. It also relays WebRTC offer, answer and ICE messages.

A stream-server is an isolated runtime for one live session. It captures or renders a source, publishes video and audio, and accepts opaque input packets. Camera, desktop and emulator runtimes inherit the same lifecycle contract.

The client receives only a temporary connection object. It joins signaling as a player and exchanges media directly with the runtime or through TURN. REST does not proxy the media path.

Separate REST, signaling, and WebRTC trust paths.

Source types are open strings. Registering a new spawner and providing a compatible runtime adds a new experience without changing the SDK’s core types.