Skip to main content
Version: v5.9.0

Install GStreamer

For example GStreamer pipelines and NETINT plugin details, see APPS 610 GStreamer Integration with libxcoder.

This method is intended for systems that already have, or will separately install, a supported GStreamer version.

Starting with Quadra 5.8.2, the NETINT GStreamer plugins are built and installed independently from the GStreamer source tree. A NETINT patch no longer needs to be applied to the GStreamer source tree.

Prerequisites​

The NETINT GStreamer plugins require:

  • A compatible Quadra libxcoder installation
  • A supported GStreamer installation
  • Standard build tools required by the plugin build

Install libxcoder​

The installation of libxcoder MUST be completed before installing NETINT’s Gstreamer plugin.

Install or use existing GStreamer​

If a supported version of GStreamer is already installed, no separate GStreamer build is required.

Verify the active installation:

which gst-launch-1.0
gst-launch-1.0 --version
pkg-config --modversion gstreamer-1.0

If GStreamer is not installed, follow the official GStreamer build and installation instructions.

Check the Meson Version​

When building GStreamer from source, verify which Meson executable is active:

which meson
meson --version
type -a meson

Ubuntu may provide an older Meson version at /usr/bin/meson.

Build scripts that invoke meson normally resolve it using the current shell PATH, so a newer user-installed version can be used without removing the system Meson package.

If the active Meson version is too old:

sudo apt-get update
sudo apt-get install -y pipx ninja-build
pipx install meson
pipx ensurepath
export PATH="$HOME/.local/bin:$PATH"
hash -r

If Meson is already installed with pipx:

pipx upgrade meson
export PATH="$HOME/.local/bin:$PATH"
hash -r

Verify the active executable and version:

which meson
meson --version
type -a meson

hash -r clears Bash's cached command locations so the newly installed Meson executable can be selected.

Install the NETINT GStreamer Plugins​

  1. Clone the public NETINT GStreamer plugin repository.
git clone https://github.com/NETINT-Technologies/netint_gst_plugins.git
cd netint_gst_plugins
  1. Use a plugin release or tag that is compatible with the installed Quadra SDK and libxcoder version.
warning

Do not assume that the latest development branch is compatible with an older Quadra SDK or libxcoder release

  1. Build and install the NETINT GStreamer plugins.
./build_ni_gst_plugins.sh --install
  1. View the available build options if needed.
./build_ni_gst_plugins.sh --help
  1. Refresh the shared library cache.
sudo ldconfig

The public plugin repository is available at NETINT-Technologies/netint_gst_plugins.

Verify the Installation​

Verify GStreamer and libxcoder:

gst-launch-1.0 --version
pkg-config --modversion gstreamer-1.0
pkg-config --modversion xcoder

Verify that GStreamer can discover the NETINT Quadra plugin:

gst-inspect-1.0 niquadra

Verify representative NETINT decoder, encoder, and filter elements:

gst-inspect-1.0 niquadrah264dec
gst-inspect-1.0 niquadrah264enc
gst-inspect-1.0 niquadrascale

Optional compact pass/fail check:

gst-inspect-1.0 niquadrah264dec >/dev/null && \
gst-inspect-1.0 niquadrah264enc >/dev/null && \
gst-inspect-1.0 niquadrascale >/dev/null && \
echo "NETINT GStreamer plugins detected successfully"

If gst-inspect-1.0 niquadra cannot find the plugin, verify that the plugin was installed into a plugin path used by the active GStreamer installation.