Difference between revisions of "GstSEIMetadata/Getting Started/Building GstSEIMetadata"
Maumontero (talk | contribs) (Created page with "<noinclude> {{GStreamer H264 - H265 Metadata/Head|previous=Getting Started/Getting the code|next=Getting Started/Getting the code|keywords=}} </noinclude> <noinclude> {{GStre...") |
m |
||
(7 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<noinclude> | <noinclude> | ||
− | {{ | + | {{GstSEIMetadata/Head|previous=Getting Started/Getting the code|next=User Guide|metakeywords=}} |
</noinclude> | </noinclude> | ||
+ | |||
+ | == 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. | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-bad | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === 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 | ||
+ | <syntaxhighlight lang=bash> | ||
+ | sudo apt install python3 python3-pip python3-setuptools python3-wheel ninja-build | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Then, use '''pip3''' to install '''Meson'''. | ||
+ | <syntaxhighlight lang=bash> | ||
+ | sudo -H pip3 install meson | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === 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: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | 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 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Then, install their latest release version with: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | sudo -H pip3 install hotdoc | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | == Building the project == | ||
+ | |||
+ | To build the GstSEI plugin natively on the hardware, on its simplest form, run: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | meson build --prefix /usr/ | ||
+ | ninja -C build | ||
+ | ninja -C build test | ||
+ | sudo ninja -C build install | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | For additional customization, you may refer to the following table of options: | ||
+ | |||
+ | <center>` | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! 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 | ||
+ | |} | ||
+ | <b>Table 1.</b> GstSEI configuration options (Meson)</caption> | ||
+ | </center> | ||
+ | |||
+ | === Check the element === | ||
+ | |||
+ | After installing the plugin test that the plugin is being properly picked up by GStreamer by running: | ||
+ | |||
+ | <pre> | ||
+ | gst-inspect-1.0 sei | ||
+ | </pre> | ||
+ | |||
+ | with expected output: | ||
+ | |||
+ | <pre> | ||
+ | Plugin Details: | ||
+ | Name sei | ||
+ | Description Gstreamer plugin to add meta-data as SEI NAL units | ||
+ | Filename /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libsei.so | ||
+ | Version 0.1.0 | ||
+ | License Proprietary | ||
+ | Source module gst-sei | ||
+ | Binary package gst-sei | ||
+ | Origin URL Unknown package origin | ||
+ | |||
+ | seiinject: SEI Inject Meta-data | ||
+ | seiextract: SEI Extract Metadata | ||
+ | seimetatester: Helper element to insert a test GstSeiMeta to buffers. | ||
+ | |||
+ | 3 features: | ||
+ | +-- 3 elements | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | |||
+ | And also run: | ||
+ | |||
+ | <pre> | ||
+ | gst-inspect-1.0 | grep sei | ||
+ | </pre> | ||
+ | |||
+ | with expected output: | ||
+ | |||
+ | <pre> | ||
+ | sei: seimetatester: Helper element to insert a test GstSeiMeta to buffers. | ||
+ | sei: seiextract: SEI Extract Metadata | ||
+ | sei: seiinject: SEI Inject Meta-data | ||
+ | </pre> | ||
<noinclude> | <noinclude> | ||
− | {{ | + | {{GstSEIMetadata/Foot|Getting Started/Getting the code|User Guide}} |
</noinclude> | </noinclude> |
Latest revision as of 12:56, 7 March 2023
GstSEIMetadata | |
---|---|
GstSEIMetadata Basics | |
|
|
Getting Started | |
|
|
User Guide | |
|
|
Examples | |
|
|
Performance | |
|
|
Contact Us |
Contents
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/x86_64-linux-gnu/gstreamer-1.0/libsei.so Version 0.1.0 License Proprietary Source module gst-sei Binary package gst-sei Origin URL Unknown package origin seiinject: SEI Inject Meta-data seiextract: SEI Extract Metadata seimetatester: Helper element to insert a test GstSeiMeta to buffers. 3 features: +-- 3 elements
And also run:
gst-inspect-1.0 | grep sei
with expected output:
sei: seimetatester: Helper element to insert a test GstSeiMeta to buffers. sei: seiextract: SEI Extract Metadata sei: seiinject: SEI Inject Meta-data