From a422d93c7b8a1b5dfd812fe5677f7789592dda82 Mon Sep 17 00:00:00 2001 From: JMARyA Date: Mon, 23 Jun 2025 01:44:06 +0200 Subject: [PATCH] add ab-av1 --- technology/applications/Applications.md | 1 + technology/applications/media/ab-av1.md | 75 +++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 technology/applications/media/ab-av1.md diff --git a/technology/applications/Applications.md b/technology/applications/Applications.md index 7b94900..7d552e6 100644 --- a/technology/applications/Applications.md +++ b/technology/applications/Applications.md @@ -325,6 +325,7 @@ rev: 2025-01-30 - [artem](./media/artem.md) - [auto-palette-cli](./media/auto-palette-cli.md) - [metadata](./media/metadata-cli.md) +- [ab-av1](./media/ab-av1.md) ## Network - [rclone](./network/rclone.md) diff --git a/technology/applications/media/ab-av1.md b/technology/applications/media/ab-av1.md new file mode 100644 index 0000000..238295c --- /dev/null +++ b/technology/applications/media/ab-av1.md @@ -0,0 +1,75 @@ +--- +obj: application +repo: https://github.com/alexheretic/ab-av1 +--- + +# ab-av1 +AV1 video encoding tool with fast VMAF sampling & automatic encoder crf calculation. Uses [`ffmpeg`](./ffmpeg.md), `svt-av1` & `vmaf`. + +## Usage +### Command: `auto-encode` +Automatically determine the best crf to deliver the `--min-vmaf` and use it to encode a video or image. + +Two phases: +- `crf-search` to determine the best `--crf` value +- `ffmpeg` to encode using the settings + +```sh +ab-av1 auto-encode [OPTIONS] -i --preset --min-vmaf +``` + +### 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 + +```sh +ab-av1 crf-search [OPTIONS] -i --preset --min-vmaf +``` + +Notable options +- `--min-xpsnr` may be used as an alternative to VMAF. + +### 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 + +```sh +ab-av1 sample-encode [OPTIONS] -i --crf --preset +``` + +Notable options +- `--xpsnr` specifies calculation of XPSNR score instead of VMAF. + +### Command: `encode` +Invoke `ffmpeg` to encode a video or image. + +```sh +ab-av1 encode [OPTIONS] -i --crf --preset +``` + +### Command: `vmaf` +Full VMAF score calculation, distorted file vs reference file. Works with videos and images. + +- Auto sets model version (4k or 1k) according to resolution. +- Auto sets n_threads to system threads. +- Auto upscales lower resolution videos to the model. + +```sh +ab-av1 vmaf --reference --distorted +``` + +### Command: `xpsnr` +Full XPSNR score calculation, distorted file vs reference file. Works with videos and images. + +```sh +ab-av1 xpsnr --reference --distorted +```