Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Video Quality Analyzer (open source + scriptable)  (gelezen 870 keer)

Offline profoX

  • Lid
    • wesley
    • Lionslink
Video Quality Analyzer (open source + scriptable)
« Gepost op: 2012/06/13, 23:56:15 »
Geen idee of het eerder thuishoort bij etalage of programmeren... ik gok op programmeren..

Als onderdeel voor mijn bachelorproef heb ik een scriptbare Video Quality Analyzer applicatie geschreven die gebaseerd is op libavcodec, libavformat, libswscale, QtCore, QtScript, QtPlugin, QtGui (voor de GUI) en libopencv2.

Aangezien er naar mijn persoonlijke mening nog wel wat kleine dingen ontbreken in het huidige ontwerp en sommige stukjes best herschreven zouden kunnen worden om wat optimaler en correcter te werken alsook wat extra features te ondersteunen, is het programma misschien wel reeds interessant voor video experts en codec ontwikkelaars. Ik ben zelf namelijk niet direct van plan het programma verder te ontwikkelen, en voor vele zaken doet het zijn job perfect.

De applicatie is voornamelijk bedoeld om objectieve beeldkwaliteit analyse metrieken uit te voeren op beelden (een PSNR en SSIM plug-in zijn ontwikkeld ter demonstratie, maar meer metrieken kunnen worden toegevoegd dankzij de plug-in interface) maar ook vooral om subjectieve beeldkwaliteit analyse te vereenvoudigen door scriptbare plug-in nodes en tools mogelijk te maken die helpen bij de analyse van de beelden.

In tegenstelling tot de meeste bestaande (commerciƫle, Windows only) software met hetzelfde doel is de plug-in interface zeer flexibel. Dankzij het gebruik van FFmpeg krijgen plug-ins ook toegang tot decoder-specifieke informatie zoals macroblock info en motion vectoren. Plug-ins kunnen willekeurig aan elkaar gekoppeld worden (dit moet in een workspace .ini file gedefinieerd worden) en er kan on-the-fly tussen workspaces worden geswitcht.

Indien er interesse is vanuit de community ga ik dit programma open source releasen, ookal zou er eigenlijk nog wat clean-up moeten gebeuren aan de huidige code (ik kan wel een lijstje meegeven van wat er best nog aangepast/toegevoegd moet worden ;))




standaard meegeleverde plug-ins:

- Peak signal-to-noise ratio calculation (luminance, chrominance)
- Structural similarity calculation (luminance)
- Zoom tool
- Blur/sharpen tool (OpenCV2 based)
- Difference visualization (luminance)
- Edge detection (OpenCV2 based)
- Pixel inversion
- RGB/BGR color space conversion
- Macroblock (+ motion vector) visualization
- Text overlay

Vier van de meegeleverde plug-ins zijn scripted (JavaScriptCore) namelijk Zoom tool, Pixel inversion, RGB/BGR color space conversion en Text overlay. De rest zijn dynamisch gelinkte plug-ins (C++) vanwege performance redenen.

Indien er interesse is hoor ik het wel. Indien iemand interesse heeft om dit programma verder te ontwikkelen of stukken code te gebruiken mag die ook altijd even contact met mij opnemen. Er zit ook een user manual en plug-in developer manual bij ;)

edit: meer (achtergrond) info @ http://bachelorproef.wesleystessens.be/
« Laatst bewerkt op: 2012/06/14, 00:11:37 door profoX »
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)