View Full Version : QPSNR - a quick tool to compute psnr and ssim
Emanem_
27th February 2010, 11:04
Hello everyone,
recently I started coding a tool to quickly compute the PSNR and/or SSIM of multiple video streams, to objectively measure differences between codecs/settings.
Well, enough said, it's released under the GPL v3, you can find everything here:
http://qpsnr.youlink.org
You'll find a brief description and the packages/sources!
Let me know what you think!
Cheers,
b66pak
27th February 2010, 16:00
thanks...
_
Emanem_
27th February 2010, 19:57
Let me know what you think mate! :-)
Cheers! ;-)
Keiyakusha
27th February 2010, 21:40
This is commandline-only linux-only tool?
Emanem_
27th February 2010, 23:20
This is commandline-only linux-only tool?
Actually yes, it's command line only because it outputs on std::cout a CSV format, so you can then load it in excel and do all cool charts with it.
I use Ubuntu plus I always thought that for win there are other (maybe even better) tools!?
The fact is I decided to use command line (instead of, as example, GTK libraries - those do exist for win as well) is because imho there's no point in doing a GUI for a simple analyser like this...plus is easier to launch via command line.
I mean, all you have to do is specify videos and analyse it.
Actually you just redirect the output on a file (eg > output.csv) and you're done.
Then you open the CSV file with OpenOffice.org (or Excel) and you create all nifty good looking charts.
But you know, the important thing in a software like this is:
- execute it quick
- able to execute batches
- software itself be fast (and I can assure you that limits for this one are simply the disk latency and cores, because it'll use every resource available*)
- get results (raw data) in the most compatible format
Simple! ;-)
Cheers,
Ps. On win aren't there fast free opensource PSNR/SSIM analysers?
*Just think that potentially comparing a reference vs 1 only video could use 100% of a 4 core CPU...but this is explained in detail on the webpage...
EEdcom
8th March 2010, 15:42
Hi,
I got this kind of error: qpsnr: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by qpsnr)
Emanem_
8th March 2010, 23:06
Hi mate, I've compiled the 32 and 64 bit for Ubuntu 9.10.
Apparently you have an old gcc/g++ library.
Which version are you using?
In any case you can recompile it pretty easily:
sudo apt-get install g++ libavcodec-dev wget
mkdir qpsnr
cd qpsnr
wget http://qpsnr.youlink.org/data/qpsnr_0.2.1.tar.bz2
bunzip2 qpsnr_0.2.1.tar.bz2
tar -xvf qpsnr_0.2.1.tar
make -j2
and you'll have the compiled qpsnr under that directory! :-)
This is the beauty of open source! ;-)
In any case if you want to drop me a line, email address is at the end of webpage:
http://qpsnr.youlink.org/
Cheers! :-)
EEdcom
9th March 2010, 00:22
Hi,
Still something is wrong: http://pastebin.com/UJU0HGGd
Any ideas?
EEdcom
9th March 2010, 00:43
My gcc/g++ version is 4.3.3. I didn't notice that package was compiled for 9.10. (I have 9.04) Sorry my mistake. Still any way get this program working?
Emanem_
9th March 2010, 21:06
I guess you have to compile it yourself because I don't have any (even virtual) 9.04 around.
Really it's a breeze to do in Ubuntu (I've developed for years on win32 and Linux and actually installing/removing all the tools needed to build the executable is actually really easier on Ubuntu).
Anyway, follow the instructions above, line by line, and everything should be working.
I think the error you reported is due to the fact you haven't installed
sudo apt get install libavcodec-dev
Try to install that and then you should be able to compile (the errors you posted
src/qav.h:26:34: error: libavformat/avformat.h: No such file or directory
src/qav.h:27:32: error: libswscale/swscale.h: No such file or directory
are a clear indication that libavcodec-dev probably is not installed).
Cheers,
Emanem_
26th March 2010, 22:14
In case, try to install
sudo apt-get install libswscale-dev libavformat-dev
This should definitely make it.
Cheers,
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.