Hello, I'd like to capture two video streams using two bttv cards. Basically I film a 3d object with two cameras and want to extract some 3d information. The object is moving thus the two snapsots for the left and right cameras should occur occur at the same time (or at least as close as possible) otherwise the 3d reconstruction will fail since the object moves continuously. My question: what's the best way to capture two images (almost) simultaneously ? Is it better to use a singlethreaded or multithreaded approach ? My intuition says me the singlethreaded model is the way to go but I don't know what's the best way to implement it. Assume I mmapped both bttv devices into mem: Should I wait for both VBR (of device 1 and device 2) occurring before reading out the buffers ? If yes, do I need to call the VBR wait routines in sequence or is there a select()-like approach where the function returns when at least one buffer is ready. What if the freqs of the videostreams drift ? In my project can afford to drop some frames every now and then, thus I guess I should just drop the frames of the device that goes too fast, right ? What do the frequency drifting figures of cams/video acquisition boards look like ? (eg board 1 acquires at 50.1 Hz while 49.9Hz etc ... ) Thanks in advance for your infos ! PS: any URLs that contains answers to at least some of my questions. cheers, Benno http://www.linuxaudiodev.org The Home of Linux Audio Development