#transcoding #video-codec #multimedia-encoding #audio-video

oxideav

Thin facade over oxideav-core — re-exports + future high-level decode/encode invoke API. Pull in oxideav-format-all (or individual sibling crates) alongside this to populate the codec/container/filter/source registries.

1 unstable release

0.0.3 May 5, 2026

#1136 in Video

MIT license

7KB

oxideav

Central aggregator crate for oxideav — re-exports and a prebuilt registry

Part of the oxideav framework — a 100% pure Rust media transcoding and streaming stack. No C libraries, no FFI wrappers, no *-sys crates.

Usage

[dependencies]
oxideav = "0.0.1"

License

MIT — see LICENSE.


lib.rs:

Thin facade over oxideav_core.

oxideav is no longer an aggregator — it does NOT depend on any sibling codec / container / filter / source crate. Instead, each sibling crate self-registers into oxideav_core::REGISTRARS (a linkme distributed slice) at link time. Consumers pull whichever siblings they want into their own [dependencies], then call with_all_features to materialise everything that ended up linked.

For convenience there is a sibling oxideav-format-all virtual crate that depends on every codec / container / filter / source crate the framework knows about — oxideav-cli, oxideplay, and similar "want everything" consumers depend on it.

Quick start (everything)

[dependencies]
oxideav = "*"
oxideav-format-all = "*"
let ctx = oxideav::with_all_features();

Quick start (selective)

[dependencies]
oxideav = "*"
oxideav-h264 = "*"
oxideav-aac = "*"
oxideav-mp4 = "*"
// Only h264 + aac + mp4 self-register; the slice walker sees them.
let ctx = oxideav::with_all_features();

Dependencies

~2–3MB
~61K SLoC