LiveKit – Open source, distributed video/audio rooms over WebRTC
LiveKit is an open source project that provides scalable, multi-user conferencing over WebRTC. It’s designed to give you everything you need to build real time video/audio capabilities in your applications.
- Horizontally scalable WebRTC Selective Forwarding Unit (SFU)
- Modern, full-featured client SDKs for JS, iOS, Android
- Built for production – JWT authentication and server APIs
- Robust networking & connectivity, over UDP & TCP
- Easy to deploy – pure Go & single binary
- Advanced features – speaker detection, simulcasting, selective subscription, moderation APIs.
Documentation & Guides
Docs & Guides at: https://docs.livekit.io
Try it live
Head to our playground and give it a spin. Build a Zoom-like conferencing app in under 100 lines of code!
SDKs & Tools
- Go 1.15+ is installed
- GOPATH/bin is in your PATH
- protoc is installed and in PATH
git clone https://github.com/livekit/livekit-server cd livekit-server ./bootstrap.sh mage
LiveKit is published to Docker Hub under livekit/livekit-server
Creating API keys
LiveKit utilizes JWT based access tokens for authentication to all of its APIs. Because of this, the server needs a list of valid API keys and secrets to validate the provided tokens. For more, see Access Tokens guide.
Generate API key/secret pairs with:
docker run --rm livekit/livekit-server generate-keys
Store the generate keys in a YAML file like:
Starting the server
In development mode, LiveKit has no external dependencies. You can start LiveKit by passing it the keys it should use in
LIVEKIT_KEYS. LiveKit could also use a config file or config environment variable
<div class="highlight highlight-source-shell position-relative" data-snippet-clipboard-copy-content="LIVEKIT_KEYS=" : ” ./bin/livekit-server –dev
LIVEKIT_KEYS=": " ./bin/livekit-server --dev