47 releases (19 breaking)
Uses new Rust 2024
| new 0.20.4 | Aug 6, 2026 |
|---|---|
| 0.20.2 | Jul 27, 2026 |
| 0.15.4 | Mar 25, 2026 |
| 0.9.1 | Dec 19, 2025 |
| 0.1.0 | Mar 24, 2025 |
#1903 in Network programming
22,535 downloads per month
Used in 19 crates
(18 directly)
1.5MB
36K
SLoC
hang
A media library built on top of moq-lite for streaming audio and video.
hang provides media-specific functionality, split into a few components:
- Broadcast: A discoverable collection of tracks, documented using a catalog.
- Catalog: Metadata describing the available tracks, codec information, etc. This is a live track itself and is updated as tracks are added/removed/changed.
- Timeline: A per-track index mapping each of a media track's groups to its start timestamp, so consumers can seek (or build playlists) without downloading media. Advertised in the media track's catalog entry; itself a live track.
- Track: Audio/video streams, as well as other types of data.
- Group: A group of pictures (video) or collection of samples (audio). Each group is independently decodable.
- Frame: A timestamp and a codec payload pair.
Supported Codecs
We most of the implement the WebCodecs specification.
- Video: H.264, H.265, VP8, VP9, AV1
- Audio: AAC, Opus
CMAF Import
For importing fMP4/CMAF files, see the moq-mux crate. For HLS, see the moq-hls crate.
Examples
Dependencies
~12–18MB
~255K SLoC