GstObuMetadata/GstObuMetadata Basics: Difference between revisions

From RidgeRun Developer Wiki
mNo edit summary
Line 1: Line 1:
<noinclude>
<noinclude>
{{GstObuMetadata/Head|previous=|next=|metakeywords=metadata, AV1, OBU|title=GstObuMetadata Basics|}}
{{GstObuMetadata/Head|previous=|next=Getting Started|metakeywords=metadata, AV1, OBU|title=GstObuMetadata Basics|}}
</noinclude>
</noinclude>


Line 47: Line 47:


<noinclude>
<noinclude>
{{GstObuMetadata/Foot||}}
{{GstObuMetadata/Foot||Getting Started}}
</noinclude>
</noinclude>

Revision as of 19:05, 21 February 2024



  Index Next: Getting Started





AV1 Overview

The AV1 video compression format is developed by the Alliance for Open Media (AOMedia) as a successor for VP9. AV1 developement considered hardware specification resulting in a codec balance in compression performance and hardware feasibility.

Open bitstream units (OBU)

An AV1 coded video is comprise of one or more temporal units. Each temorar unit is fed with a sequence of OBUs of different types like: Sequence Header, Temporal Delimiter, Frame Header, Tile Group, Metadata, Frame, Redundant Frame Header, Tile List and Padding. Each OBU contains a header and a payload byte, the header indicates the type of OBU and specifies the payload size.

The image below shows the structure of a temporal unit, where each one can have a sequence of one or more frame headers followed by zero or more tile group.

OBU's temporal unit structure


The GstObuMetadata plugin focuses on the OBU Metadata which carries information of different types such as high dynamic range, scalability, and timecode.

The plugin manage metadata as OBU Metadata units which is inserted to the frame using the obuinject element either as a string, binary or GstMeta. Also, it extract the information out of the OBU Metadata unit with the obuextract element inserted by obuinject.

The plugin description looks like:

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/

  obuextract: OBU extract metadata
  obuinject: OBU inject metadata
  obumetatester: Helper element to insert a test GstObuMeta to buffers.

  3 features:
  +-- 3 elements

References

Links to the AV1 websites:



  Index Next: Getting Started