GstObuMetadata Basics
GstObuMetadata |
---|
GstObuMetadata Basics |
Getting Started |
User Guide |
Examples |
Contact Us |
AV1 Overview
The AV1 video compression format is developed by the Alliance for Open Media (AOMedia) as a successor for VP9. AV1 development 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.
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.
GstObuMetadata allows to manage AV1 video streams transmitted via streaming or saved into a video file. The image below shows the pipeline stages for injecting a extracting metadata.
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: