PDA

View Full Version : Comparing Encodings


Cyber Dog
24th January 2005, 12:29
Glad to see the forums are back up. How come discussion boards always go down a couple hours before you realize you have to ask a question?? Anyway, here's my little situation. Up until recently I'd be using DVD Shrink to reduce my DVD9's to DVD5's for burning. A friend told me about DVD-RB and CCE, so I did a bit of reading. Apparently it's unanimous that CCE is the best encoder for backing up DVD media, so I decided to try it out. I used the DVD-RB tutorials, especially the ones at Afterdawn to give it a shot. All seems to have worked, but now I want to actually evaluate the results, and as silly as it sounds I can't seem to think of an easy way to do it. Basically I just want to be able to do a visual comparison of a regular DVD-Shrink backup with my DVD-RB CCE backup (and maybe between a couple CCE backups with different settings/filters). The problem seems to be that non of my normal DVD playing apps support multiple instances, so I can only have one version showing at a time. What's the best way to do some simple visual comparisons?

halpern
26th January 2005, 14:25
You could, and I dont know how effective this would be, capture images at certain scenes of the movie. (action scenes, high movement scenes etc) Compare captures of the scenes. You could also encode small segments of the movie and compare those against one another. I know that members of doom9 did this in the xvid/divx format with the matrix to compare the quality of each codec and to see which was more supperior. The same process can be applied here. Other then that, and I am no expert, I do not know how else to help. Hope this helps a little.

MaxT
26th January 2005, 17:16
I used Bitrate Viewer to compare bitrate plus my eyes :) Been working with graphics for past 7 years plus I'm very picky ;)

You can check my way to compare 7 diff. backup methods here:
http://www.maxt.dk/archives/2005/01/26/the-best-way-to-backup-dvd/

Maybe that'll spare you some time ;)

Regards

ultimatebilly
27th January 2005, 13:29
You could do something like this in avisynth:
a=import("source.avs")
b=import("rebuilder.avs")
c=import("shrink.avs")
d=import("instantcopy.avs")
stackvertical(a,b,c,d)
This will give you the four versions over another in a single window...

If you want to do some "objective" comparing:

PSNR:
a=import("source.avs")
b=import("rebuilder.avs")
c=import("shrink.avs")
d=import("instantcopy.avs")
StackVertical(compare(a,b, "","PSNR_rebuilder.log"),compare(a,c, "","PSNR_shrink.log"),compare(a,d, "","PSNR_instantcopy.log"))

SSIM (http://www.avisynth.org/warpenterprises/files/ssim_25_dll_20030914.zip):
a=import("source.avs")
b=import("rebuilder.avs")
c=import("shrink.avs")
d=import("instantcopy.avs")
StackVertical(ssim(a,b,"SSIM_rebuilder.csv","SSIM_average_rebuilder.txt",lumimask=true),ssim(a,c,"SSIM_shrink.csv","SSIM_average_shrink.txt",lumimask=true),ssim(a,d,"SSIM_instantcopy.csv","SSIM_average_instantcopy.txt",lumimask=true))

VQM (http://www.avisynth.org/warpenterprises/files/vqmcalc_25_dll_20030810.zip):
a=import("source.avs")
b=import("rebuilder.avs")
c=import("shrink.avs")
d=import("instantcopy.avs")
StackVertical(vqmcalc(a,b,"vqm_rebuilder.log"),vqmcalc(a,c,"vqm_shrink.log"),vqmcalc(a,d,"instantcopy.log"))

PSNR just compares the deviance of the compressed version to the source (Peak Signal to Noise Ratio), SSIM and VQM try to take psycho-visual aspects into account (don't ask me how, though ;)).
But nonetheless, the only reliable way to compare video-quality is to use your eyes, because all mathematical methods will probably never fully be able to reproduce the way a human being sees (and everyone probably perceives everything different, anyway).

PS.:

If you don't know how to frameserve your DVD, either use this guide:
http://www.doom9.org/mpg/d2a-mpeg2dec.htm
or alternately, use

MPEGDecoder (http://nic.dnsalias.com/MPEGDecoder/MPEGDecoder_YV12.zip)

From the readme:

This DLL lets you load VOB/MPEG-2 ES,PS,TS/MPEG-1 files to be loaded directly into Avisynth.

A Sample AVISynth Script looks like this:

LoadPlugin("MPEGDecoder.dll")
MPEGSource("d:\kiss\kiss.vob")

This avs file can now be loaded into VDub/etc.

This way you don't even have to generate a DGIndex or dvd2avi-project.

Have fun! ;)

PPS.:
If you really would want to compare 4 different sources, better use this:
a=import("source.avs")
b=import("rebuilder.avs")
c=import("shrink.avs")
d=import("instantcopy.avs")
stackvertical(stackhorizontal(a,b),stackhorizontal(c,d))