Skip to content

livekit-examples/rust-dev-client

Repository files navigation

Rust Dev Client

An example of building a cross-platform, GUI application using the LiveKit Rust SDK.

Connect window

Features

  • Platform support: macOS, Linux, and Windows
  • Connect to multiple LiveKit rooms
  • Use either pre-generated token or project API key/secret
  • Publish test tracks
  • Subscribe to tracks
  • Simulate fault scenarios (e.g., reconnect, migration, etc.)
  • Send/receive remote procedure calls (RPC)
  • Send/receive data streams

Building

The app builds and runs against the pinned, published LiveKit crates by default:

cargo run              # debug
cargo run --release    # optimized

The Rust toolchain is pinned in rust-toolchain.toml and selected automatically. The first build downloads a prebuilt libwebrtc, so it needs network access.

Building against a local rust-sdks

To build against a local checkout of the LiveKit Rust SDK instead of the published crates:

  1. Clone the SDK next to this repository:
    git clone https://github.com/livekit/rust-sdks ../rust-sdks
  2. In Cargo.toml, comment out the two published livekit / livekit-api lines and uncomment the path lines below them (edit the paths if your checkout lives elsewhere):
    livekit = { path = "../rust-sdks/livekit", features = ["rustls-tls-native-roots"] }
    livekit-api = { path = "../rust-sdks/livekit-api", default-features = false, features = ["access-token"] }
    These are plain path dependencies, so cargo re-resolves automatically — no cargo update needed.
  3. cargo run — and rust-analyzer — now build against the local sources.

To return to the published crates, reverse step 2: uncomment the two version lines and comment the path lines back out.

About

An example of building a cross-platform, GUI application using the LiveKit Rust SDK.

Topics

Resources

License

Contributing

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages