Elecard MPEG Multiplexer

Elecard MPEG Multiplexer is a GStreamer plugin capable of producing MPEG-2 Transport Stream in accordance with MPEG-2 Part 1: Systems (ISO/IEC 13818-1).

Parameter Description

Below is the table describing Elecard MPEG Multiplexer parameters and their values.

Pad Properties

Parameter Name

Description

Value Type

Available Values [range]

Default

Flags

correct-bitrate 1

Specifies stream bitrate. Has no effect if set to 0.

Unsigned Integer64

[0 – 18446744073709551615]

0

readable, writable

disable-stream

Toggles the stream on/off. Setting false would toggle the stream on, true—off. Ensure that live-mode is enabled for this parameter to operate.

Boolean

true, false

true

readable, writable

enable-scrambling

Enables scrambling (encryption).

Enum

0 — Off (Do not scramble)
1 — On (Scrambling based on configured SCGs, ignore scrambling mode)
2 — Auto (Scrambling based on configured SCGs and scrambling mode)

2

readable, writable

override-type

Specifies stream type. Takes precedence over the automatically selected one. This can be necessary if case-specific data processing is required. Directly influences choice of codecs and other stream processing tools to be used in downstream. Has no effect if -1.

String

-1 — Undefined
0 — PES packets containing private data — private
2 — DVB Subtitles
4 — Teletext
6 — MPEG2 Video
8 — H264
11 — HEVC
13 — MPEG1 Audio
14 — MPEG2 Audio
15 — Dolby Digital Audio
16 — Linear PCM
17 — AAC
18 — Dolby Digital Plus
19 — DTS Audio
20 — DTS-HD Audio
25 — Private section

-1

readable, writable

owner-pmt-pid 2

Specifies PID of the stream carrying program_map_section for the program this stream belongs to. Used for mapping streams to programs.

Unsigned Integer

[16 – 8190]

300

readable, writable

pid

Specifies PID for current stream. This option is available only for TS. The PID is a 13-bit field, indicating the type of data stored in the packet payload.

  • PID value 0x0000 is reserved for the Program Association Table (table 2-26 on page 47 of ISO/IEC 13818-1).

  • PID value 0x0001 is reserved for the Conditional Access Table (table 2-28 on page 49 of ISO/IEC 13818-1).

  • PID values 0x0002-0x000F are reserved.

  • PID value 0x1FFF is reserved for null packets (see ISO/IEC 13818-1).

Unsigned Integer

[16 – 8190]

301

readable, writable

program-number

Specifies the program which the program_map_PID is applicable to. If this is set to 0x0000, then the following PID reference will be considered as the network PID. For all other cases, the value of this field is defined by the user. This field will not accept any single value more than once within one version of the Program Association Table. program-number may be used as a designation for a broadcast channel, for example (ISO/IEC 13818-1).

Unsigned Integer

[1 – 65535]

0

readable, writable

1

This parameter is deprecated.

2

This parameter is deprecated, use the program-number parameter instead.

Element Properties

Parameter Name

Description

Value Type

Available Values [range]

Default

Flags

data-timeout

This parameter is used for live transcoding, if the live-mode parameter value equals 1. It sets timeout for input data waiting (in milliseconds). This parameter is available only for TS. See also live-mode parameter. Has no effect if live-mode is disabled.

Unsigned Integer

[300 – 60000]

1300

readable, writable

descriptors

A GstStructure specifying the Value array of strings containing custom stream descriptors.

Boxed pointer of type GstStructure

readable, writable

ebp-initial-acquisition-time

Specifies acquisition time of the first EBP (Encoder Boundary Point). This tag is used for synchronizing and identifying in-stream frame or MPEG-TS segment boundaries.

Unsigned Integer64

[0 – 18446744073709551615]

0

readable, writable

ebp-segment-duration

Specifies distance between consecutive EBP tags in seconds. This determines segment duration.

Unsigned Integer

[0 – 65535]

0

readable, writable

enforce-required-bitrate

