Elecard HLS Sink¶
Elecard HLS Sink is a GStreamer plugin intended for content preparation via Apple HTTP Live Streaming (HLS) protocol.
Features¶
Elecard HLS Sink has the following features:
Sets segment parameters precisely;
Supports the SMPTE_TT and WebVTT (OCR) subtitles;
Works with Kaltura, uDRM, and Verimatrix servers.
Parameter Description¶
Below is the table describing Elecard HLS Sink parameters and their values.
Pad Properties¶
Parameter Name |
Description |
Value Type |
Available Values [range] |
Default |
Flags |
|---|---|---|---|---|---|
bandwidth |
Bandwidth of the stream in bits per second. |
Integer |
[0 – 2147483647] |
0 |
readable, writable |
buffer-fullness |
Buffer fullness in %. |
Integer |
[0 – 100] |
0 |
readable, writable |
group-id |
Unique identifier of the stream group. |
String |
null |
readable, writable |
|
stream-language |
Language of the stream. |
String |
null |
readable, writable |
|
stream-name |
Unique identifier of the stream. |
String |
null |
readable, writable |
|
stream-teletext-page |
Teletext page of the stream. |
String |
null |
readable, writable |
Element Properties¶
Parameter Name |
Description |
Value Type |
Available Values [range] |
Default |
Flags |
|---|---|---|---|---|---|
atomic-write-playlist |
Enables or disables the recording of atomic playlist. |
Boolean |
True, False |
False |
readable, writable |
base-url |
Specifies a list of directories between the directory that’s broadcast via the HTTP server (NGINX), and the directory targeted by HLS Sink (see |
String |
“” |
readable, writable |
|
dvb-subtitles-mode |
Specifies the output format for DVB subtitles. Available formats:
|
Enum |
0 — SMPTE_TT
1 — WebVTT (OCR)
|
0 |
readable, writable |
encryption-fairplay-version |
Specifies the Fairplay version (DRM). |
String |
1 |
readable, writable |
|
encryption-iv |
Specifies the initial encryption vector in |
String |
“” |
readable, writable |
|
encryption-jwt-token-config |
JWT token configuration in a JSON file 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 an 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 |
Integer |
[0 – 4294967295] |
2 |
readable, writable |
encryption-method |
Specifies the HLS encryption method. Available methods:
|
Enum |
0 — AES_128
1 — SAMPLE_AES
|
0 |
readable, writable |
encryption-mode |
Specifies the segment encryption mode. If the value is set to |
Enum |
0 — None
1 — Simple
2 — Verimatrix 3.6
3 — Verimatrix 4.1
4 — Verimatrix 4.2
6 — GSLabs Dreplus
7 — Drmnow
|
0 |
readable, writable |
encryption-private-key |
Specifies the private key for Kaltura uDRM servers. |
String |
1 |
readable, writable |
|
encryption-session-id |
Specifies the content ID for Verimatrix 4.x servers. |
String |
hls_$Name$ |
readable, writable |
|
encryption-site-id |
Specifies the site ID for Verimatrix 4.x servers. |
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 HLS Sink. |
Pointer |
readable, writable |
||
id |
Specifies the unique channel identifier. |
String |
default |
readable, writable |
|
internal-state |
Lets the user get the current state or set the certain state at the start. CodecWorks can use this parameter to get the number of the current chunk and set it. The parameter is used when it is required to continue the numeration of chunks. |
String |
“” |
readable, writable |
|
key-frame-playlist |
Specifies the playlist of key frames. |
Boolean |
True, False |
True |
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 |
master-playlist-filename |
Specifies the master playlist file name. |
String |
$Name$.m3u8 |
readable, writable |
|
media-playlist-filename |
Specifies the media playlist file name. |
String |
$Name$/$StreamName$.m3u8 |
readable, writable |
|
multistream-mode |
Enables or disables the multistream mode. Available modes:
|
Integer |
0 — no substreams
1 — mixed
2 — only separated substreams
|
0 |
readable, writable |
name |
Specifies the name of the object. |
String |
elecardhlssink0 |
readable, writable |
|
oem-name |
Indicates the OEM name. |
String |
readable |
||
output-path |
Specifies the output directory where the playlists and media segments will be saved. |
String |
“/” |
readable, writable |
|
parent |
Specifies the parent of the object. |
Object of type GstObject |
readable, writable |
||
playlist-duration |
Specifies the duration of a playlist for live content in seconds. |
Integer |
[1 – 3600] |
60 |
readable, writable |
protocol-version |
Specifies a version of the playlist file protocol. |
Integer |
[1 – 3] |
3 |
readable, writable |
rewrite-master-playlist |
Enables or disables the rewriting of the master playlist after each segment. If disabled, the master playlist is rewritten after start and restart. |
Boolean |
True, False |
False |
readable, writable |
scte-format |
Specifies the SCTE-35 format. |
Enum |
0 — ANSI
1 — AWS
2 — Daterange
|
0 |
readable, writable |
segment-duration |
Specifies media segment duration in seconds. |
Integer |
[1 – 60] |
10 |
readable, writable |
segment-filename |
Specifies the media segment file name. |
String |
$Name$/$StreamName$/$Number$.ts |
readable, writable |
|
status-info |
Shows status information. |
String |
“” |
readable |
|
time-format |
Specifies the time format. Available formats:
|
Enum |
0 — YYYY_MM_DDThh_mm_ss_SSS_offset
1 — YYYY_MM_DDThh_mm_ssZ
2 — YYYY_MM_DDThh_mm_ss_SSSZ
|
0 |
readable, writable |
webdav-allow-delete |
Enables or disables the |
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 WebDAV server if an error or a timeout is received. |
Unsigned Integer |
[0 – 4294967295] |
2 |
readable, writable |
webdav-segment-upload-confirmation-timeout |
Specifies a timeout for upload confirmation from the WebDAV server (ms). |
Unsigned Integer |
[0 – 4294967295] |
0 |
readable, writable |
webdav-server-response-timeout |
Specifies a timeout for getting the WebDAV server response (ms). If the value is set to |
Integer |
[0 – 2147483647] |
0 |
readable, writable |
webdav-ssl-verify-peer |
Enables or disables the verification of the peer’s SSL certificate. |
Boolean |
True, False |
True |
readable, writable |
webdav-uploading-timeout |
Specifies the timeout of WebDAV upload (sec). |
Unsigned Integer |
[1 – 60] |
10 |
readable, writable |
webdav-url |
Specifies the output WebDAV URL. |
String |
“” |
readable, writable |
- 1
The header and payload structures may contain other fields required by the CAS.