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

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 deduced type. 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 dataprivate
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.

Unsigned Integer

[16 – 8190]

301

readable, writable

program-number

Specifies PMT program_number for this stream. Used for mapping streams to programs. Assigned automatically if 0.

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

Specifies how long to wait for data on input stream before proceeding without it. 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 source scenarios where input on some—or all—elementary streams may experience interruptions or even stop permanently. Normally, the multiplexer waits for enough data to be available for every input stream to begin 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. See also data-timeout parameter.

Boolean

True, False

False

readable, writable

low-delay

Enables low delay mode.

Boolean

True, False

False

readable, writable

metadata-tables

Specifies additional PSI/SI sections in binary format to be inserted in the resulting MPEG-2 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

The name of the element.

String

egstmpegmux0

readable, writable

num-audio-frames-in-pes

Specifies number of audio frames 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 number of TS packets per one output buffer.

Unsigned Integer

[1 – 65535]

7

readable, writable

out-bitrate

Bitrate of the entire MPEG-2 TS generated thus far, in terms of program clock (PCR). In bits per second.

Double

[0 – 1000000]

0

readable

out-time

Current program clock time. Reflects the dynamic of PCR values.

Double

[0 – 1e+09]

0

readable

overhead

Current overhead incurred by NULL packets (padding) and packet headers. Percentage of total TS bitrate.

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. 3

Unsigned Integer

[2 – 100]

15

readable, writable

parent

The parent of the object.

Object of type GstObject

readable, writable

pcr-interval

Specifies how often the PCR timestamps should be signalled in the transport stream for any program in milliseconds.

Unsigned Integer

[10 – 500]

25

readable, writable

pcr-pid

Specifies PID of the stream carrying PCR timestamps for the program that is currently being configured. See program-number property description.

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. See program-number property description.

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.

Unsigned Integer

[1 – 65535]

1

readable, writable

psi-interval

Specifies repetition interval for PSI/SI tables in milliseconds.

Unsigned Integer

[100 – 10000]

300

readable, writable

req-bitrate

Specifies target bitrate of the resulting transport stream. 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 MPEG-TS streams.

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

Current status of multiplexer.

String

“”

readable

sysclock-offset

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

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.

Unsigned Integer

[0 – 65535]

0

readable, writable

use-padding

Enables use of NULL packets. If disabled, CBR transport stream will not be produced.

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.

Boolean

True, False

False

readable, writable

venc-name

Name of video encoder for splice point notifications (given that a single video encoder is present).

String

readable, writable

venc-prop

Name of video encoder property for splice point notifications.

String

readable, writable

video-buffering-delay

Specifies additional video buffering delay. May impact the compliance with the T-STD model in milliseconds.

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.