FFmpeg 4.2.10
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

This option can enable/disable the score_transform applied to the final predicted VMAF score, if you have specified score_transform option in the input parameter file passed to run_vmaf_training.py Default value: false

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:log_fmt=json" -f null -