How to Check Video Quality Degradation

Every time you transcode, re-encode, compress, or stream a video, quality is lost. Some of that loss is acceptable — the whole point of compression is to trade a small amount of quality for a large reduction in file size. But how do you know when you've crossed the line from "imperceptible" to "noticeable"? That's what video quality comparison tools are for.

This guide walks through the practical workflow: what to measure, how to set up the comparison, what the results tell you, and how to fix the most common problems.

Why visual inspection isn't enough

Side-by-side watching is a start, but it has real limits. The eye adapts to compression artefacts, especially after watching the same clip a dozen times during QA. You'll miss slow-building quality degradation that a viewer encountering the video fresh would immediately notice. And it's impossible to report "this scene is 12% worse than our quality target" based on a gut feeling.

Objective metrics — SSIM, PSNR — give you a number you can track over time, compare across encodes, and set as a pass/fail threshold for automated pipelines.

The right way to set up a comparison

A video quality comparison needs two files: a reference (the source, lossless master, or pre-compression file) and a distorted version (the transcoded, compressed, or streamed output).

The most common mistake: comparing the compressed output to a previous compressed version instead of to the original source. You lose the ability to measure absolute degradation and can only measure relative change between two already-degraded files.

Both files must cover the same content. Duration and frame rate don't need to match exactly — DiffALL aligns by time position — but avoid comparing the first 30 seconds of one file to the second 30 seconds of another.

Step-by-step: using DiffALL to check video quality

  1. 1 Upload your reference and distorted files Drag both video files onto the DiffALL upload grid. The left panel is reference, the right panel is distorted. Files up to 200 MB and 1 minute are supported on the free tier.
  2. 2 Wait for the analysis to run DiffALL samples one frame per 5 seconds, computes SSIM and PSNR for each, and extracts codec metadata (resolution, bitrate, fps) for both files via ffprobe. For a 60-second clip this takes about 20–30 seconds on the free tier.
  3. 3 Read the headline scores The overall SSIM and PSNR are averages across all sampled frames. Use the table above to interpret the numbers. A score above 95% SSIM / 38 dB PSNR is generally excellent for web video. Below 85% SSIM / 30 dB PSNR means the quality loss is likely noticeable to viewers.
  4. 4 Read the per-second SSIM chart This is where the real information lives. Look for the lowest-scoring second — that's your worst moment. Look for trends: a score that's high at the start and drops toward the end often indicates bitrate starvation on a scene with increasing complexity. A single sharp dip usually means a scene cut or a fast-moving sequence that the encoder couldn't handle.
  5. 5 Inspect the worst-frame heatmap DiffALL renders a JET-coloured heatmap on the single most-degraded frame and draws glowing bounding boxes around the regions with the largest differences. Blue = no change, red = maximum change. If the entire frame is red, you have a global codec problem. If it's red only around edges and fine details, you have a typical high-frequency compression issue.

Interpreting the per-second chart

Here are the patterns to look for and what they mean:

PatternLikely causeWhat to do
Uniformly high throughoutGood encode, acceptable compressionNothing — quality is within spec
Uniform dip across the whole clipBitrate too low for the resolutionIncrease bitrate or reduce resolution target
Sharp dips at scene cutsKeyframe interval mismatch or I-frame budgetTune keyframe interval or increase I-frame quality
Gradual decline toward endVariable bitrate (VBR) exhausted its budgetSwitch to CRF encoding or increase VBR max bitrate
One isolated low frameDeinterlacing artefact or frame dropInspect that specific frame; check source interlacing
Every even frame scores lowerField order issue or temporal aliasingCheck deinterlace filter and field order settings

Common video quality problems and their fixes

Blocking artefacts (DCT blocks visible in flat areas)

This is the most recognisable compression artefact — flat areas like sky or skin break into 8×8 or 16×16 blocks. On the heatmap, you'll see a grid pattern. Fix: increase bitrate, switch from H.264 baseline to main/high profile, or switch codec (H.265 typically produces 40–50% better quality at the same bitrate).

Ringing around edges

Bright halos or dark outlines around sharp edges, especially text on video. The heatmap shows red along all edges. Fix: reduce the sharpening pre-filter, lower quantiser, or use a codec-specific "deblocking" strength setting.

Colour banding

Smooth gradients become stepped, especially on backgrounds. SSIM will be relatively high (structure is preserved) but PSNR may be low. Fix: dither before encoding, increase colour depth to 10-bit, or increase bitrate on gradient-heavy scenes.

Temporal flickering

The per-second SSIM chart alternates between high and low on every frame. This usually indicates a field order error or an interlaced source that wasn't properly deinterlaced before encoding. Fix: apply yadif deinterlace filter and verify field order with ffprobe.

Setting quality thresholds

For production pipelines, you need a pass/fail number. Common industry thresholds:

These are starting points. Set your own thresholds by encoding representative content at several quality levels, running a blind viewing test with your team, and correlating the scores where the boundary falls. Your content type (animation vs live-action, dark vs bright) will shift these numbers.

Check your video quality now

Upload your reference and compressed video to DiffALL for frame-by-frame SSIM, PSNR, worst-frame heatmap, and codec metadata. Free, no install.

Compare videos now →