Aravis, a vision library

I’ve just pushed the Aravis source code to

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

3 thoughts on “Aravis, a vision library”

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

  2. Hi,
    I just stumbled across your project and am testing it against a Prosilica GC1600C at this very moment. I’ve been exploring CamUnits 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. 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.

Comments are closed.