9 unstable releases
| 0.5.0 | Oct 2, 2025 |
|---|---|
| 0.4.4 | Dec 28, 2024 |
| 0.4.3 | Aug 30, 2024 |
| 0.4.1 | Mar 13, 2023 |
| 0.1.0 | Aug 30, 2021 |
#686 in Video
32 downloads per month
Used in 2 crates
430KB
10K
SLoC
Av1an
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:
- FFmpeg
- VapourSynth
- At least one encoder
Optional:
- L-SMASH VapourSynth plugin for better chunking (recommended)
- DGDecNV Vapoursynth plugin for very fast and accurate chunking,
dgindexnvexecutable needs to be present in system path and an NVIDIA GPU with CUVID - FFMS2 VapourSynth plugin for better chunking
- BestSource Vapoursynth plugin for slow but accurate chunking
- mkvmerge to use mkvmerge instead of FFmpeg for file concatenation
- VMAF to calculate VMAF scores and to use Target Quality mode
- XPSNR to calculate XPSNR scores and to use Target Quality mode
- Vapoursynth-HIP to calculate SSIMULACRA2 or Butteraugli scores with hardware acceleration on supported GPUs for Target Quality mode
- Vapoursynth-Zig Image Process to calculate SSIMULACRA2 or XPSNR scores for Target Quality mode
- vapoursynth-julek-plugin to calculate Butteraugli scores for Target Quality mode
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:
- Open your VapourSynth installation directory
- Open a command prompt or PowerShell window via Shift + Right click
- 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.
Dependencies
~20–34MB
~533K SLoC
