Measure quality of input video?

The only way I know how to invoke the video quality measurement is to do it from the finished exports in the Jobs panel. But is there a way to check the video quality of the input video as well, just for comparison? I have tried to do it using ffmpeg, but from my research it seems like ffmpeg just compares 2 videos, and doesn’t give a frame-by-frame psnr and ssim measurement of a single video like Shotcut does

  1. Open a clip in Shotcut.
  2. Click on the properties panel
  3. Click on the “Hamburger” menu
  4. Choose “Measure Video Quality”


I tried doing this earlier, but couldn’t quite figure out if I was missing a step.

After pressing “Measure Video Quality” I get this:

The actual file name of the video is count frames.mp4
Not sure how to obtain ERP.

If you ignore the iserted “- ERP”, and select the actual video, you get this:

count frames.mp4 was exported from Shotcut over a year ago.

Shotcut 21.12.24

The tool is designed to compare two video files - an original and an encoded file. The prompt is to choose the original file to compare with.

It works in Linux, but is broken in Windows. This is a bug in the Windows build.

I will flag this to follow up later. Maybe Dan will beat me to it.

Actually, it is to choose the encoded version. The use case is primarily to compare different encode settings:

  1. open a video using a video mode that matches the source frame rate
  2. make more than one export using different options
  3. as export jobs finish choose Properties > Menu > Measure Video Quality and choose the exported file
  4. open each measurement job and look at is VMAF score, compare, and choose the best export option

It works this because I wanted to use it this way for my day job. It does not work the same way as Export because they are implemented completely different in the underlying software layers, and I did not want to reinvent VMAF integration in the existing area when it was already done and working in ffmpeg.

ah ok I totally misunderstood what PSNR and SSIM were, I thought it was measuring compression and artifacts of individual frames, but it looks like it compares between the original and the encoded video. So how does it work if the encoded video has a different number of frames?

With regards to frame rate
If you are using Properties > Measure Video Quality that does not work. You must ensure that what you are comparing matches.
When you use Export Job > Measure Video Quality and have not changed the frame rate in Export > Advanced > Video then it works regardless of the source frame rate because this is comparing the Shotcut project with the exported file, and the engine for the Shotcut project is doing frame rate conversion.

With regards to number of frames…
That is not a problem with Properties > Measure Video Quality as long as they are using the same frame rate because it uses the option shortest=true. Usually you not not need more than a couple of seconds. You can set an out point when encoding to make a shorter clip. If you want to select a couple of seconds within the middle of a clip, then you can trim, export a lossless Ut Video, and use that as your reference and to make different test encodings.

1 Like

Properties > Measure Video Quality was fixed on Windows for the next version.

Sorry for the late reply but this is all extremely helpful information, thank you. Trying to compare two videos with different frame rates using ffmpeg was a pain, love the way it’s implemented on Shotcut. Also I noticed that a recent update fixed the bug with the Size, Position & Rotate filter breaking if Zoom was >100%, so thanks for that! This is an amazing program and it’s my go-to tool for video editing nowadays

1 Like

This topic was automatically closed after 90 days. New replies are no longer allowed.