rust-av/Av1an

Cross-platform command-line AV1 / VP9 / HEVC / H264 encoding framework with per scene quality encoding

Rust

1,989

2,467 commits

updated Sep 21, 2026

See the code

README

Av1an

av1an fully utilizing a 96-core CPU for video encoding

Discord server CI tests

Buy Me A Coffee

Av1an is a video encoding framework. It can increase your encoding speed and improve cpu utilization by running multiple encoder processes in parallel. Key features include Target Quality, VMAF plotting, and more available to improve video encoding.

For help with av1an, please reach out to us on Discord or file a GitHub issue.

Features

  • Hyper-scalable video encoding
  • Target Quality mode, using metrics to control the encoder's rate control to achieve the desired video quality
  • VapourSynth script support
  • Cancel and resume encoding without loss of progress
  • Minimal and clean CLI
  • Docker images available
  • Cross-platform application written in Rust

Usage

Av1an is a command-line application that can run on Windows, Linux, and macOS. See the Installation section below for details on how to install it.

For a complete reference, refer to our documentation or run av1an --help.

Examples

Encode a video file with the default parameters:

av1an -i input.mkv -o output.mkv

Or use a VapourSynth script and custom parameters:

av1an -i input.vpy -v "--cpu-used=3 --end-usage=q --cq-level=30 --threads=8" -w 10 --target-quality 95 -a "-c:a libopus -ac 2 -b:a 192k" -l my_log -o output.mkv

Supported encoders

At least one encoder is required to use Av1an. The following encoders are supported:

Note that Av1an requires the executable encoder. If you use a package manager to install encoders, check that the installation includes an executable encoder (e.g. vpxenc, SvtAv1EncApp) from the list above. Just installing the library (e.g. libvpx, libSvtAv1Enc) is not enough.

Installation

Av1an can be installed from package managers, cargo.io, or compiled manually. There are also pre-built Docker images which include all dependencies and are frequently updated.

For Windows users, prebuilt binaries are also included in every release, and a nightly build of the current master branch is also available.

Package managers

Arch Linux & Manjaro: pacman -S av1an Cargo: cargo install av1an

Manual installation

Prerequisites:

Optional:

VapourSynth plugins on Windows

If you want to install the L-SMASH, FFMS2, or BestSource plugins and are on Windows, then you have two installation options. The easiest way is using the included plugin script:

  1. Open your VapourSynth installation directory
  2. Open a command prompt or PowerShell window via Shift + Right click
  3. Run python3 vsrepo.py install lsmas ffms2 bs vszip julek

Developing

See Developing and Contributing for a guide on developing Av1an and prepare for a Pull Request.

aomenc
av1
av1-encoders
docker
docker-container
encoder
ffmpeg
hevc
quality
rav1e
rust
scenes
svt-av1
target-quality
video
vp9
x265

Contributors

(top 30 of 73)

master-of-zen

1,764 commits

shssoichiro

201 commits

redzic

139 commits

n9Mtq4

70 commits

rust-av/Av1an

Cross-platform command-line AV1 / VP9 / HEVC / H264 encoding framework with per scene quality encoding

Rust

1,989

2,467 commits

updated Sep 21, 2026

See the code

README

Av1an

av1an fully utilizing a 96-core CPU for video encoding

Discord server CI tests

Buy Me A Coffee

Av1an is a video encoding framework. It can increase your encoding speed and improve cpu utilization by running multiple encoder processes in parallel. Key features include Target Quality, VMAF plotting, and more available to improve video encoding.

For help with av1an, please reach out to us on Discord or file a GitHub issue.

Features

  • Hyper-scalable video encoding
  • Target Quality mode, using metrics to control the encoder's rate control to achieve the desired video quality
  • VapourSynth script support
  • Cancel and resume encoding without loss of progress
  • Minimal and clean CLI
  • Docker images available
  • Cross-platform application written in Rust

Usage

Av1an is a command-line application that can run on Windows, Linux, and macOS. See the Installation section below for details on how to install it.

For a complete reference, refer to our documentation or run av1an --help.

Examples

Encode a video file with the default parameters:

av1an -i input.mkv -o output.mkv

Or use a VapourSynth script and custom parameters:

av1an -i input.vpy -v "--cpu-used=3 --end-usage=q --cq-level=30 --threads=8" -w 10 --target-quality 95 -a "-c:a libopus -ac 2 -b:a 192k" -l my_log -o output.mkv

Supported encoders

At least one encoder is required to use Av1an. The following encoders are supported:

Note that Av1an requires the executable encoder. If you use a package manager to install encoders, check that the installation includes an executable encoder (e.g. vpxenc, SvtAv1EncApp) from the list above. Just installing the library (e.g. libvpx, libSvtAv1Enc) is not enough.

Installation

Av1an can be installed from package managers, cargo.io, or compiled manually. There are also pre-built Docker images which include all dependencies and are frequently updated.

For Windows users, prebuilt binaries are also included in every release, and a nightly build of the current master branch is also available.

Package managers

Arch Linux & Manjaro: pacman -S av1an Cargo: cargo install av1an

Manual installation

Prerequisites:

Optional:

VapourSynth plugins on Windows

If you want to install the L-SMASH, FFMS2, or BestSource plugins and are on Windows, then you have two installation options. The easiest way is using the included plugin script:

  1. Open your VapourSynth installation directory
  2. Open a command prompt or PowerShell window via Shift + Right click
  3. Run python3 vsrepo.py install lsmas ffms2 bs vszip julek

Developing

See Developing and Contributing for a guide on developing Av1an and prepare for a Pull Request.

aomenc
av1
av1-encoders
docker
docker-container
encoder
ffmpeg
hevc
quality
rav1e
rust
scenes
svt-av1
target-quality
video
vp9
x265

Contributors

(top 30 of 73)

master-of-zen

1,764 commits

shssoichiro

201 commits

redzic

139 commits

n9Mtq4

70 commits

Languages

Rust

99.7%