I am trying to capture stereo video with 2 Microsoft LifeCam Studio USB webcams. Thus far, the best approach I've managed to come up with is my own tool written using OpenCV to capture video streams from the cameras in Ubuntu 14.04. I am using very simple VideoCapture code (source here) and am trying to at least view two videos that are synchronized against each other.
I used Android stopwatch apps (UltraChron Stopwatch Lite and Stopwatch Timer) on my Samsung Galaxy S3 mini to realize that my viewed images are out of sync (show different time on stopwatch).
The frames are synced maybe in 50% of the time. The frame time differences I get are from 0 to about 300ms with an average about 120ms. It seems that the amount of timeout used has very little effect on sync (same for 1000ms or 2000ms). I run in FullHD but lowering resolution to 640x480 had no effect.
I am trying to record stereo video with a low cost setup. An ideal result would be a 100% synchronized stereo video stream that has about 10 FPS. Are there any alternative approaches that would result in better synchronization?
EDIT: In my search for low-cost hardware I fount that it is probably possible to do some commodity hardware hacking (link here) and inject a single clock signal into multiple camera modules simultaneously to get the desired sync. The guy who did that seems to have developed his GENLOCKed camera board (called NerdCam1) and even a synced stereo camera board that he now sells for about €200.
However, I have almost zero ability of hardware hacking. Also I am not sure if such clock injection is possible for resolutions above NTSC/PAL standard (as it seems to be an "analog" solution?). Also, I would prefer a variable baseline option where both cameras would not be soldered on a single board.
Also found this related post: Cheap solution for shooting with multiple (>2) cameras in sync (genlock or LANC?)