Analyze video quality
Compare an encode with its reference using VMAF, a per-frame timeline, and visual frame comparison.
VMAF (Video Multi-Method Assessment Fusion) is a perceptual quality metric. It compares an encode with its source and scores how closely the encode preserves what viewers notice, rather than measuring raw pixel difference.
Video Commander can run the comparison, chart every frame, open problem frames side by side, and export the result without writing an FFmpeg command.
What VMAF measures
VMAF is a full-reference metric, so every run needs two files:
- The reference is the source or mezzanine file—the highest-quality version available.
- The distorted file is the encode you want to evaluate.
The score is relative to the reference, not an absolute grade. VMAF is most useful for comparing encoder settings on the same source, setting a quality floor for a delivery ladder, or catching a regression after changing an encoding pipeline.
Before you start
The files must contain the same content and timeline. Different frame rates, frame counts, trims, or extra leading frames misalign the frame-by-frame comparison and produce a misleading score.
VMAF also requires an FFmpeg build with the libvmaf filter. Open Settings →
Local Tools, view the selected build's capabilities, and confirm VMAF is
available. For faster iteration on long videos, analyze a representative range
before running the complete title.
Configure the analysis
Open the Analyze view and use the Options tab:
- Choose the reference and distorted files.
- Select the HD/default, 4K, or phone model for the intended viewing case.
- Optionally trim the run to a representative range.
- Choose a scaling algorithm if the inputs do not have matching dimensions.
- Leave threading on Auto unless you are diagnosing a specific FFmpeg build.
Recent job outputs are available from the file selectors, so an encode or delivery result can become the distorted input without searching for it again. Press Cmd/Ctrl+Enter to start.
Read the summary
The headline score summarizes the complete run. The three supporting values provide the detail needed to interpret it:
| Result | What it tells you |
|---|---|
| Mean | Average quality across all compared frames |
| Minimum | The worst-scoring frame in the run |
| Maximum | The best-scoring frame in the run |
The gap between the mean and minimum often matters more than the mean alone. A high average with a much lower minimum points to a difficult cut, high-motion sequence, or scene where rate control underspent. Treat differences smaller than roughly one VMAF point cautiously; they are rarely a useful reason to choose one encode over another by themselves.
VMAF is one model of perceptual quality. It does not replace checking cadence, audio, captions, or real playback on target devices.
Find where quality drops
The Timeline plots every frame. Hover over a point to inspect its frame number and score. A steady graph means rate control is holding quality consistently; isolated cliffs reveal the exact scenes that need review.
Open a point in Frame Comparison to inspect the reference and encode side by side, drag a wipe between them, amplify their difference, or blink between A and B. Zoom and pan stay locked so the same region remains aligned. Jump to worst frame moves directly to the minimum score.
Choose the right model
The model should match the intended playback environment:
| Model | Use it for |
|---|---|
| HD/default | Most 1080p and general streaming work |
| 4K | Delivery intended for a 4K display |
| Phone | Mobile-specific encodes viewed on a smaller screen |
The same encode can score differently under each model because the assumed viewing conditions differ. Do not use the phone model to approve an encode that will primarily be watched on a television.
Keep or export a result
Completed analyses remain in job history and can be reopened from Load Previous Analysis. Export CSV for charting and comparing frame data, or JSON for a regression check, report, or automated workflow.
Encode to a quality target
The Target VMAF quality mode in Convert searches for the lowest-bitrate CRF that meets a score you choose. It encodes a representative probe, measures it, and adjusts CRF before running the final encode. See Convert a file for the complete workflow.
Common mistakes
- Mismatched files: different resolutions, frame rates, trims, or durations can break alignment. Verify the two files before blaming the encoder.
- The wrong reference: compare against the source that was actually encoded. Comparing a 1080p encode with a 4K master also measures the downscale.
- Reading only the mean: use the timeline and minimum to find short visible failures hidden by a strong average.
- Over-reading small differences: a fraction of a point is usually not a meaningful result.
