Skip to main content
The Rust SDK provides a comprehensive set of libraries and tools for building real-time media applications with Media over QUIC. Built for performance and reliability, the Rust implementation is ideal for server-side components, native applications, and CDN infrastructure.

Architecture

The Rust SDK follows a layered architecture:
┌─────────────────┐
│   Application   │   Your business logic
├─────────────────┤
│      hang       │   Media-specific encoding/streaming
│                 │   - codecs, containers, catalog
├─────────────────┤
│    moq-lite     │   Generic pub/sub transport
│                 │   - broadcasts, tracks, groups, frames
├─────────────────┤
│  WebTransport   │   Browser-compatible QUIC
│      QUIC       │   - HTTP/3 handshake, multiplexing
└─────────────────┘
Rule: The CDN must not know anything about your application, media codecs, or available tracks. Everything can be fully E2EE.

Core Crates

moq-lite

Core pub/sub transport protocol with built-in concurrency and deduplication.

moq-native

Helper library for configuring QUIC endpoints in native applications.

hang

Media-specific encoding/streaming layered on top of moq-lite.

moq-mux

Media muxers and demuxers for fMP4, CMAF, and HLS formats.

Applications

moq-relay

Clusterable relay server for fan-out and cross-region distribution.

moq-cli

CLI tool for publishing media to MoQ relays.

moq-token

JWT authentication library and CLI tool.

Advanced

libmoq

C bindings for moq-lite, enabling integration with C/C++ applications.

Key Features

  • Real-time latency using QUIC for prioritization and partial reliability
  • Massive scale designed for fan-out and cross-region clustering
  • Generic pub/sub for any live data, not just media
  • Built-in concurrency with async/await and Tokio
  • Production-ready with comprehensive error handling

Package Repository

All crates are published on crates.io and documented on docs.rs.

Source Code

The Rust SDK is open source and available on GitHub.

Getting Started

Ready to start building? Check out the Getting Started guide to install the SDK and run your first example.

Build docs developers (and LLMs) love