Cross-platform command-line AV1 / VP9 / HEVC / H264 encoding framework with per scene quality encoding
Find a file
woot000 e10880d413
Add additional flags, options (#671)
* Add never overwrite -n flag

Acts as the opposite of the overwrite -y flag

* Add --scaler flag

This allows the user to control which scaling algorithm is used during scene detection downscaling and VMAF calculations, and also allows the width of the lanczos scaler to be selected from 1 to 9

* Add inputres option for --vmaf-res

This allows the user to have VMAF calculations use the input resolution automatically, without having to type it in manually per file

* Change progress bar characters for Windows

This looks smoother on the default Windows command prompt

* Add --extra-splits-sec option

Allows the user to specify extra splits in seconds. If both frames and seconds are specified, frames will take priority

* Add --ignore-frame-mismatch flag

Allows the user to ignore any reported frame mismatches between the encoder and chunk frame counts, which is useful if an ffmpeg filter changes the frame count, or the input video is encoded badly (ex. "Missing key frame while searching for timestamp" ffmpeg warning)

* formatting

* Fix compilation

oops

---------

Co-authored-by: Josh Holmer <jholmer.in@gmail.com>
2023-06-25 14:52:30 -04:00
.cargo Fix x264/x265, Disable multiplexing (#290) 2021-07-11 14:36:31 +03:00
.devcontainer
.github/workflows Action: Tag latest, update versions, add docker-publish checker (#741) 2023-04-01 03:04:06 +03:00
av1an Add additional flags, options (#671) 2023-06-25 14:52:30 -04:00
av1an-core Add additional flags, options (#671) 2023-06-25 14:52:30 -04:00
docs Add additional flags, options (#671) 2023-06-25 14:52:30 -04:00
.codeclimate.yml
.gitignore Add mergify config (#445) 2021-12-15 17:58:00 -05:00
.mergify.yml ci(Mergify): configuration update 2023-03-27 13:34:38 -04:00
Cargo.lock Bump rav1e dependency (#757) 2023-05-10 14:15:40 +03:00
Cargo.toml Av1an 0.4.0 2022-12-19 18:26:16 +02:00
Dockerfile Reenable cargo chef (#647) 2022-07-05 01:19:20 +00:00
LICENSE.md
MANIFEST.in
README.md Readme changes (#651) 2022-07-13 09:32:59 +00:00
rustfmt.toml Consolidate import style in rustfmt.toml (#619) 2022-04-20 20:24:55 +00:00

Av1an

av1an fully utilizing a 96-core CPU for video encoding

Discord server CI tests

Av1an is a video encoding framework. It can increase your encoding speed and improve cpu utilization by running multiple encoder processes in parallel. Target quality, VMAF plotting, and more, available to take advantage for video encoding.

Features

  • Hyper-scalable video encoding
  • Target Quality mode, using VMAF control encoders 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

For complete reference, refer to CLI or run av1an --help

Encode a video file with the default parameters:

av1an -i input.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 compliled 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:

  • L-SMASH VapourSynth plugin for better chunking (recommended)
  • ffms2 VapourSynth plugin for better chunking
  • mkvmerge to use mkvmerge instead of FFmpeg for file concatenation
  • VMAF to calculate VMAF scores and to use target quality mode

VapourSynth plugins on Windows

If you want to install the L-SMASH or ffms2 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

Support the developer

Bitcoin - 1GTRkvV4KdSaRyFDYTpZckPKQCoWbWkJV1