GstSEIMetadata - Getting Started - Building GstSEIMetadata

From RidgeRun Developer Wiki


Previous: Getting Started/Getting the code Index Next: User Guide





Dependencies

The GstSEI plugin has the following dependencies:

GStreamer

The GStreamer packages are likely already installed in your Ubuntu OS distribution. In case you want to double-check and install the missing packages, run the following commands.

sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-bad

Meson

The GstSEI plugin makes use of the Meson build system. To build correctly this plugin you need to use the latest version of Meson:

First, make sure python dependencies and ninja are installed

sudo apt install python3 python3-pip python3-setuptools python3-wheel ninja-build

Then, use pip3 to install Meson.

sudo -H pip3 install meson

Hotdoc

The GstSEI plugin makes use of the Hotdoc documentation. In order to install it you need to follow the next steps:

First, install the Hotdoc dependencies:

sudo -H pip3 install markupsafe==1.1.1

sudo apt install python3-dev libxml2-dev libxslt1-dev cmake libyaml-dev libclang-dev llvm-dev libglib2.0-dev libjson-glib-dev flex

Then, install their latest release version with:

sudo -H pip3 install hotdoc

Building the project

To build the GstSEI plugin natively on the hardware, on its simplest form, run:

meson build --prefix /usr/
ninja -C build
ninja -C build test
sudo ninja -C build install

For additional customization, you may refer to the following table of options:

`
Configure Option Description
-Dexamples=disabled Skip examples compilation
-Dtests=disabled Skip tests compilation
-Ddoc=disabled Skip documentation generation
--prefix /usr Set the installation path of the library
Table 1. GstSEI configuration options (Meson)

Check the element

After installing the plugin test that the plugin is being properly picked up by GStreamer by running:

gst-inspect-1.0 sei

with expected output:

Plugin Details:
  Name                     sei
  Description              Gstreamer plugin to add meta-data as SEI NAL units
  Filename                 /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libsei.so
  Version                  0.5.4
  License                  Proprietary
  Source module            gst-sei
  Binary package           gst-sei
  Origin URL               Unknown package origin

  seiextract: SEI Extract Metadata
  seiinject: SEI Inject Meta-data
  seilatencytester: Helper element to measure latency using the GstSeiMeta from buffers.
  seimetatimestamp: Helper element to insert a test GstSeiMeta to buffers.

  4 features:
  +-- 4 elements


And also run:

gst-inspect-1.0 | grep sei

with expected output:

sei:  seiextract: SEI Extract Metadata
sei:  seiinject: SEI Inject Meta-data
sei:  seilatencytester: Helper element to measure latency using the GstSeiMeta from buffers.
sei:  seimetatimestamp: Helper element to insert a test GstSeiMeta to buffers.


Previous: Getting Started/Getting the code Index Next: User Guide