# media-rs
[](https://crates.io/crates/media)
[](https://docs.rs/media)
[](LICENSE-APACHE)
[](LICENSE-MIT)
A pure Rust media framework for handling multimedia tasks such as encoding, decoding, capture, playback, processing.
## Features
### Core
- [x] **Media Types** - Define common media types
- [x] **Media Frame** - Represent audio and video frame data, including hardware abstraction
- [x] **Video Pixel Format Conversion** - Convert between RGB, YUV, and other pixel formats
- [x] **Video Scaling** - Scale video resolution
- [x] **Audio Sample Format Conversion** - Convert between different audio sample formats
- [ ] **Audio Resampling** - Resample audio sample rates
### Device
- **Camera**
- [x] **AVFoundation** (macOS/iOS)
- [x] **Media Foundation** (Windows)
- [ ] **V4L2** (Linux)
- **Speaker/Microphone**
- [ ] **Core Audio** (macOS/iOS)
- [ ] **WASAPI** (Windows)
- [ ] **ALSA** (Linux)
- [ ] **PulseAudio** (Linux)
### Codec
- **Video Encoders**
- [ ] **H.264/AVC**
- [ ] **VP8/VP9**
- [ ] **AV1**
- **Video Decoders**
- [ ] **H.264/AVC**
- [ ] **VP8/VP9**
- [ ] **AV1**
- **Audio Encoders**
- [ ] **AAC**
- [ ] **Opus**
- **Audio Decoders**
- [ ] **AAC**
- [ ] **Opus**
### Filter
- **Video Filters** - Process video and apply effects
- **Audio Filters** - Process audio and apply effects