Docs — architecture, codecs, and status
Benchmarks — measured BD-rate and speed
Config — CLI, options, and offline build
FAQ — common build and codec questions
Status: active development, pre-alpha. Not ready for production: APIs, file formats, and encoded streams change without notice.
A Rust-only multimedia framework built from the standards, not ported from FFmpeg: demux, decode, filter, encode, mux, and transport. Pre-alpha.
cargo build --release --workspace
cargo run -p rustmpeg-cli -- version
cargo run -p rustmpeg-video --example vvc_dump -- 64 64 26 3 /tmp/out \
--bit-depth 8 --chroma-format 420
cargo run -p rustmpeg-video --example vvc_decode -- /tmp/out.vvc /tmp/out.yuvNightly is pinned in rust-toolchain.toml (std::simd). More commands:
docs/configs/CONFIG.md.
| Area | Implemented | Status |
|---|---|---|
| Containers | Matroska/WebM, ISOBMFF/CMAF | demux + mux |
| Video | H.266/VVC (intra subset + multi-tool P), AV2 (experimental), APV intra | partial |
| Audio | Opus, FLAC, LPCM, LC3 | partial |
| Image | JPEG XL (JxlDecoder + JxlEncoder), OpenEXR (ExrDecoder + ExrEncoder), moxcms |
implemented (v1/v2) |
| Transport | — | planned |
| GPU | Vulkan Compute, opt-in, bit-exact vs CPU | partial |
Pre-alpha. Self-reported workspace completion is in the footer and in
docs/status.json; conformance is claimed only where an
external oracle was run (VVC status).
A v<version> tag or a manual Release workflow run verifies the tree
(cargo fmt, clippy, tests, license audit), builds the release examples, and
publishes a GitHub Release with the source archive, the example binaries, and
their checksums. Crates are published in dependency order only when the
CARGO_REGISTRY_TOKEN repository secret is configured; otherwise the step
records the skip in the run summary.
Apache-2.0. The VVC module derives from VTM 24.0 (BSD-3-Clause), the AV2
conformance data from dav2d (BSD-2-Clause), and the OpenEXR module from OpenEXR
3.5.2 OpenEXRCore (BSD-3-Clause); see THIRD_PARTY.md and
NOTICE.
Rust lines: 166,403 · workspace completion: 63% · unsafe: 0 · source tokens: ~1,582,400 (chars/4)