[MEncoder-users] [Script] PSNR between two video files
Guillaume POIRIER
poirierg at gmail.com
Thu Aug 25 14:12:11 CEST 2005
Hi,
On 8/25/05, Matthias Wieser <mwieser at gmx.de> wrote:
> Hi,
>
> I have created a script (called psnr-video.sh) to calculate the PSNR
> between two existing video files. The PSNR is calculated frame by frame.
> Additionally an overall PSNR is calculated.
>
> The output file can be used for plots of the frame by frame PSNR.
>
> "What's the purpose of this script, as there is already the mencoder
> option 'psnr'"?
>
> mencoder [...]:psnr only shows the psnr of the video codec. Video filters
> like scaling, denoise3d, pp=fd cannot be tested with this option.
>
> psnr-video.sh can be used to
>
> * compare different softwarescalers (should I use -sws 1 or -sws 2)
> * compare different resolutions (is it better to scale down to 640x360 or
> to 560x320)
> * compare different deinterlacers
> * compare different video codecs
> * compare video filters (is it better to use -vf hqdn3d or
> lavcopts:nr=400)
> * [...]
>
> Example:
> ./psnr-video.sh ./orig.avi ./test.avi 247
>
> Creates a file psnr.dat with the following content:
>
> File;Y;Cb;Cr
> 00000001.ppm;34.23;39.54;40.06;35.426
> 00000002.ppm;33.03;38.71;39.26;34.271
> 00000003.ppm;33.45;38.91;39.28;34.655
> 00000004.ppm;32.72;38.69;38.85;33.972
> [...]
> 00000247.ppm;35.55;40.84;42.15;36.785
> PSNR:;35.9887
>
> -------
>
> Usage: psnr-video.sh <file1> <file2> [<frames>] [<options1>] [<options2>]
>
> <file1> and <file2> are the video files for which the PSNR should be
> calculated.
> [<frames>] is the number of frames to process, starting from
> frame 1.
> [<options1>] are additional MPlayer options for <file1>
> [<options2>] are additional MPlayer options for <file2>
>
> Be aware that psnr-video.sh needs a lot of temporal space inside /temp/.
>
> -------
>
> Comments?
At first, I didn't quite understand how you were able to compute the
psnr of 2 pictures with only a shell script. Doing such thing in bash
would probably give you the "master of shell script" crown! :)
A quick glance at the code shows that you use the tool "pnmpsnr" to do
the frame-by-frame... so no crown for you today! ;o)
> If you find it usefull you may add it to [CVS]main/TOOLS/
I do. I'll add it tonight after some testing, only if nobody objects.
Guillaume
--
Reading doesn't hurt, really!
-- Dominik 'Rathann' Mierzejewski
More information about the MEncoder-users
mailing list