DeepWater Exploration has released dwe-controls (DeepwaterExploration/exploreHD_Controls on github), our open source camera control software! We have made a lot of changes since our alpha stages of development including supporting docker-based installs, making it easy to use with BlueOS.
Streaming is now supported with all cameras, while before it was only available with the exploreHD. The exploreHD still gets exclusive UVC controls via a custom firmware and is now capable of even more low bitrate-required applications!
The software works on any Linux capable platform, including Raspberry Pi, Desktop Use, etc. It can be interfaced with over the web browser making it ideal for ROV use, but we are excited to see other uses you can come up with!
Below is a screenshot with an exploreHD:
(Also… we now have dark mode!)
Here is the single docker-based installation command:
I’m trying to understand what this software is for. Is it a general purpose camera manager like the one built into BlueOS, or does it have some specifics that are required to be able to run the DWE cameras or something?
If your camera’s bitrate options and variable bitrate toggle present themselves as UVC controls they should already be configurable with the BlueOS camera manager, so I’m wondering whether this would still be necessary / useful for BlueOS users
Our software uses UVC extension unit controls which are not normally available from standard software. This is because our camera uses a custom firmware that implements additional controls such as bitrate, h264 quality, and variable bitrate which cannot be interfaced with in BlueOS.
The ability to stream has also been added for use cases that may not be using the latest BlueOS software such as in MATE ROV where such users still may be interested in bitrate control and streaming.
Hopefully that makes sense! Let me know if you have any further questions and I would be happy to answer.
This isn’t something I’ve looked into before, but it’s very interesting to me.
Are the extension controls for your cameras proprietary in some way (e.g. intentionally made to not be accessible from other software), or are “extension controls” something that BlueOS could potentially be made to support in a general way, such that your cameras (and others that may use different extension controls) can be more fully supported?
I read through that docs link and I’m struggling a bit to determine
whether it’s possible for XU controls to be supported “generally”, and
whether all XU controls require some form of device-specific driver on the computer, or if they can be detected/queried from the device
I’m curious what would be required for your cameras to be easily and fully controllable from BlueOS without needing to run a separate camera manager just to support the extra controls
I believe if the controls are accessible via v4l2-ctl --all it should work with our software, otherwise a simple mapping between XU control and V4L2 will make the camera much more versatile and compatible with almost all cameras software around there, including our camera manager.