VMAF Explained: Measuring Video Quality the Way People Watch
Author
Brandon Cade
Date Published
If you have ever picked an encoding setting by watching PSNR go up and then found the result looked worse than a lower-PSNR alternative, you have met the problem VMAF was built to solve. Traditional signal metrics measure error. Viewers do not perceive error linearly, and they do not weight all errors equally.
Netflix ran into this at a scale where guessing was expensive. Serving one library to hundreds of millions of screens, at bitrates from a phone on cellular to a 4K panel, they needed a number that predicted what a human would actually say about a clip, not just how far its pixels drifted from the source.
VMAF is that number. It stands for Video Multi-Method Assessment Fusion, and instead of trusting one signal it combines several and learns, from real human ratings, how to weigh them.
Key Takeaways
- VMAF (Video Multi-Method Assessment Fusion) predicts perceived video quality by fusing multiple elementary metrics with a machine learning model trained on human opinion scores.
- Netflix developed it and released it as open source in 2016, and it is now a standard tool in the encoding industry (Netflix Technology Blog, 2016).
- It combines detail loss, visual information fidelity, and a motion signal, then maps them to a 0 to 100 scale where roughly 100 means indistinguishable from the source.
- Its strengths are scale and correlation with real viewers. Its limits are that it reflects the content it was trained on, misses some distortions like banding, and can be gamed by optimizing directly for the score.
- VMAF is the engine behind per-title and per-shot encoding, where each piece of content gets the bitrate ladder it actually needs instead of one fixed ladder for everything.
What is VMAF, and what does it actually measure?
VMAF is a full-reference video quality metric: it compares an encoded video against its pristine source, frame by frame, and outputs a score from 0 to 100 that estimates how a viewer would rate it. Netflix built and open-sourced it to make encoding decisions at scale that matched human perception rather than raw error (Netflix Technology Blog, 2016).
The key word is "fusion." Rather than betting on a single formula, VMAF computes several elementary metrics that each capture a different kind of degradation, then combines them. A trained model decides how much each one should count. The output is designed so that a score near 100 corresponds to quality indistinguishable from the reference, and the middle of the range maps to the differences viewers notice but tolerate.
That framing matters because it is honest about what the number is: a prediction of a human opinion score, not a physical measurement. It carries all the strengths of that approach and all the caveats, which is exactly the tension we explore across metrics in PSNR vs SSIM vs looks good to humans.
How was VMAF built?
VMAF was built by fusing three elementary metrics with a supervised model trained on subjective ratings. The components, as documented by Netflix, are a detail loss metric, a visual information fidelity measure across multiple scales, and a motion feature that captures temporal difference between adjacent frames (Netflix Technology Blog, 2016).
Each component targets a real perceptual effect. Detail loss captures the softening and texture removal that compression causes. Visual information fidelity, drawn from earlier image-quality research, models how much of the source's information survives. The motion term matters because the eye forgives more error in fast motion than in a still, slow scene, so a good predictor has to know how much is moving.
The fusion step is where the learning happens. Netflix showed viewers a large set of clips at different distortion levels, collected their opinion scores, and trained a support vector regressor to map the elementary metrics onto those human ratings. So VMAF is not a hand-tuned equation. It is a model fit to what people said, which is why it tracks perception better than any of its parts alone. That same "fit to human judgment" idea underpins learned image metrics too, as we cover in how AI models judge visual quality.
Why does VMAF beat PSNR for encoding decisions?
Because PSNR measures the size of the error and VMAF estimates how much that error bothers a viewer, and those are not the same thing. Two encodes can share a PSNR value while one looks clearly worse, because PSNR spreads its attention evenly while human vision does not. VMAF was trained to reproduce the human weighting directly.
The practical payoff shows up in bitrate decisions. On a simple, slow scene, viewers notice small compression artifacts, so quality has to stay high. On a chaotic action shot, the same bitrate hides far more, so you can spend fewer bits for the same perceived result. PSNR is blind to that context. VMAF, with its motion term and its training on real ratings, captures a good part of it.
This is precisely the argument that file size and even signal error are the wrong things to optimize in isolation, which we make at length in why file size is the wrong metric. The right target is perceived quality per byte, and VMAF was one of the first widely adopted tools to make that target measurable at industrial scale.
What is per-title and per-scene encoding?
Per-title encoding means choosing a bitrate ladder for each piece of content based on its actual complexity, instead of applying one fixed ladder to the whole catalog. Netflix introduced the idea publicly and later refined it toward per-shot optimization, where the analysis happens at the level of individual shots rather than the whole title (Netflix Technology Blog, 2015).
The logic follows directly from the metric. A cartoon and a grainy film need very different bitrates to reach the same VMAF score, so giving them the same ladder either wastes bytes on the simple one or starves the hard one. Per-title encoding uses a quality metric, VMAF among them, to find the point where adding more bits stops meaningfully raising perceived quality.
Per-scene, or per-shot, pushes this finer. A two-hour film is not uniformly complex; a quiet dialogue scene and an explosion have different needs within the same title. Analyzing at the shot level lets the encoder spend bits where the eye will actually see them. It is the same philosophy Inverity applies to images: decide per asset, not per library, which we lay out in why blanket compression hurts your CMS.
What are the limits of VMAF?
Important ones. VMAF is a learned predictor, so it reflects the content, distortions, and viewing conditions it was trained on, it misses some artifact types entirely, and, like any metric, it can be gamed if you optimize directly against it. Netflix has been candid that VMAF has known blind spots and continues to evolve.
The training-distribution limit is the big one. The model learned from a particular set of clips, distortion types, and a standard viewing setup. Feed it content far outside that, screen recordings, synthetic graphics, unusual noise, and its predictions get less reliable. A high VMAF on out-of-distribution content is a weaker guarantee than the same score on typical film.
It also has specific perceptual gaps. VMAF is not designed to catch banding well, the visible steps in smooth gradients that come from too few bits of color depth, which is a distortion viewers find very annoying. That failure matters enough that we treat it on its own in the context of HDR and wide-gamut images on the web without banding. And because VMAF is a model, encoders that tune settings purely to raise VMAF can produce clips that score well while introducing artifacts the score does not penalize. The metric is a strong guide, not a substitute for looking.
How does VMAF fit a perceptual view of quality?
It fits as a landmark and a lesson. VMAF proved, at the scale of one of the largest video services in the world, that measuring perceived quality beats measuring raw error, and that a metric fit to human judgment can run production decisions (Netflix Technology Blog, 2016). That is the same conviction Inverity is built on.
The lesson is that even the best single perceptual metric has blind spots, so quality decisions cannot ride on one number. The discipline is to choose the metric that fits the content, cross-check against others, and verify every output against a floor tied to the source. Our Neural Media Orchestrator applies that discipline per asset, holding a structural similarity floor of at least 0.975 against the original and falling back rather than shipping anything that cannot clear it. The wider framework is in the complete guide to perceptual media optimization, and our test protocol is in how we benchmark.
Frequently Asked Questions
What does VMAF stand for?
VMAF stands for Video Multi-Method Assessment Fusion. It is a full-reference video quality metric developed by Netflix that combines several elementary metrics with a machine learning model trained on human opinion scores, producing a 0 to 100 estimate of perceived quality.
What is a good VMAF score?
Scores near 100 mean quality close to indistinguishable from the source. Many streaming workflows treat roughly 93 and above as visually transparent for typical content, but the right target depends on content, screen size, and viewing distance, so it is a guideline rather than a fixed rule.
Is VMAF better than PSNR and SSIM?
For predicting how viewers rate a video, VMAF generally correlates better because it fuses multiple signals and is trained on human ratings. PSNR and SSIM are cheaper and still useful, but they measure error rather than perceived annoyance, so they can disagree with viewers.
What is per-title encoding?
Per-title encoding assigns a bitrate ladder to each piece of content based on its complexity instead of using one fixed ladder for the whole catalog. A simple cartoon needs far fewer bits than grainy film to reach the same perceived quality, so tailoring the ladder saves bandwidth.
Can VMAF be fooled?
Yes. Because VMAF is a trained model, encoders tuned to maximize it can produce results that score well while introducing artifacts the metric does not penalize, such as some forms of banding. It is a strong guide but should be paired with other checks and human review.
The point
VMAF changed the default. Before it, a lot of encoding was optimized against error metrics that did not match what viewers saw, and the gap cost real bandwidth and real quality. By fusing several signals and fitting them to human ratings, Netflix made perceived quality a number you could actually engineer against.
It is not the last word, and it was never meant to be. VMAF has blind spots, reflects its training data, and can be gamed, which is the same caution that applies to every metric, learned or hand-built. Pick the measure that fits the content, verify against the source, and keep a human in the loop. That is how you turn a good metric into a trustworthy decision, and it is the thread running through the complete guide to perceptual media optimization.