# LiveKit Portal

A transport layer that lets a robot's cameras, joint state and control actions travel over WebRTC to a teleoperator or policy running on another machine, fusing video and state into one synchronized callback per control tick.

Portal carries a robot's cameras, joint state and actions over LiveKit's room model so a human teleoperator or a policy can control the robot from anywhere on the internet, with multiple operators able to join the same session and hand off control mid-session. It traverses NAT over WebRTC with no VPN and no forwarded port.

Because video and state data travel over different kinds of channels and typically arrive 30 to 80 milliseconds out of phase, Portal stamps every frame and state packet with the sender's monotonic capture-time clock and reassembles matching frame and state pairs on the operator side, so the control side receives one fused callback per tick instead of two streams to reconcile itself. It works with any robotics stack and includes an optional LeRobot plugin, with example projects covering a synthetic end-to-end walkthrough and a vision-language-action inference loop.

Website: https://github.com/livekit/portal
