Elecard DASH Sink

Elecard DASH Sink is a GStreamer plugin intended for content preparation via the MPEG-DASH (Dynamic Adaptive Streaming over HTTP, ISO/IEC 23009-1) protocol.

Features

Elecard DASH Sink has the following features:

  • Enables ordering of audio tracks;

  • Supports the SMPTE_TT and WebVTT (OCR) subtitles;

  • Works with Kaltura uDRM and Verimatrix servers.

Parameter Description

Below is the table describing Elecard DASH Sink parameters and their values.

Pad Properties

Parameter Name

Description

Value Type

Available Values [range]

Default

Flags

adaptation-set-id

Specifies an ID that relates the profile with AdaptationSet. This parameter is assigned by CodecWorks automatically and usually doesn’t require configuring.

Integer

[-1 – 2147483647]

-1

readable, writable

bandwidth

Specifies stream bandwidth in bit/s.

Integer

[0 – 2147483647]

0

readable, writable

buffer-fullness

Specifies buffer occupancy in %. As of now, it remains unchanged and always equals zero.

Integer

[0 – 100]

0

readable, writable

enable-encryption

Enables or disables segment encryption.

Boolean

true, false

true

readable, writable

hls-autoselect

Enables or disables HLS. AUTOSELECT=YES attribute.

Boolean

true, false

true

readable, writable

hls-default

Enables or disables HLS. DEFAULT=YES attribute.

Boolean

true, false

false

readable, writable

hls-forced

Enables or disables HLS. FORCED=YES attribute.

Boolean

true, false

false

readable, writable

hls-group

Specifies the HLS GROUP-ID attribute.

String

null

readable, writable

stream-label

Specifies label element in DASH MPD representation element.

String

null

readable, writable

stream-language

Specifies the stream language.

String

null

readable, writable

stream-name

Specifies the unique stream identifier.

String

null

readable, writable

stream-role

Specifies Role element in AdaptationSet.

Enum

0 — No
1 — caption
2 — subtitle
3 — Main
4 — alternate
5 — supplementary
6 — commentary
7 — dub
8 — description
9 — sign
10 — metadata
11 — enhance audio intelligibility
12 — emergency

0

readable, writable

stream-teletext-page

Specifies the stream teletext page.

String

null

readable, writable

stream-timescale

Specifies the timescale of a stream.

Integer

[0 – 2147483647]

0

readable, writable


Element Properties

Parameter Name

Description

Value Type

Available Values [range]

Default

Flags

atomic-write-playlist

Enables or disables the atomic playlist recording. During recording, a playlist is guaranteed to be received in an inconsistent state.

Boolean

true, false

false

readable, writable

audio-priority

Specifies the order of audio tracks. This is useful for prioritizing a certain audio track, which is indicated by a 3-letter descriptor.

String

“”

readable, writable

aws-scte-dash-element-type

Specifies the Event element type for DASH MPD.

Enum

0 — ClearXML
1 — Base64Binary

0

readable, writable

channel-name

Specifies the unique channel identifier.

String

Default

readable, writable

correction-timeout

Specifies OTT correction timeout in sec.

Unsigned Integer

[0 – 4294967295]

0

readable, writable

dvb-subtitles-mode

Specifies the output format for DVB subtitles. Available formats:

  • SMPTE_TT — images to SMPTE-TT subtitles;

  • WebVTT (OCR) — recognize subtitles and save as WebVTT.

Enum

0 — SMPTE_TT
1 — WebVTT (OCR)

0

readable, writable

encryption-iv

Specifies the initial encryption vector in XXXXXXXXXXXXXXXX hex format (for tests). Generally, this parameter’s value is overrode by IV—issued CAS; used for testing only.

String

“”

readable, writable

encryption-jwt-token-config

JWT token configuration in a JSON format meant for signing a CPIX document when requesting an encryption key. Used along with the encryption-mode parameter with the Drmnow value. Minimum configuration format 1:

{“header”:{“alg”:“RS256”,}, “payload”:{},“private_key”:private_key_in_base64_format}

String

“”

readable, writable

encryption-key-update-interval

Specifies the interval between requests for a new encryption key from the Verimatrix and DRMnow key servers.

Integer

[0 – 2147483647]

1800

readable, writable

encryption-key-update-timeout

Specifies the timeout for getting an encryption key from the DRM server (sec). If the value is set to 0, the timeout is infinite. If the time is out, DASH Sink will refuse to record segments and signal to CodecWorks that encryption key receipt failed.

Unsigned Integer

[0 – 4294967295]

2

readable, writable

encryption-mode

Specifies the segment encryption mode. If the value is set to 0, the encryption is disabled.

Enum

0 — None
3 — Vmx4.1
4 — Vmx4.2
5 — Kaltura
7 — Drmnow

0

readable, writable

encryption-private-key

Specifies the private key for Kaltura uDRM servers.

String

“”

readable, writable

encryption-session-id

Specifies the content ID for Verimatrix 4.x servers.

String

dash_$Name$

readable, writable

encryption-site-id

Specifies the site ID for Verimatrix 4.x servers.

Unsigned Integer

[0 – 4294967295]

1

readable, writable

encryption-url

Specifies the encryption key address.

String

“”

readable, writable

