Page 1 of 1

Multiple raw greyscale camera streams

Posted: Mon Nov 08, 2010 8:50 am
by LinusA
Hi, I'm about to decide whether a system of about 4 to 6 OptiTrack V100-R2-FS cameras is the right choice for me.

For research reasons, a necessary requirement is to have full raw access to all the cameras at the same time, but still in sync mode. So here are my specific questions:

1.) Can I retrieve the original raw camera pictures (unprocessed) as live stream, from all 4 (or 6) cameras connected to the computer, synchronized, all at the same time?

2.) Since the USB 2.0 throughput is limited to roughly 32 MB/s for a single port, and since 1 camera (640 x 480 * 100 Hz) is producing ~ 29 MB/s of uncompressed greyscale data, it seems to me that all live cameras views won't be available through the OptiHub at the same time (since it's only connected to 1 USB port on the client PC)?

3.) Would it be possible to receive all live raw data, if all cameras were connected to separate USB ports? How could I achieve the synchronization in that case (by using external synchronization-cables, connected to another OptiHub)?
Would buying extra external USB 2.0 cards help, to get 4 full USB buses for 4 cameras?

4.) If all cameras used the MJPEG compression mode, would it then be possible to retrieve the live streams of all cams at once through the OptiHub?

5.) Would this multiple raw live streaming that I need also work via the DirectShow driver? I read an old issue where it said that the DirectShow filter only supports 1 camera at a time...

One more question, though not really related to my problem above:

6.) When invoking the filter switch via the API, how long does the switching process take (just an order of magnitude: ms, seconds, or minutes), i.e. how long aftet calling that function does it take until I receive the first valid IR / greyscale frame?

Thanks for your time,

Re: Multiple raw greyscale camera streams

Posted: Mon Nov 08, 2010 2:14 pm
by VincentG
As also answered via email -

No, this has always been a limitation of the USB channel and our devices. If you want multiple streams simultaneously you need to use MJPEG.

You can't do the calculation that way because the data tends to be bursty. Since there is no memory on the camera, the camera has to get that data out over the bus in an immediate fashion or the frames become corrupted. Because of the nature of USB and the way we use it, the system is less robust than if the data was spread out over the entire 1/100hz time.

I think it is or at the very minimum should be our recommendation that users not attempt to receive multiple raw data streams over USB. It's just problematic and our equipment doesn't show well in this configuration. From my experience it varies from one machine to the next but I have problem even getting a single raw data stream over USB from time to time.


The direct show filter is using MJPEG

The switching process starts immediately and you'll hear a click as it slides into/out-of place. The whole process takes maybe half a second.

Re: Multiple raw greyscale camera streams

Posted: Mon Nov 08, 2010 2:22 pm
by LinusA
Thanks so much for the quick reply, that clears up a lot.