Still Image Capture from External USB or IP Camera

I need to capture still images from at least one (preferably more) camera for industrial inspection purposes. Windows support is required, MacOS would be nice but not essential.

Security webcams have a very wide-angle view that’s not ideal for me, and more importantly, they almost all seem to require a cloud connection and proprietary app; the days of the cam with an IP address on your LAN and a directly-accessible built-in server seem to be gone.

I looked at CameraLink but that seems way overkill for my needs and the cameras are super-expensive. I also would prefer not to go with MBS Canon EOS and Nikon plugins as they require access to proprietary SDKs and again the cameras tend to be expensive.

I’m really liking this device:

as it is inexpensive, USB, and has focus control (and it has “Magepixels” :smiley: )

So how can I discover it in Xojo and grab frames from it? Scouring old forum posts, it looks like MBS used to have something called “DirectShow”, but I no longer see it.

For Windows, check out DirectShow classes: DirectShow

Thanks, Christian. Is there an example project for this plugin?

1 Like

Included in the download. See Win/DirectShow examples.

1 Like

I’d really love it if someone would wrap the API’s for ZWO ASI astro cameras into a Xojo plugin. Especially one that works for iOS and Android. The API’s are publicly available for Windows, Linux and MacOS (same as Linux, which suggests it might work on iOS as well).

These are specialised low-light-level cameras with thermo-electric cooling and available both as colour and monochrome (no Bayer filter). The range spans small sensors right up to full frame.

So the little camera mentioned above works great, and the “Select and Capture” MBS example works great with it for capturing video. Can you give me a clue as to what method(s) I would use in the plugin for capturing still images? The plugin has a bewildering number of classes and methods.

You would use a DirectShowSampleGrabberMBS and query the current picture via the current property.

Perfect, thanks!