Enforces the multiplexer to stay within the specified, required bitrate. Upon enabling, it is guaranteed that the transport stream’s bitrate will not exceed the target rate specified in the required-bitrate property.

Boolean

True, False

False

readable, writable

event-handler

Pointer to the handler for events signalled by multiplexer.

Pointer

readable, writable

ignore-hrd-info

If enabled, the multiplexer ignores VUI HRD parameters in AVC and HEVC bitstreams. Some encoders may produce untrustworthy HRD parameters, this option is useful in such case.

Boolean

True, False

False

readable, writable

license-state

Specifies the Elecard component license state.

String

evaluation expired

readable

live-mode

Used in live transcoding, available only for TS. Normally, the multiplexer waits for enough data to be available for every input stream to start interleaving. If any of the streams is interrupted, it prevents all interleaving. If live-mode is enabled, the multiplexer will wait for the missing stream for a certain period of time and then proceed without it. If the value is set to 0, the multiplexer waits to receive data from all input streams before starting up. If the value is set to 1, the multiplexer waits for data from each channel for no longer than 1,300 milliseconds (see data-timeout parameter).

Boolean

True, False

False

readable, writable

low-delay

Enables low delay mode, reducing the chances of buffering and lag.

Boolean

True, False

False

readable, writable

metadata-tables

Specifies additional PSI/SI sections in binary format to be inserted in the resulting TS. Potential keys include EIT, NIT, SDT, TDT_TOT, RST—each describing specific information regarding MPEG-TS services and events.

Boxed pointer of type GstStructure

readable, writable

name

Specifies the name of the object.

String

egstmpegmux0

readable, writable

num-audio-frames-in-pes

Specifies max number of audio samples per PES packet. If 0, it is calculated automatically for each individual PES packet.

Unsigned Integer

[0 – 10000]

0

readable, writable

number-of-packets-to-deliver

Specifies the number of transport packets accumulated on the output pin in order to be sent by the single media sample. This parameter is available only for TS.

Unsigned Integer

[1 – 65535]

7

readable, writable

out-bitrate

Displays the output bitrate in bits per second calculated in reliance to the system time stamps (PCR for TS and SCR for PS, respectively).

Double

[0 – 1000000]

0

readable

out-time

Current program clock time, reliant on the system time stamps. Reflects the dynamic of PCR values.

Double

[0 – 1e+09]

0

readable

overhead

Retrieves the total size of headers and padding packets in the output stream, i.e. data increase due to the addition of headers and padding (shown as %).

Integer

[0 – 100]

0

readable

overwrite-system-delay

Specifies if system delay is to be overwritten by reading sysdelay property (see description below). If not, the delay is calculated based on information parsed from elementary streams.

Boolean

True, False

False

readable, writable

padding-level

Specifies the padding level; percentage of total elementary stream bitrate. Specifies which part of the stream will be busy processing additional bytes for stream adjustment or reaching a certain bitrate. Used for maintaining a stable stream and complying with broadcasting and/or network guidelines. 3

Unsigned Integer

[2 – 100]

15

readable, writable

parent

The parent of the object.

Object of type GstObject

readable, writable

pcr-interval

Specifies the distance between two consecutive Program Clock Reference (PCR) fields (in milliseconds). This parameter is available only for TS.

Unsigned Integer

[10 – 500]

25

readable, writable

pcr-pid

Specifies the PID of elementary stream that carries the Program Clock Reference (PCR) timestamps linked to a specific program. The PCR PID can be chosen among PIDs of streams belonging to the program. This parameter is available only for TS. See program-number for more info.

Unsigned Integer

[16 – 8191]

0

readable, writable

pmt-pid

Specifies PID of the stream carrying program_map_section for the program that is currently being configured. This is a 13-bit field specifying the PID of the transport stream packets, which will contain the program_map_section applicable to the related program as specified by the program_number. A single program_number can have no more than a single program_map_PID assigned. The value of the program_map_PID is defined by the user, but shall take only the values that are specified in table 2-4 on page 23 (ISO/IEC 13818-1). See program-number for more info.

Unsigned Integer

