Multiplatform webcam control solution?

I've encountered many issues surrounding webcam image control (contrast, saturation, focus, zoom, etc...) within Octolapse, and am looking for any suggestion that don't rely on mjpegstreamer that will work in windows, macos and linux at a minimum. I doubt this is a one size fits all thing, but thought it would be wise to ask others here first. Ideally I'd also be able to control the resolution, but that may not be in the cards. Also, ideally I'd be able to control the raspicam as well.

If there is a good solution for a single OS I'm open to writing different versions for each OS if need be, but I want the solution to be as simple as possible (obviously).


Wow. That's ambitious of you.

This kind of feels like the days of IE versus other browsers and the differences they presented to coders. Years ago, we ended up writing these shim layers of JavaScript support to level the playing field. We'd then code to the shim instead of directly to each of the browser's unique ways of accessing parts of the DOM.

In other words, in your shoes I'd consider writing a shim. There would be a hardware part that would talk directly to each different device to include a capabilities report (what it does and doesn't support). There would be an os part that would abstract things like paths.

It would be good if the API could turn on/off the webcam service as well. But then again, you wouldn't want to allow that during an active timelapse or things might break in a bad way.

Come to think of it, if you added networking it would be nice to be able to control remote cameras like those IP types as well as the one like I'm using on a secondary Pi.

Completely diverging off-topic now but in my head I'm seeing the scene from The Matrix where Trinity is frozen in mid-air and the camera perspective pans around her. How cool would it be to have a 360ยบ timelapse of a print job like that?

Check this out:

Will do some additional research on the camera control stuff. Surely someone else has tackled this!

Nice... I especially like the watch there. (I've designed and I'm building a 6' timelapse railkit, btw.)