Back

Blog details

What Is VMAF? How Netflix's Video Quality Score Works

AIOZ Network
6 min readAugust 27, 2026
aioz-streamguide
What is VMAF: how the 0-100 video quality score works

VMAF (Video Multi-Method Assessment Fusion) is a 0-100 video quality score from Netflix that predicts how viewers would rate an encode against its source. It fuses several picture-quality features through a model trained on real viewer ratings, so it tracks what people see far better than PSNR.

That matters for you because VMAF turns "is this bitrate good enough?" into a number you can target. It also sits inside AIOZ Stream's own quality-of-experience model as the perceived-quality term.

TL;DR:

  • VMAF fuses several picture-quality features into one 0-100 score using a machine-learning model trained on human viewers, not a fixed math formula.
  • It correlates with human judgment far better than PSNR or plain SSIM, around 0.93-0.96 versus roughly 0.6-0.7, per Netflix's own published validation.
  • There is no single VMAF model. The 1080p, 4K and phone models assume different screens and viewing distances, so a raw number means little without the model name.
  • Sharpening and other enhancement filters can inflate VMAF, which is why Netflix built a separate "No Enhancement Gain" mode for fair codec comparisons.
  • AIOZ Stream's QoE model uses VMAF as its perceived-quality term. Its docs say "No single metric is mandatory" and call VMAF "a good proxy that correlates with human perception."

VMAF vs PSNR and SSIM: why the old metrics fall short

PSNR measures the mathematical difference between a compressed frame and its source, pixel by pixel. It does not know that a little blur in a busy, fast scene is nearly invisible, while the same numeric error on a static close-up of skin is obvious. SSIM improved on this by comparing local structure and contrast instead of raw pixel values. It is a real step up, but it is still a mathematical proxy, and nobody trained it on what viewers report seeing. Netflix's published validation puts PSNR's correlation with human scores at roughly 0.6 to 0.7. That is fine if you want a rough comparison, but too loose to base your per-title encoding decisions on.

Video quality comparison on a monitor representing perceptual video quality measurement

How is a VMAF score calculated?

VMAF does not invent a new way of comparing pixels. It combines several existing ones and lets a trained model decide how much weight each deserves. The inputs include VIF (Visual Information Fidelity, computed at four spatial scales) and ADM (Detail Loss Metric, which separates lost detail from added noise). A temporal feature tracks motion from frame to frame.

Those features feed a regression model. The original used a support vector machine with a radial basis kernel, and Netflix's newer bootstrap models use a random-forest variant. Netflix trained it on subjective scores collected in its own lab, where viewers rated clips on a calibrated 1080p display at a fixed distance. The model learns the mapping from feature values to how a panel of people rated the clip. When you run VMAF, you get that learned prediction, which PSNR and SSIM never give you.

What is a good VMAF score?

A score of 100 means the encode is perceptually indistinguishable from its reference, and 0 means it looks nothing like it. The scale lines up with a five-point rating panel ("bad, poor, fair, good, excellent"), with "bad" mapped to roughly 20 and "excellent" to 100. Streaming Learning Center found that a score around 70 lands between "fair" and "good" under the standard 1080p viewing condition. Scores in the mid-90s land in "excellent."

Common encoding guidance built on that scale reads like this. You can treat 90-95 as excellent for a large screen and 80-89 as good enough for social or fast-moving content. 70-79 is acceptable under tight bandwidth, and anything below 70 looks degraded. None of these bands is an official Netflix cutoff; they are engineering practice built on top of the score.

The bands matter most when you pick the top rung of a bitrate ladder. Instead of encoding every title at one fixed top bitrate, an encoder can search for the lowest bitrate that clears a target score, often 93-95 for the highest rendition. A slow talking-head video may clear that target at a much lower bitrate than a fast sports clip. A one-size-fits-all top rate either wastes bandwidth on easy content or shortchanges hard content. That is the economic case for VMAF: it turns "what bitrate is good enough" from a guess into a measurable target.

Which VMAF model should you use?

A VMAF score does not carry over between viewing conditions the way a resolution or bitrate number does. Netflix's model documentation ships a default model for 1080p viewed at three times the screen height. A separate 4K model assumes a closer 1.5 times the screen height, and a phone model covers small screens. The same distorted video looks better on a small screen held close than on a large TV.

So a 4K-model score and a 1080p-model score are not comparable, and a bare number without the model name changes meaning. This trips up teams that should know better. Say your QA pipeline runs the 1080p model against 4K masters, or tests a mobile-first product with the TV model. It will flag problems your audience never sees and miss ones it does. The fix is consistency. Pick the model that matches your target screen and viewing distance, and record which model produced each score wherever you report it.

