Avelune

An experimental audio/video codec and indexed streaming container written in Rust.

Draft Generation 1 is under active development. Bitstreams, APIs, and decoded semantics may change incompatibly while the project is 0.x.

What you can use now

Install the CLI

The installer clones the repository and builds the CLI from source with the pinned Rust toolchain. Ordinary media input and output also requires FFmpeg.

curl -fsSL https://not-the-ccp.github.io/avelune/install.sh | sh

Read the install script before running it, or follow the CLI guide for a manual build.

Formats

Avelune currently defines separate video and audio bitstreams inside an indexed container.

ALV1
Lossy or lossless 8-bit 4:2:0 video.
ALA1
Lossy or lossless audio. The lossy mode is still an experimental research area.
AVL
A CRC-protected container with a front index and independently addressable epochs.

Indexed playback

AVL puts the epoch index at the front of the file. A player can read that index first and fetch only the byte ranges needed for playback or seeking.

Browser streaming architecture
  1. Front indexstream descriptors and epoch byte ranges
  2. Epoch rangethe requested part of the file
  3. ALV1 / ALA1video and audio packets
  4. Decoderframes and PCM for presentation

Project status

Avelune is a working research implementation, not a production codec. Compression efficiency and performance are behind mature codecs on tested general video, and no compatibility or security-audit guarantee is offered during the 0.x draft phase.

Current implementation and limitations
avelune encode input.mkv output.avl
avelune verify output.avl
avelune inspect output.avl