libvmaf is the open-source library, written by Netflix, that takes two streams of frames and computes quality metrics on them. Its name carries the headline metric, VMAF, but the same library also computes PSNR, SSIM, its multi-scale variant MS-SSIM, and the colour-difference measure CIEDE2000, so one pass can hand you several metrics at once. In practice it is most often used as an FFmpeg filter: FFmpeg is the engine that decodes the files and feeds frames in matched pairs to libvmaf, which produces the numbers. Netflix's own vmaf command-line tool wraps the same library, and the score should agree across them because the model is shared. The catches are operational rather than mathematical: the distorted input must be named before the reference, both frames must be at the same resolution, and the model and its version must be recorded, because a VMAF number without its model named is unreadable.


The handbook · 7 volumes
Fora Soft Video Engineering Handbook
libvmaf is the open-source engine behind VMAF scoring in FFmpeg, and the model and options you pick change the numbers. We wrote seven volumes covering the whole video stack, and for libvmaf start with Volume 1: VMAF models, PSNR and SSIM, scaling and alignment, and encoder settings for H.264, HEVC and AV1. Written by Nikolay Sapunov, CEO at Fora Soft.
Getting libvmaf scores that differ between machines or runs?
Share your libvmaf setup and files: we fix model, scaling and alignment options and give you a repeatable measurement script. 250+ video products shipped since 2005.