event-handler

Specifies the pointer to the handler for events signalled by DASH Sink.

Pointer

readable, writable

file-extension

Specifies the file extension.

String

“”

readable, writable

hls-dvb-subtitles-mode

Specifies the output format for DVB subtitles in the HLS mode. Available formats:

  • SMPTE_TT — images to SMPTE-TT subtitles;

  • WebVTT (OCR) — recognize subtitles and save as WebVTT.

Enum

0 — SMPTE_TT
1 — WebVTT (OCR)

0

readable, writable

hls-master-playlist-filename

Specifies the master playlist file name for the HLS mode.

String

$Name$/$Name$.m3u8

readable, writable

hls-media-playlist-filename

Specifies the media playlist file name for the HLS mode.

String

$Name$/$StreamName$.m3u8

readable, writable

hls-scte-format

Specifies the SCTE-35 format for the HLS mode.

Enum

0 — ANSI
1 — AWS
2 — Daterange

0

readable, writable

init-segment-filename

Specifies the file name of the initialization segment.

String

$Name$/$StreamName$/$StreamName$_init

readable, writable

internal-state

Specifies the internal state.

String

“”

readable, writable

license-state

Indicates the license state.

String

evaluation

readable

live-mode

Enables or disables the live content mode.

Boolean

true, false

true

readable, writable

mpd-mode

Specifies the MPD period mode.

Enum

0 — Single-Period
1 — Multi-Period

0

readable, writable

name

Specifies the name of the object.

String

elecarddashsink0

readable, writable

oem-name

Indicates the OEM name.

String

readable

ott-correction

Enables or disables the correction of deviation between the actual and calculated segment numbers. It functions in combination with the timeline-mode parameter in the Template@Duration mode.

Boolean

true, false

true

readable, writable

output-path

Specifies the output directory for the playlists and media segments to be saved in.

String

“/”

readable, writable

parent

Specifies the parent of the object.

Object of type GstObject

readable, writable

playlist-duration

Specifies the playlist duration for live content in seconds.

Unsigned Integer

[1 – 4294967295]

60

readable, writable

playlist-filename

Specifies the playlist file name.

String

$Name$/$Name$.mpd

readable, writable

playlist-type

Specifies the playlist type.

Enum

0 — DASH
1 — HLS
2 — DASH and HLS

0

readable, writable

playlist-update-period

Specifies the playlist update period (ms).

Unsigned Integer

[0 – 4294967295]

0

readable, writable

scte-splice-removal-mode

Specifies a mode for removing SCTE splices from the manifest. Available modes:

  • After stop time — Erase SCTE splice from MPD after splice stop time;

  • After start time — Erase SCTE splice from MPD after splice start time.

Enum

0 — After stop time
1 — After start time

0

readable, writable

segment-duration

Specifies the media segment duration in ms.

Unsigned Integer

[1 – 4294967295]

10000

readable, writable

segment-duration-gop

Specifies the media segment duration in groups of pictures (GOP).

Unsigned Integer

[0 – 4294967295]

0

readable, writable

segment-filename

Specifies the media segment file name.

String

$Name$/$StreamName$/$Number$

readable, writable

segments-generate-max-depth

Specifies the segment generation time if the input stream is interrupted. This is necessary to avoid breaks in broadcasting.

Integer

[0 – 2147483647]

30

readable, writable

status-info

Indicates status information.

String

“”

readable

target-period-duration

Specifies the target period duration (sec). Used along with the mpd-mode parameter with the Multi-Period value.

Integer

[0 – 2147483647]

0

readable, writable

teletext-subtitles-mode

Specifies the output format for teletext subtitles. Available modes:

  • TTML — the TTML subtitles format;

  • WebVTT — the WebVTT subtitles format.

Enum

0 — TTML
1 — WebVTT

0

readable, writable

timeline-mode

Specifies the timeline mode. Available modes:

  • SegmentTimeline — The manifest contains the list of segments;

  • Template@Duration — The manifest does not contain the list of segments, but stores the segment duration and recording time of the first segment.

Enum

0 — SegmentTimeline
1 — Template@Duration

0

readable, writable

webdav-allow-delete

Enables or disables the WebDAV allow delete mode.

Boolean

true, false

false

readable, writable

webdav-current-bitrate

Indicates the current WebDAV bitrate.

String

“”

readable

webdav-error

Indicates the WebDAV error.

String

“”

readable

webdav-reupload-attempts

Specifies the number of attempts to resend a chunk or another file to the WebDAV server if an error or a timeout is received.

Unsigned Integer

[0 – 4294967295]

2

readable, writable

webdav-segment-upload-confirmation-timeout

Specifies the timeout for confirming the upload from the WebDAV server (ms).

Unsigned Integer

[0 – 4294967295]

0

readable, writable

webdav-server-response-timeout

Specifies the timeout for getting the WebDAV server response (ms). Setting the value to 0 disables the timeout.

Integer

[0 – 2147483647]

0

readable, writable

webdav-uploading-timeout

Specifies the WebDAV uploading timeout (sec).

Unsigned Integer

[1 – 60]

10

readable, writable

webdav-url

Specifies the output WebDAV URL.

String

“”

readable, writable

1

Header and payload structures may contain other fields required by the CAS.