This module contains elements for handling ISO/IEC 13818-1 PES video streams.
Module Name | Streamer PES Elements |
---|---|
File Name | libpeselements.so |
Class Count | 1 |
PES Video Parser element in typical pipeline.
The PES Video parser element searches for sequence_header and group_of_pictures_header structures in the video stream.
Name | PES Video Parser Descriptor |
---|---|
Version | 1 |
Interface Name | IElementDescriptor |
Binding | C++ |
Name | PES Video Parser |
---|---|
Type | Intermediate |
Priority | 500 |
Input Formats | MPEG-[2/Transport|2/Program|1/System] Stream/Single Video |
Output Formats | Same input an output |
Key | Input | Output |
---|---|---|
PES_START | Required | Committed |
_ActiveVideoStream | Required | Committed |
_PlaybackMode | Required | Committed |
_SourcePosition | Optional | Released |
_SourcePace | Optional | Released |
_GopPosition | Produced | Committed |
_GopPace | Produced | Committed |
The element searches the video stream with the pid that matches the value of the ActiveVideoStream metadata for sequence_header and group_of_pictures_header structures.
When it finds a sequence_header it extracts information like the horizontal and vertical resolution of the video image, the aspect ratio and the frame rate. This information is stored as a _DecoderVideoStreamInfo metadata value and committed on the output pad. The _DecoderVideoStreamInfo parameter is described in greater detail in the Complex Metadata section.
When the element finds a group_of_pictures_header it extracts the time_code information. Based on that information, and any _PlaybackMode, _SourcePosition and _SourcePace metadata received, it estimates a current position relative the start of stream, similar to the Normal Play Time (NPT) used by DSM-CC. It also estimates the rate of change. This information is committed as _GopPosition and _GopPace metadata.