Aravis, a vision library

I’ve just pushed the Aravis source code to git.gnome.org.

http://git.gnome.org/browse/aravis/

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+.

http://www.genicam.org/

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

Tags: , ,

3 Responses to “Aravis, a vision library”

  1. Josh Doe says:

    I’m really looking forward to being able to test your GigE Vision GStreamer source when it becomes available. Good work!

  2. Chris Murphy says:

    Hi,
    I just stumbled across your project and am testing it against a Prosilica GC1600C at this very moment. I’ve been exploring CamUnits http://camunits.googlecode.com/ which is noticeably lacking in a GigE driver. Maybe you could integrate your (excellent!) work on GigE support with their project? I’ve found them to be very receptive to collaboration, and their code is all based on glib as well.

  3. emmanuel says:

    Thanks for the pointer. Aravis could be indeed used in CamUnits via a plugin. But I don’t have the time to work on such plugin myself.