GstObuMetadata User Guide
GstObuMetadata |
---|
![]() |
GstObuMetadata Basics |
Getting Started |
User Guide |
Examples |
Contact Us |
Adding metadata support to your application involves two main tasks: on the sending side, injecting metadata on the pipeline and for the receiving side, extracting the metadata. RidgeRun's GStreamer GstObuMetadata plugin provides elements for both tasks to apply in a AV1 video stream.
ObuInject element
ObuInject element allows to inject metadata to the AV1 buffer. You can set the desire metadata using the element insertion properties or insert a buffer with a GstMeta property.
Below you will find an overview of the capabilities and properties of the obuinject element.
The full output of the command gst-inspect-1.0 obuinject
is the following:
Factory Details:
Rank none (0)
Long-name OBU inject metadata
Klass Generic
Description adds metadata as Open Bitstream Units (OBU)
Author <kimberly.carvajal@ridgerun.com>
Plugin Details:
Name obu
Description Gstreamer plugin to add metadata as Open Bitstream Units (OBU)
Filename /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libobu.so
Version 0.1.0
License Proprietary
Source module gst-obu
Binary package gst-obu
Origin URL https://www.ridgerun.com/
GObject
+----GInitiallyUnowned
+----GstObject
+----GstElement
+----GstBaseTransform
+----GstObuInject
Pad Templates:
SINK template: 'sink'
Availability: Always
Capabilities:
video/x-av1
stream-format: obu-stream
SRC template: 'src'
Availability: Always
Capabilities:
video/x-av1
stream-format: obu-stream
Element has no clocking capabilities.
Element has no URI handling capabilities.
Pads:
SINK: 'sink'
Pad Template: 'sink'
SRC: 'src'
Pad Template: 'src'
Element Properties:
metadata : A metadata string to be pushed.
flags: readable, writable
String. Default: null
metadata-binary : A binary to be pushed as metadata.
flags: readable, writable
Boxed pointer of type "GByteArray"
name : The name of the object
flags: readable, writable
String. Default: "obuinject0"
parent : The parent of the object
flags: readable, writable
Object of type "GstObject"
qos : Handle Quality-of-Service events
flags: readable, writable
Boolean. Default: false
Properties
- metadata: With this property it is possible to insert a string message. Note that it only add the message to the first buffer. Check the GStreamer pipelines section for use case examples.
- metadata-binary: With this property it is possible to insert a binary metadata to the video stream. Check the C Application Example section for an use case example.
ObuMetaTester: element
Obumetatester is a test element to add a GstMeta message to the video stream buffers followed by the obuinject which will insert the message to the AV1 buffer.
Below you will find an overview of the capabilities and properties of the obumetatester element.
The full output of the command gst-inspect-1.0 obumetatester
is the following:
Factory Details:
Rank none (0)
Long-name Helper element to insert a test GstObuMeta to buffers.
Klass Generic
Description Helper element to insert a test GstObuMeta to buffers.
Author Kimberly Carvajal <kimberly.carvajal@ridgerun.com>
Plugin Details:
Name obu
Description Gstreamer plugin to add metadata as Open Bitstream Units (OBU)
Filename /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libobu.so
Version 0.1.0
License Proprietary
Source module gst-obu
Binary package gst-obu
Origin URL https://www.ridgerun.com/
GObject
+----GInitiallyUnowned
+----GstObject
+----GstElement
+----GstBaseTransform
+----GstObuMetaTester
Pad Templates:
SINK template: 'sink'
Availability: Always
Capabilities:
video/x-av1
stream-format: obu-stream
SRC template: 'src'
Availability: Always
Capabilities:
video/x-av1
stream-format: obu-stream
Element has no clocking capabilities.
Element has no URI handling capabilities.
Pads:
SINK: 'sink'
Pad Template: 'sink'
SRC: 'src'
Pad Template: 'src'
Element Properties:
name : The name of the object
flags: readable, writable
String. Default: "obumetatester0"
parent : The parent of the object
flags: readable, writable
Object of type "GstObject"
qos : Handle Quality-of-Service events
flags: readable, writable
Boolean. Default: false
ObuExtract element
ObuExtract element allows to extract metadata inserted in an AV1 buffer. The element will extract the metadata form the AV1 buffer and add it as a GstObuMeta to the output buffer. The obuextract element also includes a signal property to emit a signal and handle the extracted metadata.
Below you will find an overview of the capabilities and properties of the obuextract element.
The full output of the command gst-inspect-1.0 obuextract
is the following:
Factory Details:
Rank none (0)
Long-name OBU extract metadata
Klass Generic
Description extracts metadata from Open Bitstream Units (OBU)
Author <kimberly.carvajal@ridgerun.com>
Plugin Details:
Name obu
Description Gstreamer plugin to add metadata as Open Bitstream Units (OBU)
Filename /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libobu.so
Version 0.1.0
License Proprietary
Source module gst-obu
Binary package gst-obu
Origin URL https://www.ridgerun.com/
GObject
+----GInitiallyUnowned
+----GstObject
+----GstElement
+----GstBaseTransform
+----GstObuExtract
Pad Templates:
SINK template: 'sink'
Availability: Always
Capabilities:
video/x-av1
SRC template: 'src'
Availability: Always
Capabilities:
video/x-av1
Element has no clocking capabilities.
Element has no URI handling capabilities.
Pads:
SINK: 'sink'
Pad Template: 'sink'
SRC: 'src'
Pad Template: 'src'
Element Properties:
name : The name of the object
flags: readable, writable
String. Default: "obuextract0"
parent : The parent of the object
flags: readable, writable
Object of type "GstObject"
qos : Handle Quality-of-Service events
flags: readable, writable
Boolean. Default: false
signal-new-metadata : Send a signal on metadata
flags: readable, writable
Boolean. Default: false
Element Signals:
"new-metadata" : void user_function (GstElement * object,
guint arg0,
gpointer arg1,
gpointer user_data);
Properties
- signal-new-metadata: Boolean property to enable or disable the new-metadata signal. Setting this property to TRUE will send a signal when the metadata is received.
Signals
- new-metadata: Signal send when metadata is received, with this signal is possible to handle the inserted metadata.