World’s largest virtual agentic engineering & quality conference

WHENAUG 19-21
WHEREVirtual · Global
Register Now
TestingAutomation Testing

Video Quality Testing: From VMAF Scores to Playback QoE

Video quality testing explained: how reference scores like VMAF differ from delivery metrics, where the two disagree, and what to measure on real devices.

Author

Sushobhit Dua

Author

Author

Siddhant Sinha

Reviewer

Last Updated on: August 18, 2026

A team ships a new encoding ladder. The dashboard shows the reference score went up on every rendition, the release notes say quality improved, and within a day support is fielding complaints that videos take forever to start on older Android phones.

Both things are true at once. The encode did get better and the viewers did get a worse experience, because the two were never measuring the same thing.

TL;DR

Video quality testing measures two separate things that are easy to confuse: how closely an encoded file resembles its source, scored by reference metrics like VMAF, and what a viewer actually experienced during playback, measured by delivery metrics like start time and rebuffering ratio. A release can improve one while breaking the other.

  • Reference metrics compare an encode against its source and tell you whether the encoder is doing its job.
  • Delivery metrics describe a real session and tell you whether the viewer received what the encoder produced.
  • PSNR measures raw signal error and penalises differences a viewer would never notice.
  • SSIM compares structural information, which tracks human perception more closely than raw error does.
  • VMAF fuses several measures and is tuned against human ratings, which is why it can rank encodes differently from the other two.
  • A high reference score is not a shipping decision, because it says nothing about start time, stalls, or a device that cannot decode the codec at all.
  • Video startup delay is the quality metric with the clearest link to viewers abandoning a stream, so it belongs in the release gate rather than in a monthly report.
  • Video playback testing cannot be settled on emulators, because they do not reproduce a real hardware video decoder, thermal throttling, or battery-driven throttling.
  • Split the work by cost: reference scoring on a short clip runs per build, and device playback runs on merge and before release.
  • Assert on agreed thresholds and regressions against the previous release rather than on absolute quality numbers.

What Video Quality Testing Covers

Video quality testing measures both how good a video looks compared to its source and how reliably it reaches the person watching. Those are different questions with different tooling, and most confusion in this area comes from a team measuring one and making claims about the other.

The delivery half carries the sharper business consequence. In a large-scale study of viewer behaviour presented at the ACM Internet Measurement Conference, Krishnan and Sitaraman found that viewers begin to abandon a video if it does not start within two seconds, and beyond that point every additional second of delay produced roughly a 5.8 percent increase in the abandonment rate, as reported by ScienceDaily.

No encoder setting fixes a two-second startup. That is a delivery problem, and it is invisible to every metric that looks only at pixels.

Two Families of Metric

Keeping the families apart is most of the discipline.

  • Reference-based scores - run offline against a file, deterministic, repeatable, and cheap. They answer whether this encode is a faithful version of that source.
  • Delivery metrics - collected from a real playback session on a real network. They answer whether a viewer got a watchable stream, and they cannot be computed from a file alone.

The audio equivalent splits the same way, and the reasoning transfers almost line for line if you also ship voice, as covered in voice quality testing.

Reference-Based Scores

Three metrics dominate, and they disagree because they were built to measure different things.

MetricWhat it comparesWhere it misleads
PSNRRaw signal error between pixelsPunishes changes a viewer cannot see, such as mild noise differences
SSIMStructural similarity, closer to how vision worksStill blind to how distracting an artifact feels in motion
VMAFSeveral measures fused and tuned against human ratingsReflects the viewing setup it was trained for, so scores are not universal

Running one is unglamorous, which is the point: the same clip and the same command give the same number every time, so it belongs in the pipeline rather than in someone's judgement.

# score an encode against its source
ffmpeg -i encoded.mp4 -i source.y4m \
  -lavfi libvmaf=log_path=vmaf.json:log_fmt=json \
  -f null -

# gate the build on a regression, not on an absolute number
#   fail if the mean drops more than 2 points below the last release
python3 compare_vmaf.py vmaf.json baseline.json --max-drop 2

Note the second command. Gating on an absolute score invites arguments about what number is good; gating on a regression against the previous release asks a question everyone can answer.

Note

Note: Encode scores run anywhere. Playback verdicts need hardware, and TestMu AI provides 10,000+ real devices with network throttling to measure it. Try it free.

Delivery Metrics

These come from sessions, not files, and they are the ones your viewers actually feel.

MetricWhat it meansWhy it matters
Video start timeDelay between pressing play and the first frameThe metric most directly tied to abandonment
Rebuffering ratioShare of session time spent stalledA stall mid-scene costs more goodwill than a slightly softer image
Playback failure rateSessions that never produced a frameOften codec or DRM rather than bandwidth, and invisible in averages
Rendition switchesHow often the player changes quality levelFrequent switching signals a ladder fighting the network
Time to steady stateHow long until the stream settles on a renditionLong settling shows as visible quality churn at the start

Measure each under constrained network conditions rather than office wifi, because the failures worth catching happen on a congested mobile connection and never reproduce on a fast one. For the delivery pipeline itself, including adaptive bitrate protocols and DRM, the OTT testing guide goes deeper than this article does.

Where the Two Families Disagree

