Usage

Using tiscamera

To list the cameras attached via CSI or FPD-Link:

tcam-ctrl -l

Output will be in the style of:

Model: DFM 37CX390-ML Serial: 45020098 Type: pimipi

To show a live-stream with this camera a simple example command is:

gst-launch-1.0 tcambin ! ximagesink

This starts the tcampimipisrc with the first camera connected and displays a simple live-stream.

See https://www.theimagingsource.com/support/downloads-for-linux/install/tiscameraarm6432/ for a download link.

Using tiscamera-dutils

The Imaging Source provides a module that implemnents many highly optimized transformations and additional properties.

See https://www.theimagingsource.com/support/downloads-for-linux/install/tiscameradutilsarmhfpi/ for a download link.

Directly using the tcampimipisrc gstreamer element

The tcampimipisrc package contains 2 gstreamer elements

  • tcampimipisrc, as the actual gstreamer source filter

  • tcamby1xtransform, as a helper filter to convert the packed raw bayer data to video/x-bayer data

When you start a pipeline, you have to convert the input format the sensor delivers via tcamby1xtransform and then bayer2rgb.

A live video window can be started like this:

gst-launch-1.0 tcampimipisrc ! tcamby1xtransform ! bayer2rgb ! ximagesink

GObject properties

The tcampimipisrc object has the following gstreamer properties:

fieldname

type

description

serial

string

Specifies/fetches the serial number of the current device.

max-queued-gst-buffers

int

Specifies the count of buffers to queue in gstreamer before dropping additional buffers.

do-timestamp

boolean

Apply current stream time to buffers (This sets gst_base_src_set_do_timestamp)

drop-incomplete-buffer

boolean

Enable/disable incomplete buffer dropping. If this is disabled, incomplete buffers may be delivered downstream.

show-overlay

boolean

Debug property that enables a overlay with information about the current image stream.

tcam-properties

GstStructure

Property that can be used to set/get the current TcamPropertyProvider properties. This can be used like: gst-launch-1.0 tcampimipisrc tcam-properties=tcam,ExposureAuto=Off,ExposureTime=33333 ! …

GObject property tcam-properties

In state ==  GST_STATE_NULL:

  • Set on tcam-properties copies the passed in structure. This structure gets applied to the device when transitioning to GST_STATE_READY.

  • Get on tcam-properties returns either the previously passed in structure or if nothing was set, an empty structure.

In state >= GST_STATE_READY:

  • Set on tcam-properties applies the passed in GstStructure to the currently open device.

  • Get on tcam-properties returns the property values of the currently open device.

One usage is using this to specify the startup properties of the device in a command line.

E.g.:

gst-launch-1.0 tcampimipisrc prop-struct=tcam,ExposureAuto=Off,ExposureTime=33333 ! ...

Property names and types are the ones of the TcamPropertyBase objects exposed by the TcamPropertyProvider interface.

GObject property serial

In state ==  GST_STATE_NULL:

  • Set on serial sets the serial of the camera to open when transitioning to GST_STATE_READY. If no such camera exists, the transition fails

  • Get on serial returns either the previously set serial or if nothing was set, NULL.

In state >= GST_STATE_READY:

  • Set on serial fails with an error.

  • Get on serial returns the serial of the currently opended device.

Use this property to open a speicific device, e.g.:

gst-launch-1.0 tcampimipisrc serial=345 ! fakesink

If this property is not set, the first available device is opened.