UVC camera video settings

Hi there,

I’m looking for a library to control the settings of USB cameras. I’ll have to manage multiple cameras at the same time, about 3 or 4 but only one will be update at the time.
Is there any library of this kind working with OF current release?
I tried ofxUVC but as a beginner I’m pretty confused with the different video grabber (QTKit, VideoGrabber, AVFoundation…) that doesn’t seem to be compatible with this addon.
Would you have any advise ?

Thanks !

Hey,

I’ve been playing around with UVC stuff a year ago, here’s what I remember; hope it will help you.

Indeed there’s ofxUVC but it doesn’t handle linking a camera to a physical USB port. Only by camera name.
On macs cameras are named “MyCamera”, when there are several ones they increment so you can link “MyCamera 2”. But: rebooting and reconnecting might mix up camera names.
I remember finding some forks of ofxUVC which support connecting to a specific USB port, the underlying libraries support it, It’s not implemented in ofxUVC. Also check out other branches depending on your camera and it’s features. Some branches offer more UVC control features.

And it took me some time to figure this out: UVC software can control the camera while another “grabber” gets the image from the same camera. These are 2 different things: control and vision. So you might consider controlling UVC manually with a standalone app then simply grab the image.
When you can’t do both, try another grabber.

Hi Daan,
Thanks for the tips !
Anyway I think the problem is more into the compilation settings finally.
If I stick to included addons and the examples associated it works.
If I try to use class from downloaded addons like let say ofxUVC I have a “unknown typename ‘ofxUVX’” error.
I have the same kind of error with other dowloaded addons.
The project is built with the project builder and the header path seems to be fine as I’m doing the project in the myApps directory…

Indeed, sounds like compilation issues. Try to narrow down the issue by reproducing it with the least dependencies as possible to locate the problem. Also check for available git pulls, try different combinations of branches if needed. Good luck :slight_smile:
Btw, are you on Mac ? I guess ofxUVC is mac only as it’s using objective-c sources.

Ha !
Thanks for the good luck, I’ve been coding with Processing and Supercollider for a while now but OF still seems like a jungle for me !
I think everything is in order concerning path now. The error message I have that concern either ofxUVC or ofxYAML when they are instantiated is :slight_smile:

“Undefined symbols for architecture x86_64”

I am on Mac OS El Capitan and the project is written with Xcode or Sublime Text, the both throw the same error.

Keep going and you’ll learn decrypting c++ error messages. I’ve made the same step :slight_smile:
It’s worth the transition !

This error means there’s a 32bit dependency (probably the old quicktime VideoGrabber) while you compile in 64bit or both :slight_smile:
I guess you’re almost there, try to use QTKit instead.