Detection of Video Quality Using Python

I am getting started with image/video processing. As a start I have a dataset for which the goal is to detect the quality as the video progresses.

Based on my readings I think any video under test would need to be converted into frames and then the quality needs to be determined based on some values calculated out of the frames.

My question is more on the implementation side as I don't understand what exactly I will have to decode (mathematical values) and what values to deduce in order to determine if the quality is good or bad (scale of 1 to 100 may be).

I came across Scikit-Video library which can be useful as I plan to use Python.

Any suggestions on how I should approach this problem?

• Hm, I'd argue that converting video to frames can't give you a good estimate of quality, if quality incorporates perception of movement. You'll have to come up with a clear definition of what "quality" is, then you can put that in a formula, and then you can rate your videos. There's a lot of existing stuff on that, not the least from MPEG. – Marcus Müller Jan 24 at 18:09
• @MarcusMüller - Can you please point me to one or two references please? – user40138 Jan 24 at 18:13
• I'd recommend looking online for "perceptual video quality MPEG" or similar. Quite a bit from Fraunhofer, a bit by BBC R&D, and stuff. – Marcus Müller Jan 24 at 18:22
• @MarcusMüller - These are tools, I am looking to create one (not at the same scale but something that takes video and presents its quality) and my question is more from implementation side. Hope I didn't confuse you. – user40138 Jan 24 at 19:38
• well, when you implement a tool to measure quality, you need to define quality first. I recommend the papers were written on perceptually optimized codecs at Fraunhofer, as they will help you define. There's no "universally appropriate quality metric" that you could just implement. – Marcus Müller Jan 24 at 22:35