Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
mediaway-encoder
Status: early development (
0.x). Not recommended for production; public APIs may change without notice. Part of the Mediaway media stack.
Hardware-accelerated video and audio encoding: the VideoEncoder / AudioEncoder
traits, the auto selection layer (AutoVideoEncodeConfig, path classes from Zero-Copy
down to software), and per-platform backends — Windows WMF (H.264/AAC, DX11 Zero-Copy),
NVIDIA NVENC, Intel Quick Sync (via oneVPL), Vulkan Video, WebCodecs (wasm), and VA-API
on Linux. Feature-gated audio / video for slim builds.
Quick start
use ;
use ;
use WindowsVideoEncoder;
let config = VideoEncoderConfig ;
let mut encoder = open?; // WMF session
encoder.push_frame?;
while let Some = encoder.poll_packet?
encoder.flush?;
For Zero-Copy GPU input, set input: VideoInputPreference::ZeroCopyGpu and pass the
matching gpu_device — or use mediaway::platform::AutoEncoder::open to let Mediaway
pick the best path.
Status
Status marks: ✅ first-class (tests for claimed scope) · ⚡ Zero-Copy path (no payload copy; implies ✅) · 🆗 best-effort / prototype · 🛠️ planned · ❌ attempted and genuinely blocked · 👻 not exercisable yet (no hardware / device / session available)
| Area | Status | Notes |
|---|---|---|
VideoEncoder / AudioEncoder traits |
✅ | Streaming push/poll API |
| Windows WMF H.264 encode | ✅ | CPU upload + DX11 texture Zero-Copy; AAC encode |
| NVIDIA NVENC | ✅ | Hardware-verified H.264 / HEVC / AV1 (CPU upload) |
| Intel Quick Sync (oneVPL) | ✅ | Hardware-verified H.264 / HEVC; AV1 not supported on tested iGPU |
| Vulkan Video encode | ✅ | Hardware-verified H.264 + HEVC; AV1 implemented, driver-blocked |
| WebCodecs encode (wasm32) | ✅ | CPU + GPUTexture Zero-Copy via WebGPU canvas |
| Linux VA-API H.264 (CPU upload) | 👻 | Implemented; zero real-hardware verification yet |
auto readback / software path classes |
🛠️ | Policy bits recognized; honest NoBackend error today |
Docs
docs/roadmap.md— stages, deferred items, design decisionsmediaway— convenience pipeline (EncodeSession) over this crate- Root README — codec support matrices (OS / GPU / vendor)
Contributing
Contributions are welcome — open an issue or pull request at github.com/nyxways/mediaway.
License
MIT OR Apache-2.0.