AravisProject/aravis

A vision library for genicam based cameras

1,275

stars

2,847

commits

C

primary language

Aug 29, 2026

updated

c
camera
genicam
gige
glib
gobject
gobject-introspection
gstreamer
gtk3
meson
usb3
video
vision

README

Aravis
Aravis

Aravis-Linux Aravis-macOS Aravis-MinGW Aravis-MSVC Codacy Badge

What is Aravis ?

Aravis is a glib/gobject based library for video acquisition using Genicam cameras. It currently implements the gigabit ethernet and USB3 protocols used by industrial cameras. It also provides a basic ethernet camera simulator and a simple video viewer.

Aravis is released under LGPL-2.1-or-later.

Documentation

The latest documentation is available here. You will find how to install Aravis on Linux, macOS and Windows, how to tweak your system in order to get the best performances, and the API documentation.

Dependencies

The Aravis library depends on zlib, libxml2 and glib2, with an optional USB support depending on libusb1.

The GStreamer plugin depends on GStreamer1 in addition to the Aravis library dependencies.

The simple viewer depends on GStreamer1, Gtk+3 and the Aravis library dependencies.

The required versions are specified in the meson.build file in Aravis sources.

It is perfectly possible to only build the library, reducing the dependencies to the bare minimum.

Contributions

As an open source and free software project, we welcome any contributions to the aravis project: code, bug reports, testing...

However, contributions to both Gigabit Ethernet and USB3 protocol code (files src/arvuv*.[ch] src/arvgv*.[ch]) must not be based on the corresponding specification documents published by the A3, as this organization forbids the use of their documents for the development of an open source implementation of the specifications. So, if you want to contribute to this part of Aravis, don't use the A3 documents and state clearly in the pull request your work is not based on them.

Contributors

(top 30 of 127)

EmmanuelP

2,498 commits

eudoxos

32 commits

sh0

25 commits

kohtala

23 commits

AravisProject/aravis

A vision library for genicam based cameras

1,275

stars

2,847

commits

C

primary language

Aug 29, 2026

updated

c
camera
genicam
gige
glib
gobject
gobject-introspection
gstreamer
gtk3
meson
usb3
video
vision

README

Aravis
Aravis

Aravis-Linux Aravis-macOS Aravis-MinGW Aravis-MSVC Codacy Badge

What is Aravis ?

Aravis is a glib/gobject based library for video acquisition using Genicam cameras. It currently implements the gigabit ethernet and USB3 protocols used by industrial cameras. It also provides a basic ethernet camera simulator and a simple video viewer.

Aravis is released under LGPL-2.1-or-later.

Documentation

The latest documentation is available here. You will find how to install Aravis on Linux, macOS and Windows, how to tweak your system in order to get the best performances, and the API documentation.

Dependencies

The Aravis library depends on zlib, libxml2 and glib2, with an optional USB support depending on libusb1.

The GStreamer plugin depends on GStreamer1 in addition to the Aravis library dependencies.

The simple viewer depends on GStreamer1, Gtk+3 and the Aravis library dependencies.

The required versions are specified in the meson.build file in Aravis sources.

It is perfectly possible to only build the library, reducing the dependencies to the bare minimum.

Contributions

As an open source and free software project, we welcome any contributions to the aravis project: code, bug reports, testing...

However, contributions to both Gigabit Ethernet and USB3 protocol code (files src/arvuv*.[ch] src/arvgv*.[ch]) must not be based on the corresponding specification documents published by the A3, as this organization forbids the use of their documents for the development of an open source implementation of the specifications. So, if you want to contribute to this part of Aravis, don't use the A3 documents and state clearly in the pull request your work is not based on them.

Contributors

(top 30 of 127)

EmmanuelP

2,498 commits

eudoxos

32 commits

sh0

25 commits

kohtala

23 commits

Languages

C

97.3%

Python

1.1%