I’ve played yesterday with a gjs script, using gobject-introspection. Here’s the result:
#!/usr/bin/env gjs
const GLib = imports.gi.GLib;
const Aravis = imports.gi.Aravis;
let camera = Aravis.Camera.new ("Fake_1");
camera.set_region (0,0,128,128);
camera.set_pixel_format (Aravis.PixelFormat.MONO_8);
camera.set_fixed_frame_rate (10.0);
let [x,y,width,height] = camera.get_region ();
let stream = camera.create_stream (null, null);
for (var i = 0; i < 100; i++)
stream.push_buffer (Aravis.Buffer.new (128*128, null));
camera.start_acquisition ();
GLib.usleep (1000000);
camera.stop_acquisition ();
I guess I should review the Aravis API and add the correct annotations. Next, I'll try PyGI.