The disagreements are where the useful bugs live, and there are three common shapes.

  • Better encode, worse experience - a higher bitrate ladder raises the reference score and pushes start time past the point where people leave. This is the release in the opening of this article.
  • Same score, different device - an encode that plays smoothly on a recent phone stutters on an older one whose decoder handles the codec in software rather than in hardware.
  • Good average, bad session - averaged metrics hide the segment of users on a specific device or network for whom playback fails outright, which is why you segment before you aggregate.

Whenever the two families disagree, believe the session. A viewer never sees your reference score.

Test across 3000+ browser and OS environments with TestMu AI

Building the Measurement

Set it up in the order that gets you a verdict soonest.

  • Pick a small set of source clips that stress different things: fast motion, dark scenes, fine detail, and a static talking head. Four clips of ten seconds each is enough to start and cheap enough to run often.
  • Score every build against the previous release rather than against an absolute target, and store the baseline alongside the code that produced it.
  • Define the delivery budget before you measure: the start time you will accept on your slowest supported network, and the rebuffering ratio you treat as a failure.
  • Run playback on real devices across your supported matrix, with the network throttled to the conditions your actual users have rather than the ones your office has.
  • Segment results by device and network class before averaging, since the whole point is to find the group being failed.
  • Keep the session recordings for anything that fails, because a stutter is far easier to argue about with the footage in front of you.

Device and Codec Coverage

Codec support is where playback most often fails outright rather than degrading, and it varies by browser and by device generation in ways that are easy to assume away.

Before you build a matrix, check what your target browsers actually decode: the current state of AV1 browser support and of HEVC compatible browsers both differ enough between engines to change which renditions you need to ship.

An emulator will not settle any of this. It does not carry the hardware decoder that determines whether a codec plays smoothly, drains the battery, or falls back to software and stutters, so encode scoring can run anywhere while playback verdicts need the real thing.

Testing Video Quality With TestMu AI

The delivery half of this work needs hardware and controlled conditions, which is what the real device cloud provides.

  • Real hardware decoders - testing runs on 10,000+ real devices rather than emulated ones, so codec support and decode behaviour are the device's own rather than a simulation of it.
  • Network conditions you choose - bandwidth caps, latency injection, and packet loss percentages let you reproduce the congested connection where rebuffering actually happens.
  • Recordings by default - every session is recorded at the device's native resolution and available immediately afterwards, which turns a disputed stutter into something you can watch.
  • Camera input you control - for flows that capture video rather than play it, video injection feeds a known file into the camera stream so the input is identical on every run.

Reference scoring stays where it belongs, in your own pipeline next to the encoder, since it needs no hardware and benefits from running on every build.

Conclusion

Write down two numbers this week: the reference-score drop you would refuse to ship, and the start time you would refuse to ship on your slowest supported network. Those two thresholds turn a quality conversation into a gate.

Then measure both on every release, segment before you average, and when the encode score and the session disagree, trust the session. If your product also puts an AI agent on camera, the quality bar shifts again and is covered in video simulation testing.

To measure playback on real hardware, create a free TestMu AI account, which includes 60 minutes of real device and browser testing with no credit card required.

Author

...

Sushobhit Dua

  • Linkedin

Sushobhit Dua is an Engineering Manager at TestMu AI (formerly LambdaTest), leading SmartUI, the visual regression and visual testing product. He manages the team that builds and ships SmartUI and maintains and cuts releases of the open-source SmartUI CLI. He works primarily in Core Java, Spring Boot, and Gradle, and is an AMCAT Certified Software Engineer. He brings over 10 years of software engineering experience, with earlier work as a Software Engineer at ecare Technology Labs. Sushobhit owns the SmartUI roadmap and the engineering decisions behind it.

Reviewer

...

Siddhant Sinha

Reviewer

  • Linkedin

Siddhant Sinha is a Lead Member of Technical Staff at TestMu AI architecting Kane CLI, the command-line tool for browser automation from the terminal, where natural-language flows run in a real Chrome browser and return pass or fail with shareable proof. He has spent over three years at TestMu AI (formerly LambdaTest) building scalable platforms that run tests at scale on real Android and iOS devices. His expertise covers platform architecture, large-scale distributed systems, and CLI design, shaped by earlier cloud-native engineering at Semut.io, including building Elasticsearch as a service.

Open in ChatGPT Icon

Open in ChatGPT

Open in Claude Icon

Open in Claude

Open in Perplexity Icon

Open in Perplexity

Open in Grok Icon

Open in Grok

Open in Gemini AI Icon

Open in Gemini AI

Copied to Clipboard!
...

3000+ Browsers. One Platform.

See exactly how your site performs everywhere.

Try it free
...

Write Tests in Plain English with KaneAI

Create, debug, and evolve tests using natural language.

Try for free
...
TestMu Conf 2026

World's largest virtual agentic engineering & quality conference

...

AUG 19-21, 2026

REGISTER NOW

Video Quality Testing FAQs

Did you find this page helpful?

More Related Blogs

TestMu AI forEnterprise

Get access to solutions built on Enterprise
grade security, privacy, & compliance

  • Advanced access controls
  • Advanced data retention rules
  • Advanced Local Testing
  • Premium Support options
  • Early access to beta features
  • Private Slack Channel
  • Unlimited Manual Accessibility DevTools Tests