I’ve just pushed the Aravis source code to git.gnome.org.
Aravis is a glib/gobject based library implementing a Genicam interface, which can be used for the acquisition of video streams coming from either ethernet, firewire or USB cameras. It currently only implements an ethernet camera protocol used for industrial cameras.
Aravis is released under the LGPL v2+.
Most features of the Genicam standard are implemented, with the notable exception of the Enumeration and Boolean interfaces. It’s already possible to take the control of a camera, to start and stop the acquisition, and to get the images from the data stream.
There’s no documentation, but most of the code can be understood by reading the Genicam standard. I’ll post an example showing a basic use of the Aravis library.
The current roadmap is:
- Finish the implementation of the Genicam interface
- Implement the packet resend feature for ethernet cameras
- Add a gstreamer source for broadcast of the video stream
- Work on firewire camera support