FFmpeg 4.1.11
Since* 3.4
#

Obtain the VMAF (Video Multi-Method Assessment Fusion) score between two input videos.

The obtained VMAF score is printed through the logging system.

It requires Netflix’s vmaf library (libvmaf) as a pre-requisite. After installing the library it can be enabled using: ./configure --enable-libvmaf --enable-version3. If no model path is specified it uses the default model: vmaf_v0.6.1.pkl.

The filter has following options:

model_path

Set the model path which is to be used for SVM. Default value: "vmaf_v0.6.1.pkl"

log_path

Set the file path to be used to store logs.

log_fmt

Set the format of the log file (xml or json).

enable_transform

Enables transform for computing vmaf.

phone_model

Invokes the phone model which will generate VMAF scores higher than in the regular model, which is more suitable for laptop, TV, etc. viewing conditions.

psnr

Enables computing psnr along with vmaf.

ssim

Enables computing ssim along with vmaf.

ms_ssim

Enables computing ms_ssim along with vmaf.

pool

Set the pool method (mean, min or harmonic mean) to be used for computing vmaf.

n_threads

Set number of threads to be used when computing vmaf.

n_subsample

Set interval for frame subsampling used when computing vmaf.

enable_conf_interval

Enables confidence interval.

This filter also supports the framesync options.

On the below examples the input file main.mpg being processed is compared with the reference file ref.mpg.

ffmpeg -i main.mpg -i ref.mpg -lavfi libvmaf -f null -

Example with options:

ffmpeg -i main.mpg -i ref.mpg -lavfi libvmaf="psnr=1:enable-transform=1" -f null -