#av1 #vmaf

app ab-av1

AV1 encoding with fast VMAF sampling

8 releases

Uses new Rust 2021

0.3.4 Jun 24, 2022
0.3.3 Jun 17, 2022
0.3.1 Mar 17, 2022
0.2.0 Feb 17, 2022
0.1.1 Feb 5, 2022

#12 in Video

Download history 31/week @ 2022-03-12 22/week @ 2022-03-19 3/week @ 2022-03-26 7/week @ 2022-04-02 8/week @ 2022-04-09 5/week @ 2022-04-16 12/week @ 2022-04-23 11/week @ 2022-04-30 47/week @ 2022-05-07 90/week @ 2022-05-14 24/week @ 2022-05-21 33/week @ 2022-05-28 55/week @ 2022-06-04 32/week @ 2022-06-11 33/week @ 2022-06-18 20/week @ 2022-06-25

145 downloads per month

MIT license

86KB
2K SLoC

ab-av1

AV1 encoding tool with fast VMAF sampling. Uses svt-av1, ffmpeg & vmaf.

Command: auto-encode

Automatically determine the best crf to deliver the min-vmaf and use it to encode a video.

Two phases:

  • crf-search to determine the best --crf value
  • ffmpeg & SvtAv1EncApp to encode using the settings
ab-av1 auto-encode [OPTIONS] -i <INPUT> --preset <PRESET>

Command: crf-search

Interpolated binary search using sample-encode to find the best crf value delivering min-vmaf & max-encoded-percent.

Outputs:

  • Best crf value
  • Mean sample VMAF score
  • Predicted full encode size
  • Predicted full encode time
ab-av1 crf-search [OPTIONS] -i <INPUT> --preset <PRESET>

Command: sample-encode

Encode short video samples of an input using provided crf & preset. This is much quicker than full encode/vmaf run.

Outputs:

  • Mean sample VMAF score
  • Predicted full encode size
  • Predicted full encode time
ab-av1 sample-encode [OPTIONS] -i <INPUT> --crf <CRF> --preset <PRESET>

Command: encode

Simple invocation of ffmpeg & SvtAv1EncApp to encode a video.

ab-av1 encode [OPTIONS] -i <INPUT> --crf <CRF> --preset <PRESET>

Command: vmaf

Simple full calculation of VMAF score distorted file vs reference file.

ab-av1 vmaf --reference <REFERENCE> --distorted <DISTORTED>

Install

Arch Linux

Available in the AUR.

Using cargo

Latest release

cargo install ab-av1

Latest code direct from git

cargo install --git https://github.com/alexheretic/ab-av1

Requirements

  • svt-av1
  • ffmpeg
  • vmaf
  • opus

ffmpeg, SvtAv1EncApp commands should be in $PATH.

Minimum supported rust compiler

Maintained with latest stable rust.

Dependencies

~8–15MB
~266K SLoC