Video grabbing quality mystery
I’m new-ish to Max/MSP/Jitter and have come across a problem. I was using
iStopMotion for time-lapse capture but need to capture from more than one source
simultaneously and in-sync so I decided to write a patch in Max/MSP/Jitter.
I cant seem to get it to capture at the same quality as iStopMotion even though
I have maxed out the quality settings to "lossless" and tried all 3 vmode
settings and am capturing from a canon HV20 in DV mode at 720×576 (native PAL DV
The attached jpeg shows the difference in quality using the same camera at
native DV resolution. The left image is from iStopMotion and the right grabbed
with the jit.qt.grab object.
switch interpolation on
Quote: firstname.lastname@example.org wrote on Tue, 27 May 2008 04:05
> The attached jpeg shows the difference in quality using the same camera at
> native DV resolution. The left image is from iStopMotion and the right grabbed
> with the jit.qt.grab object.
> Any clues?
you might want to post your patch. are you explicitly using the correct resolution in your grab and record objects? post the patch, we can see it then.
Thanks for your response.
I’ll tidy it up and post it but it’s just an adapted patch based on the help patch for jit.qt.grab.
Thanks for the suggestion jaz but switching on interpolation makes no significant difference. It looks as though it is only grabbing every other line?
The quality is ok but I want to capture at the best quality I can and having seen how good it can be nothing else will do.
did you try sending massages to grab object
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P message 201 87 73 196617 getdeinterlace;
#P message 187 62 69 196617 getsinglefield;
#P message 173 41 72 196617 gethighquality;
#P newex 37 183 44 196617 s blinky;
#P toggle 83 87 15 0;
#P toggle 50 62 15 0;
#P toggle 19 41 15 0;
#P message 101 87 74 196617 deinterlace $1;
#P message 68 62 70 196617 singlefield $1;
#P message 37 41 73 196617 highquality $1;
#P connect 5 0 2 0;
#P connect 4 0 1 0;
#P fasten 9 0 6 0 206 133 42 133;
#P fasten 8 0 6 0 192 121 42 121;
#P fasten 7 0 6 0 178 110 42 110;
#P fasten 0 0 6 0 42 110 42 110;
#P fasten 1 0 6 0 73 121 42 121;
#P fasten 2 0 6 0 106 133 42 133;
#P connect 3 0 0 0;
#P window clipboard copycount 10;
Thanks for the help.
Here is some info that might help other newbies.
I changed the patch to grab to a jit.window so that I could see the live capture at full DV PAL resolution.
From the documentation of jit.qt.grab I tried changing various parameters but found that the "singlefield" parameter was key. Setting this to 0 solved the problem. The singlefield parameter tells the digitizer to grab just one field per frame and double it up to full resolution, hence the low quality. Setting it to "0" i.e. off solved the problem.
HOWEVER, the improved quality was not apparent until I changed the "codecquality" attribute. (I was clutching at straws at this point and just going through all the quality settings to see what the difference was). It seemed that it the codecquality setting needs to be refreshed for the singlefield attribute to take effect.
I also found that the "codecquality" attribute applies to "vmode" 1 even though the documentation says it only applies to vmode 2.
Switching interpolation on made no discernible difference but it might help in certain circumstances.
To summarize: use vmode 2 to capture, use codecquality of max or lossless and make sure that the singlefield parametre is set to off (i guess this only applies to interlaced sources?).
Thanks to the forum for the help.