Imagine you have recorded/captured the screen at 1080p, but it was displaying a 480p video maximized to fullscreen.
The result file is technically 1080p, but it really is showing a 480p video, that is what I mean by "real resolution".
Now imagine I have a lot of these 1080p videos, having different and unknown "real resolutions", how can I find/detect these resolutions?

The goal is resize the videos to the real resolutions and not waste disk space.

(same question for FPS)

The tool that I prefer to use is ffmpeg, but i'm open to other tools/apps if they are free for personal use.

  • 1
    If it was recorded at 1080p, then it is a 1080p video. The "real" resolution data isn't available - you'll have to assess it subjectively.
    – Gyan
    Aug 7, 2020 at 5:05
  • I agree with @Gyan. There is no way to do it automatically.
    – Matt
    Aug 7, 2020 at 5:53
  • Most codecs would take advantage of the redundancy caused by up-rezzing a video and would be able to reduce the file size more anyway. It would be a lot of work, and may not save you much disk space.
    – stib
    Aug 7, 2020 at 9:33
  • Resizing by a player isn't usually neighbour but bilinear or occasionally bicubic, so some redundancy but not as much as with nearest neighbour method.
    – Gyan
    Aug 7, 2020 at 11:33

1 Answer 1


If you satisfy with your video outputting on a 1080p device, the original video aspect ratio has to be 16:9; therefore, the original video has no choice to be 480p, 720p, or 1080p. The next step is the transformation, there are plenty of filters you can choose to determine it is 480p; on the other hand, choosing transforming to 720p or no transformation, stay in 1080p, depends on contours detection on white background.

As you mentioned ffmpeg and opencv, you should find such APIs easily.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.