ab-av1
2 min read
AV1 video encoding tool with fast VMAF sampling & automatic encoder crf calculation. Uses ffmpeg, 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>

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>