add ab-av1

This commit is contained in:
JMARyA 2025-06-23 01:44:06 +02:00
parent 4fc56d3efd
commit a422d93c7b
Signed by: jmarya
GPG key ID: 901B2ADDF27C2263
2 changed files with 76 additions and 0 deletions

View file

@ -325,6 +325,7 @@ rev: 2025-01-30
- [artem](./media/artem.md) - [artem](./media/artem.md)
- [auto-palette-cli](./media/auto-palette-cli.md) - [auto-palette-cli](./media/auto-palette-cli.md)
- [metadata](./media/metadata-cli.md) - [metadata](./media/metadata-cli.md)
- [ab-av1](./media/ab-av1.md)
## Network ## Network
- [rclone](./network/rclone.md) - [rclone](./network/rclone.md)

View file

@ -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 <INPUT> --preset <PRESET> --min-vmaf <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 <INPUT> --preset <PRESET> --min-vmaf <MIN_VMAF>
```
Notable options
- `--min-xpsnr` <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 <INPUT> --crf <CRF> --preset <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 <INPUT> --crf <CRF> --preset <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 <REFERENCE> --distorted <DISTORTED>
```
### Command: `xpsnr`
Full XPSNR score calculation, distorted file vs reference file. Works with videos and images.
```sh
ab-av1 xpsnr --reference <REFERENCE> --distorted <DISTORTED>
```