What VMAF gets wrong

Two limits are worth taking seriously. First, you can compare VMAF scores only between encodes of the same source. Netflix's own example: a stream made from a standard-definition source that scores 99 does not look as good as an HD source that scores 99. Both are near-perfect copies of very different starting points.

Second, enhancement filters can game VMAF, on purpose or not. A sharpening pass can push the score up without bringing the video closer to a clean source, because sharpening changes the edge detail that VMAF's ADM feature is sensitive to. Netflix built a "No Enhancement Gain" (NEG) variant to strip that effect out of codec comparisons. In that test you want to know how well the compression performs, not how much a pre-processing filter flattered it.

How AIOZ Stream handles it

On AIOZ Stream, VMAF is the perceived-quality term in the platform's QoE model. The QoE metrics docs give it as "QoE ≈ Perceived quality (VMAF) - Rebuffer penalty - Startup penalty + Stability" and say it is not a rigid formula but a practical way to reason about trade-offs. Their starting target for average VMAF is to "aim for high and steady rather than chasing the maximum with frequent swings."

The docs also answer whether you must compute it. In their FAQ, "Is VMAF required?" gets the reply: "No single metric is mandatory. VMAF is a good proxy that correlates with human perception, but use it alongside A/B tests and your own support data." The QoE article covers the full set of metrics and their startup and rebuffer targets. Next step: read the AIOZ Stream QoE metrics docs.

Frequently Asked Questions

What is VMAF?
VMAF (Video Multi-Method Assessment Fusion) is Netflix's 0-100 video quality metric. It compares an encode with its source and predicts how viewers would rate it, using a model trained on human ratings.

Is a higher VMAF score always better?
Within the same source and the same model, yes, so you can rank encodes of one title. Across different sources or different VMAF models (1080p, 4K, phone), scores are not directly comparable.

What VMAF score should I target for a top-quality encode?
Encoding guidance built on Netflix's scale treats 90-95 as excellent and anything above 95 as visually transparent for most viewers. That is downstream practice, not an official Netflix threshold, and it depends on which model you use.

Can VMAF be fooled by sharpening filters?
Yes. Sharpening can raise a VMAF score without a real quality gain, which is why Netflix built the No Enhancement Gain (NEG) variant for fair codec comparisons.

Is VMAF the same as PSNR or SSIM?
No. PSNR and SSIM are mathematical comparisons between two images. VMAF fuses several such features (including VIF and ADM) through a model trained on human ratings, which is why it tracks perceived quality far better.

Does AIOZ Stream require VMAF?
No. AIOZ Stream's QoE docs say "No single metric is mandatory" and describe VMAF as a good proxy to use alongside A/B tests and your own support data.

Why does viewing distance matter for a VMAF score?
The same encode looks different at different distances and screen sizes. Netflix ships separate models for 1080p TV viewing, 4K TV viewing and phone screens for this reason.

References

We only send updates when meaningful changes ship, and you can unsubscribe anytime

Related Content

blog thumbnail

What Is Video Encoding? Codecs, Containers and Bitrate

Video encoding compresses raw video with a codec, then a container packages it for playback. See how codecs, containers, bitrate and rate control fit together.

aioz-streamguide
8 min readNovember 05, 2026
blog thumbnail

Video Streaming Protocols: HLS, DASH, WebRTC, RTMP and SRT

Video streaming protocols move video from encoder to viewer. See how RTMP, SRT, HLS, DASH and WebRTC differ in latency, transport and where each one fits.

aioz-streamguide
7 min readNovember 04, 2026
blog thumbnail

What Is Decentralized Live Streaming and How Does It Work?

Decentralized live streaming sends a real-time broadcast through independently run nodes instead of one company's servers. Here's how each stage of it works.

aioz-streamguide
6 min readNovember 03, 2026
blog thumbnail

Video Streaming Glossary: Codecs, Protocols and Delivery A-Z

A video streaming glossary of 114 terms, from AAC and ABR to WebRTC and Widevine, each defined in plain English with sources and links to the deep posts.

aioz-stream
23 min readOctober 31, 2026
blog thumbnail

Monitor Livestream Health With Bitrate, FPS and Viewer Count

Read the AIOZ Stream Statistics panel: bitrate in and out, FPS in and out and current viewers, plus the documented rules for each and what the docs leave out.

aioz-streamguide
6 min readOctober 30, 2026
blog thumbnail

How to Embed a Livestream on Your Website (Link or iFrame)

Embed an AIOZ Stream livestream with the Share button's iframe or send the Public Playback URL as a link. Covers API fields, public access limits and doc gaps.

aioz-streamguide
6 min readOctober 27, 2026