Obtain the average VMAF (Video Multi-Method Assessment Fusion) score between two input videos.
This filter takes two input videos.
Both video inputs must have the same resolution and pixel format for this filter to work correctly. Also it assumes that both inputs have the same number of frames, which are compared one by one.
The obtained average 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
.
If no model path is specified it uses the default model: vmaf_v0.6.1.pkl
.
On the below examples the input file main.mpg being processed is compared with the reference file ref.mpg.
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 to be used for computing vmaf.
This filter also supports the framesync options.
For example:
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 -