LiveKit is an open source project providing scalable, multi-user WebRTC conferencing, positioned as an alternative to hosted real-time video APIs like Agora and Daily. Its server is written in Go on top of the Pion WebRTC implementation and runs as a Selective Forwarding Unit (SFU) that can be deployed as a single binary, in Docker, or on Kubernetes. LiveKit also maintains a broader ecosystem of companion projects for agents, recording, and stream ingestion built around the same core server, so teams do not have to bolt on third-party tooling for common tasks like exporting a recording of a call.
Rooms are created and joined using JWT-authenticated client SDKs, while the Go-based SFU forwards media selectively between participants rather than relaying every stream to every peer, keeping bandwidth and server load down as room size grows. Webhooks notify server-side code of room and participant events, and the moderation APIs let a backend mute, disconnect, or otherwise manage participants during a live session without waiting on a client to cooperate.
LiveKit deploys as a single binary, a Docker container, or a Kubernetes deployment, and documentation covers distributed, multi-region setups for teams running at scale. Public live demos, including LiveKit Meet, a spatial audio demo, an OBS Studio livestreaming example, and a ChatGPT-based voice assistant called Kitt, ship with linked source repositories so new users can see a working deployment before building their own. Because the server is a single Go binary, teams that want to avoid container orchestration entirely can still run LiveKit directly on a VM without Docker or Kubernetes.