livekit/rust-sdks

LiveKit realtime and server SDKs for Rust

What it solves

This SDK allows Rust developers to integrate real-time audio, video, and data communication into their applications. It removes the need to manually implement complex WebRTC signaling and business logic for every platform, providing a standardized way to connect to LiveKit Cloud or self-hosted servers.

How it works

The SDK provides a set of Rust crates (livekit, livekit-api, livekit-protocol, and livekit-ffi) that handle the heavy lifting of real-time communication. It leverages Tokio for asynchronous execution and supports hardware-accelerated video encoding and decoding across Windows, MacOS, Linux, iOS, and Android. It also serves as a common core for other platform-specific SDKs (like Unity or Unreal) by encapsulating business logic into clean abstractions.

Who it’s for

  • Rust developers building real-time communication apps.
  • Developers creating multi-modal AI applications that require real-time media streams.
  • Teams building cross-platform apps (iOS, Android, Windows, MacOS, Linux) that need a unified media stack.

Highlights

  • Cross-platform support: Works on Windows, MacOS, Linux, iOS, and Android.
  • Hardware Acceleration: Supports H.264, H.265, and AV1 using VideoToolbox (Apple), NVidia GPUs, and AMD hardware.
  • Comprehensive Media Features: Includes simulcast, SVC codecs (AV1/VP9), and data channels.
  • Server API Integration: Includes tools for generating access tokens and managing rooms via the livekit-api crate.

Related

  • Project
  • Project
  • Project
  • Project
  • Project