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.

Book cover: Video Streaming, Volume 3 of the Fora Soft Video Engineering HandbookBook cover: Video Encoding, Volume 1 of the Fora Soft Video Engineering HandbookBook cover: AI for Video, Volume 6 of the Fora Soft Video Engineering Handbook

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.

Browse the handbook on Amazon →7 volumes · 9,000+ pages · Kindle & paperback

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.

Book a 30-min call →WhatsApp →Email us →