GstSEIMetadata - GstSEIMetadata Basics
GstSEIMetadata |
---|
GstSEIMetadata Basics |
Getting Started |
User Guide |
Examples |
Performance |
Contact Us |
H264-H265 Standards Overview
H264, also known as Advanced Video Coding (AVC) and H265, also known as High Efficiency Video Coding (HEVC) are respectively the most and the second most used video compression standards. They offer good video quality at lower bit rates than other standards such as MPEG-2 or H263.
Network Abstraction Layer
The Network Abstraction Layer (NAL) is part of the H264 and H265 standards. The NAL units are the constituent parts of the encoded video, in H264 the first byte is a header byte that indicates the type of data in the NAL unit, the remaining bytes contain the payload data of the type specified by the header. NAL units are divided into VCL NAL units and Non-VCL NAL units. NAL units of the first kind contain data that represents values of the samples in the video pictures, while NAL units of the second kind contain additional information such as parameter sets and supplemental enhanced information.
Access Units
An access unit is a set of NAL units of a specific form. Decoding one access unit results in one picture. The image below shows the structure of a NAL access unit.
Access Unit Delimiter
May or may not be present, helps locating the start of the access unit.
Suplemental Enhanced Information (SEI)
Contains data such as picture timing and other relevant information.
Primary Coded Picture
A set of VCL NAL units that represent the samples of the video picture.
Redundant Coded Picture
Redundant representations of areas of the same video picture, used in recovering from loss or corruption of data in the primary coded pictures.
End of Sequence
May or may not be present, indicates the end of the video sequence.
End of Stream
May or may not be present, indicates the stream is ending.
The GstSEI plugin
The GstSEI plugin manages metadata as SEI NAL units. It contains three elements: seiinject to insert metadata either as a property, as binary or as a GstMeta, seiextract to extract the metadata inserted by seiinject and seimetatimestamp which puts the buffer timestamp into a GstMeta.
#gst-inspect-1.0 sei 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
References
Links to the H264 and H265 websites: