Overview
LiveKit Portal is a thin layer over LiveKit that transports camera streams, robot state, and control actions between a robot and one or more operators. It provides a consistent interface for local and remote robots, so the same control code works in either environment.
Portal addresses three common challenges in remote robotics apps:
- Transport: Streams camera data and robot state from the robot, and control actions back, in a LiveKit room.
- Synchronization: Aligns camera frames and robot state by timestamp, delivering a single observation for each control tick.
- Control arbitration: Coordinates control between participants such as teleoperators, policies, and recorders, allowing control to transfer with a single API call.
Portal works with any robotics stack. It does not depend on a specific perception, control, or learning framework, and includes an optional LeRobot integration for apps that already use it.
When to use LiveKit Portal
Use Portal when robot observations and control actions need to cross a network, such as for teleoperation or remote inference. It handles transport, synchronization, and control coordination over both LiveKit Cloud and self-hosted LiveKit servers. The code is the same in either deployment.
If you need lower-level control over media and data transport, build directly on the LiveKit SDKs. See Teleoperation for the underlying video and data track patterns.
In this section
If you're new to Portal, start with the LiveKit Portal quickstart, which walks through connecting a robot and an operator without requiring physical hardware. The remaining topics cover the architecture, APIs, and example apps.