ImageJ http://rsb.info.nih.gov/ij/ is NIH's powerful free scientific image treatment Java application, with a large number of plugins and macros written by users. VLC and VirtualDub can be used with imageJ, and indeed there is a VirtualDub macro. You can open Plugins/New/Macro and define virtualDub, aviFile and captureTime add something like:
status=exec(virtualDub+" /capture /capfile "+aviFile+" /capstart "+captureTime+"s /x");
and imageJ launches VirtualDub, captures aviFile for captureTime seconds, then closes VirtualDub - very neat.
But when I try a similar thing with VLC, the following works fine in a WinXP shell (opening the "USB 2861 Device" PAL camera in VLC), but doesn't work if I put it inside status=exec(...) as an imageJ macro.
C:\Program Files\VideoLAN\VLC>vlc --dshow-vdev="USB 2861 Device" --dshow-size=720x576 --open "dshow://"
I would eventually like to use imageJ with several simultaneous cameras to stitch together a composite mosaic image, for which there is of course an ImageJ plugin called MosaicJ - see: http://www.neutronoptics.com/software.html#vlc
Comments on the feasibility of that would also be welcome.