Expand description
§OxiMedia — The Sovereign Media Framework
A patent-free, memory-safe multimedia processing library written in pure Rust. OxiMedia is the single crate that unifies the entire OxiMedia ecosystem — covering everything from raw codec primitives to broadcast-grade MAM workflows.
§Design Principles
- Patent-Free: Only royalty-free codecs (AV1, VP9, VP8, Opus, Vorbis, FLAC, PCM)
- Memory Safe: Pure Rust,
#![forbid(unsafe_code)]throughout - Async-First: Built on Tokio for high-concurrency media pipelines
- Zero-Copy: Efficient buffer management at every layer
- Feature-Gated: Pay only for what you use — the default build is lean
§Quick Start
Add to Cargo.toml:
[dependencies]
oximedia = { version = "0.1", features = ["audio", "video"] }Then in your code:
ⓘ
use oximedia::prelude::*;
// Probe a media file
let format = probe_format(&data)?;
println!("Container: {:?}", format);§Feature Flags
| Feature | Crates enabled | Purpose |
|---|---|---|
audio | oximedia-audio | Opus, Vorbis, FLAC, PCM codecs |
video | oximedia-codec | AV1, VP9, VP8 video codecs |
graph | oximedia-graph | Filter graph / processing pipeline |
effects | oximedia-effects | Professional audio effects suite |
net | oximedia-net | HLS, DASH, SRT, RTMP, WebRTC |
metering | oximedia-metering | EBU R128, ATSC A/85 loudness |
normalize | oximedia-normalize | Loudness normalization |
quality | oximedia-quality | PSNR, SSIM, VMAF, NIQE |
metadata-ext | oximedia-metadata | ID3v2, XMP, EXIF, IPTC |
timecode | oximedia-timecode | SMPTE LTC/VITC timecode |
workflow | oximedia-workflow | DAG workflow orchestration |
batch | oximedia-batch | Batch job processing engine |
monitor | oximedia-monitor | System monitoring and alerting |
lut | oximedia-lut | 1D/3D LUT and HDR pipeline |
colormgmt | oximedia-colormgmt | ICC, ACES, HDR color management |
transcode | oximedia-transcode | Full transcoding pipeline |
subtitle | oximedia-subtitle | SRT, ASS, WebVTT rendering |
captions | oximedia-captions | Closed caption formats |
archive | oximedia-archive | Archive verification & preservation |
dedup | oximedia-dedup | Media deduplication |
search | oximedia-search | Media search and indexing |
mam | oximedia-mam | Media Asset Management system |
scene | oximedia-scene | AI scene understanding |
shots | oximedia-shots | Shot detection & classification |
scopes | oximedia-scopes | Broadcast video scopes |
vfx | oximedia-vfx | Visual effects and compositing |
image-ext | oximedia-image | Advanced image processing (DPX, EXR, TIFF) |
watermark | oximedia-watermark | Audio watermarking and forensic detection |
mir | oximedia-mir | Music Information Retrieval |
recommend | oximedia-recommend | Content recommendation engine |
playlist | oximedia-playlist | Broadcast playlist management |
playout | oximedia-playout | Broadcast playout server |
rights | oximedia-rights | Digital rights management |
review | oximedia-review | Collaborative media review |
restore | oximedia-restore | Audio/video restoration |
repair | oximedia-repair | Media file repair and recovery |
multicam | oximedia-multicam | Multi-camera sync and switching |
stabilize | oximedia-stabilize | Video stabilization |
cloud | oximedia-cloud | Cloud storage abstraction (S3, Azure, GCS) |
edl | oximedia-edl | EDL parsing and generation |
ndi | oximedia-ndi | NDI protocol support |
imf | oximedia-imf | IMF package support (SMPTE ST 2067) |
aaf | oximedia-aaf | AAF interchange (SMPTE ST 377-1) |
timesync | oximedia-timesync | PTP/NTP time synchronization |
forensics | oximedia-forensics | Media forensics and tampering detection |
accel | oximedia-accel | Hardware acceleration (Vulkan GPU, CPU fallback) |
simd | oximedia-simd | SIMD-optimised media kernels (DCT, SAD, blending) |
switcher | oximedia-switcher | Professional live video switcher |
timeline | oximedia-timeline | Multi-track timeline editor |
optimize | oximedia-optimize | Codec optimisation suite (RDO, psychovisual, AQ) |
profiler | oximedia-profiler | Performance profiling tools |
renderfarm | oximedia-renderfarm | Distributed render farm coordinator |
storage | oximedia-storage | Cloud-agnostic object storage (S3, Azure, GCS) |
collab | oximedia-collab | Real-time CRDT collaborative editing |
gaming | oximedia-gaming | Game streaming and screen capture |
virtual-prod | oximedia-virtual | Virtual production and LED wall tools |
access | oximedia-access | Accessibility (audio description, captions, WCAG) |
conform | oximedia-conform | Media conforming (EDL/XML/AAF matching) |
convert | oximedia-convert | Media format conversion utilities |
automation | oximedia-automation | Broadcast automation and master control |
clips | oximedia-clips | Professional clip management and logging |
proxy | oximedia-proxy | Proxy and offline editing workflows |
presets | oximedia-presets | Encoding preset library (200+ presets) |
calibrate | oximedia-calibrate | Color calibration and camera profiling |
denoise | oximedia-denoise | Video denoising (spatial, temporal, hybrid) |
align | oximedia-align | Multi-camera video alignment and registration |
analysis | oximedia-analysis | Comprehensive media analysis and QA |
audiopost | oximedia-audiopost | Audio post-production (ADR, Foley, mixing) |
qc | oximedia-qc | Broadcast-grade quality control and validation |
jobs | oximedia-jobs | Job queue and worker management |
auto | oximedia-auto | Automated video editing and highlight detection |
edit | oximedia-edit | Video timeline editor with effects |
routing | oximedia-routing | Signal routing, NMOS IS-04/IS-05/IS-07 |
audio-analysis | oximedia-audio-analysis | Spectral, voice, music, forensics analysis |
gpu | oximedia-gpu | WGPU GPU compute (Vulkan, Metal, DX12, WebGPU) |
packager | oximedia-packager | HLS/DASH adaptive streaming packaging |
drm | oximedia-drm | CENC, Widevine, PlayReady, FairPlay DRM |
archive-pro | oximedia-archive-pro | BagIt, OAIS, PREMIS digital preservation |
distributed | oximedia-distributed | Distributed multi-node encoding |
farm | oximedia-farm | Render farm coordinator |
dolbyvision | oximedia-dolbyvision | Dolby Vision RPU metadata |
mixer | oximedia-mixer | Professional digital audio mixer |
scaling | oximedia-scaling | High-quality video scaling |
graphics | oximedia-graphics | Broadcast graphics engine |
videoip | oximedia-videoip | Video-over-IP protocol |
compat-ffmpeg | oximedia-compat-ffmpeg | FFmpeg CLI compatibility layer |
plugin | oximedia-plugin | Dynamic/static codec plugin system |
server | oximedia-server | RESTful media server |
hdr | oximedia-hdr | HDR video processing (PQ/HLG, tone mapping, HDR10+) |
spatial | oximedia-spatial | Spatial audio (Ambisonics, binaural, room simulation) |
cache | oximedia-cache | High-performance media caching (LRU, tiered, warming) |
stream | oximedia-stream | Adaptive streaming pipeline, segment management, QoE |
video-proc | oximedia-video | Scene detection, pulldown detection, temporal denoising, perceptual fingerprinting |
cdn | oximedia-cdn | CDN edge management, cache invalidation, geographic routing, origin failover |
neural | oximedia-neural | Lightweight neural network inference for media (tensor ops, conv2d, scene classification) |
vr360 | oximedia-360 | 360° VR video: equirectangular/cubemap projections, fisheye, stereo 3D |
analytics | oximedia-analytics | Media engagement analytics: sessions, retention curves, A/B testing, scoring |
caption-gen | oximedia-caption-gen | Advanced caption generation: speech alignment, WCAG compliance, diarization |
mjpeg | oximedia-codec (mjpeg) | Motion JPEG intra-frame video codec |
apv | oximedia-codec (apv) | APV (Advanced Professional Video) intra-frame codec (ISO/IEC 23009-13) |
full | all of the above | Everything enabled |
Re-exports§
pub use oximedia_cv as cv;
Modules§
- prelude
- Convenient re-exports of the most commonly used OxiMedia types.
Structs§
- BitReader
- I/O primitives: byte readers and media source abstractions.
- Codec
Params - Container layer: probing, demuxing, packets, stream descriptors. Codec-specific parameters.
- File
Source - A media source backed by a local file.
- Memory
Source - I/O primitives: byte readers and media source abstractions.
- Metadata
- Container layer: probing, demuxing, packets, stream descriptors. Stream and container metadata.
- Packet
- Container layer: probing, demuxing, packets, stream descriptors. A compressed media packet from a container.
- Packet
Flags - Container layer: probing, demuxing, packets, stream descriptors. Flags indicating packet properties.
- Probe
Result - Container layer: probing, demuxing, packets, stream descriptors. Result of format probing.
- Rational
- Core OxiMedia types: errors, codecs, pixel/sample formats, timestamps. Rational number for precise time calculations.
- Stream
Info - Container layer: probing, demuxing, packets, stream descriptors. Information about a stream in a container.
- Timestamp
- Core OxiMedia types: errors, codecs, pixel/sample formats, timestamps. Timestamp with timebase context.
Enums§
- CodecId
- Core OxiMedia types: errors, codecs, pixel/sample formats, timestamps. Codec identifier for supported codecs.
- Container
Format - Container layer: probing, demuxing, packets, stream descriptors. Supported container formats (patent-free).
- Media
Type - Core OxiMedia types: errors, codecs, pixel/sample formats, timestamps. Media type for stream classification.
- OxiError
- Core OxiMedia types: errors, codecs, pixel/sample formats, timestamps.
Error type for
OxiMediaoperations. - Pixel
Format - Core OxiMedia types: errors, codecs, pixel/sample formats, timestamps. Pixel format for video frames.
- Sample
Format - Core OxiMedia types: errors, codecs, pixel/sample formats, timestamps. Audio sample format.
Traits§
- Demuxer
- Container layer: probing, demuxing, packets, stream descriptors. Trait for container demuxers.
- Media
Source - I/O primitives: byte readers and media source abstractions.
Functions§
- probe_
format - Container layer: probing, demuxing, packets, stream descriptors. Probe the container format from raw bytes.
Type Aliases§
- OxiResult
- Core OxiMedia types: errors, codecs, pixel/sample formats, timestamps.
Result type alias for
OxiMediaoperations.