1.  PIXCI® Imaging Drivers: Use with GStreamer for Linux

PIXCI® frame grabbers can be used with the GStreamer open source multi-media framework, providing a source of images and video for the framework.

There are two approaches: using the GStreamer ‘pixcisrc’ element along with the EPIX(R) XCLIB API/SDK. Or, using the GStreamer Video for Linux (V4L2) element along with the PIXCI® V4L2 driver.

The GStreamer ´pixcisrc´ Element

The GStreamer ‘pixcisrc’ element (i.e. driver) dated 2011 uses the XCLIB pxd_doSnap() function to capture images.

The pxd_doSnap() is the easiest XCLIB function to use for capturing single images, including use of a camera’s triggered (i.e. frame on demand) mode, but is not intended for capturing every frame of video. of a continuous (i.e. free-run) video source. (The pxd_doSnap() is specified to wait for, and then capture, the next image sent by the camera; returning only after the image is captured. At which point, even if pxd_doSnap() were to be called immediately (which is unlikely given inherent latency in the application’s execution), the start of the following image might be missed). Other XCLIB functions for capturing continuous video are available, but not used by the GStreamer ‘pixcisrc’ element.

The GStreamer ‘pixcisrc’ element (i.e. driver) dated 2011 was not written by, nor is supported by, EPIX, Inc.

The GStreamer ´V4L2´ Element

The GStreamer Video for Linux (V4L2) element can be used with the V4L2 PIXCI(R) driver. Unlike the ‘pixcisrc’ element, the PIXCI® V4L2 driver is capable of capturing continuous video in V4L2 Streaming Capture Mode, in V4L2 Dma-Buf Streaming Capture Mode, and in V4L2 Non-Stream Capture Mode (the latter by virtue of queuing the PIXCI® driver’s DMA buffers, which does not involve copying of pixel data nor overhead).

The PIXCI® V4L2 driver complies with the Linux V4L2 design guideline: ‘performing format conversions within the kernel is explicitly frowned upon’. Thus, the pixel data received from the frame grabber is the data provided to GStreamer and any post-postprocessing of image data must be done by GStreamer filters. For example, for cameras outputting Bayer format color data, a GStreamer Bayer-to-RGB post-capture filter will likely be needed in most applications.

Tech Support

For general questions regarding GStreamer, consult one of the GStreamer programming forums. search for relevant topics via Google or other search engines, and/or consult the GStreamer source code.

For questions specifically related to PIXCI® frame grabbers and the PIXCI® V4L2 driver, email v4l2@epixinc.com .

Copyright (C) EPIX, Inc. All Rights Reserved

Updated: 27 March 2023