GStreamer - basics

Within the project, we rely on GStreamer1.0 to transfer and stream data from the Jetson devices to consumer applications on other computers. Likewise, the video stream encoder on the Jetsons is a GStreamer pipeline component, omxh264enc.

There are two modes of GStreamer usage: as commandline utility, and as a development library.


The installation of GStreamer for commandline operation (i.e. running GStreamer as-is), refer to https://gstreamer.freedesktop.org/documentation/installing/ .

To check that the installation is successful, you can use the gst-inspect-1.0 tool, like so:

gst-inspect-1.0 fakesrc

The inspect tool reports back information about the queried component.

A minimal test for video gstreamer-ing is the following:

gst-launch-1.0 videotestsrc ! videoconvert ! autovideosink

This will not work over ssh, requires the device to be operated directly. Ubuntu 17.10 on Wayland will have problems with autovideosink, so instead use glimagesink.


To use GStreamer from own applications and develop GSt-enabled applets, we use the libgstreamermm library. Instructions for Ubuntu/Debian: First, install the gstreamer development libraries themselves: sudo -S apt-get -y install libgstreamer1.0-dev libgstreamer-plugins-good1.0-dev

Then, install the libgstreamermm package.

On a modern ubuntu version, the most up-to-date gstreamermm will work: sudo -S apt-get -y install libgstreamermm-1.0-dev

On the Jetson TK1's, unfortunately the library has to be installed manually from an older version. We have build scripts for that. Refer to the Jetson config and Jetson setup pages for further info. Note that the Jetsons shall have version 1.8 of libgstreamermm.

commit: $Id: gst.usage-basics.md 667 2018-03-16 10:22:16Z elidim $