[16 – 8190]

300

readable, writable

program-number

Chooses the program to be configured by specifying its PMT program_number. Upon setting program_number, other parameters of the program may be configured via pcr-pid, pmt-pid, and scg-id. If this is set to 0x0000, the following PID reference will be the network PID. For all other cases, the value of this field is defined by the user. This field will not accept any single value more than once within one version of the Program Association Table. The program-number may be used as a designation for a broadcast channel, for example (ISO/IEC 13818-1).

Unsigned Integer

[1 – 65535]

1

readable, writable

psi-interval

Specifies repetition interval for PSI/SI tables in milliseconds. Available only for TS.

Unsigned Integer

[100 – 10000]

300

readable, writable

req-bitrate

Specifies target bitrate of the resulting transport stream in bits per second. This value should exceed the total bitrate of the input streams by at least 5% (20% is recommended). If sufficient bitrate is specified, NULL packets are used to achieve CBR transport stream with exactly the desired bitrate. Otherwise, VBR transport stream is produced by estimating short-term ES bitrates in bits per second.

Integer

[0 – 2147483647]

0

readable, writable

sc-settings

Sets the SimulCrypt settings for a stream. Specifies the conditional access and encryption parameters necessary for content security system to work properly. Used for managing encryption keys, rules, and configuration in TS.

String

readable, writable

sc-settings-path

Specifies the path to SimulCrypt config file.

String

readable, writable

sc-status-full

Provides full info on the current state of SimulCrypt. Goes into detail regarding conditional access components, including condition identifiers, event logs, and statistics.

String

readable

sc-status-summary

Provides a summary on the state of SimulCrypt.

String

readable

scg-id

Sets the Scrambling Control Group (SCG) identifier. SCG specifies the group of encryption keys and rules applicable to streams to ensure content security. Used for managing access and synchronizing encryption within SimulCrypt.

Unsigned Integer

[0 – 65535]

0

readable, writable

status

Displays the current status of the multiplexer.

String

«»

readable

sysclock-offset

Specifies offset to program clock in nanoseconds, affects all timestamps (PTS/DTS/PCR).

Unsigned Integer64

[0 – 9223372036854775807]

0

readable, writable

sysdelay

Specifies initial decoding delay. This corresponds to the initial DTS-PCR distance for video in milliseconds.

Integer

[-1000 – 20000]

0

readable, writable

transport-stream-id

Specifies PAT transport_stream_id. This is a transport stream’s unique ID within the MPEG-TS network.

Unsigned Integer

[0 – 65535]

0

readable, writable

use-padding

Enables/disables the padding packets transmission to not exceed the T-STD restrictions. If the padding is disabled, the bitrate of multiplexed TS is variable (VBR). Otherwise, the bitrate is constant (CBR). This parameter is available only for TS.

Boolean

True, False

True

readable, writable

variable-video-frame-delay

Enables parsing of video buffering delay (such as SEI buffering_period) from elementary stream to aid in multiplexing the stream. Interval between frames can change dynamically based on workload, bitrate, or broadcasting conditions.

Boolean

True, False

False

readable, writable

venc-name

Specifies the name of video encoder for splice point notifications (given that a single video encoder is present); MPTS unsupported.

String

readable, writable

venc-prop

Specifies the name of video encoder property for splice point notifications.

String

readable, writable

video-buffering-delay

Sets additional delay (in milliseconds) between an access unit (AU) position in TS and the AU Presentation Time Stamp (PTS). The parameter influences the output stream compliance to the T-STD model and changes the time at which each byte of encoded video data is transferred from MBn to EBn, using the vbv_delay values encoded in the elementary stream (MBn is the multiplexing buffer for elementary stream n; EBn is the elementary stream buffer for elementary stream n).

Integer64

[-1000 – 20000]

0

readable, writable

write-es-rate

If enabled, elementary stream rate (ES_rate) will be written in PES packet headers. ES_rate indicates the stream payload transfer speed, which can help manage and synchronize decoding.

Boolean

True, False

False

readable, writable

3

This parameter is deprecated.