Elecard NW Renderer¶
Elecard NW Renderer is a GStreamer filter for broadcasting media data to the network. It is capable of sending RTP, UDP, SRT, and RIST packets as well as supports the announcement of its data session via SAP (SDP) packets.
Features¶
Elecard NW Renderer has the following features:
Capable of sending RTP, UDP, SR, and RIST packets;
Supports announcement of its data session via SAP (SDP) packets;
Supports various processing policies via DSCP, among which are the ones that can provide lower latency;
Provides testing environment for simulating packet loss.
Parameter Description¶
Below is the table describing Elecard NW Renderer parameters and their values.
Parameter Name |
Description |
Value Type |
Available Values [range] |
Default |
Flags |
|---|---|---|---|---|---|
bitrate |
Gets current output bitrate. |
Integer |
[0 – 2147483647] |
0 |
readable |
buffer-usage |
Shows the percentage of output buffer fullness. |
Float |
[0 – 100] |
0 |
readable |
control-send-rate |
Enables or disables the sending rate control. |
Boolean |
true, false |
false |
readable, writable |
dscp |
Sets the Differentiated Services Code Point (DSCP) value—a field in an IP packet’s header that specifies the priority and class of traffic management. With its help, the network equipment can rely on various processing policies, which can ensure lower latency in audio and video streams, for example. The values should be set in accordance with RFC 791. |
Integer |
[0 – 63] |
0 |
readable, writable |
enable-sap |
Enables/disables SAP (Session Announcement Protocol) information broadcast. This is used for informing a network on the available multimedia sessions as well as their parameters. |
Boolean |
true, false |
true |
readable, writable |
fec-columns |
Specifies the number of columns where groups of packets should be arranged in during FEC broadcasting. Enable FEC broadcasting in |
Integer |
[0 – 16] |
5 |
readable, writable |
fec-columns-port |
Specifies the dedicated port for sending in-column FEC packets. Enable FEC broadcasting in |
Integer |
[0 – 65535] |
10502 |
readable, writable |
fec-mode |
Specifies the FEC broadcasting mode. Available for RTP streams (according to ST 2022-1) and SRT streams (both Listener and Caller modes). Enable FEC broadcasting in |
Integer |
0 — Disabled
1 — Row Only
2 — Row and Columns
|
0
|
readable, writable |
fec-rows |
Specifies the number of rows where groups of packets should be arranged in during FEC broadcasting. Enable FEC broadcasting in |
Integer |
[0 – 16] |
7 |
readable, writable |
fec-rows-port |
Specifies the dedicated port for sending in-row FEC packets. Enable FEC broadcasting in |
Integer |
[0 – 65535] |
10501 |
readable, writable |
high-precision-broadcasting |
Enables/disables high-accuracy broadcasting. If enabled, component works in the high-resolution mode, which in turn increases the CPU usage. If disabled, the CPU usage decreases, leading to decline in broadcast quality. |
Integer |
0 — Disabled
1 — Enabled
|
0 |
readable, writable |
host |
Specifies the destination IP address (dotted or DNS). |
String |
234.5.5.5 |
readable, writable |
|
interface |
Specifies the network interface. |
String |
readable, writable |
||
ip-source |
Specifies the source IP address that should be used in IP packet headers. To ensure this works properly: • On Windows—install the
pcap library;• On Linux—the process that will launch the pipeline should be initialized via the sudo command or have the
CAP_NET_RAW permission. |
String |
readable, writable |
||
license-state |
Specifies the Elecard component license state. |
String |
evaluation |
readable |
|
max-bitrate |
When |
Integer |
[0 – 2147483647] |
50000 |
readable, writable |
max-clients-limit |
Sets the maximum number of incoming connections in SRT listener mode. |
Unsigned Integer |
[0 – 4294967295] |
0 |
readable, writable |
port |
Specifies the destination UDP port for multiplexed streams. |
Integer |
[0 – 65535] |
10201 |
readable, writable |
rc-buffer-duration |
Sets the desired average latency (in milliseconds) to even out bitrate fluctuations. It defines how much data buffer rate control can collect prior to sending it. |
Integer |
[0 – 30000] |
700 |
readable, writable |
rc-clock-type |
When
TS PCR is set as the output rate control mode, the type of clock used shall be determined:•
Steady—the type of clock that depends on the clock set on the computer. This clock may be inaccurate due to the buffer being over- or underrun.•
System—the type of clock that depends on worldwide time. |
Enum |
0 — Steady clock
1 — System clock
|
0 |
readable, writable |
rc-mode |
Specifies the data output speed management mode:
•
Disabled—zero rate control, data is transferred to the network right after getting acquired by NW Renderer; the most efficient option that puts less workload on NW Renderer itself.•
Average—data buffered until reaching max capacity, also referred to as bitrate-smoothing-depth. This mode doesn’t require PCR timestamps to be present in a stream.•
TS PCR—Like in Average, this mode enables data buffering, each network packet transferred at fixed intervals. With bitrate being estimated thanks to PCR timestamps, this is the go-to option for broadcasting TS streams.•
AVG LowDelay—packet transfer time is estimated the same way as in Average, but to achieve low delay, no buffering takes place. Without buffering, broadcast may be unstable.•
TS PCR LowDelay—similar to AVG LowDelay, except for packet transfer time being estimated the same way as in TS PCR. |
Integer |
0 — Disabled
1 — Average
2 — TS PCR
3 — AVG LowDelay
4 — TS PCR LowDelay
|
1 |
readable, writable |
rc-output-rate-correction |
Specifies the broadcast rate adjustment to ensure fixed delay when |
Integer |
0 — Disabled
1 — Enabled
|
0 |
readable, writable |
sdp |
Contains an SDP (Session Description Protocol) message describing the parameters of a multimedia session. Inside are the media, codec, address, and port types as well as other information necessary to ensure a stream is set up and ready for broadcast. |
String |
readable |
||
send-time-correction |
Specifies the duration of HLS/DASH segments in milliseconds when remuxing from HLS or DASH.
The parameter is used to provide smooth playback during broadcasting and prevent possible bitrate fluctuations if loss of one or some segments occurs.
In case remuxing from HLS or DASH is not required, |
Integer |
[0 – 300000] |
0 |
readable, writable |
srt-rist-encryption-type |
Specifies the type of encryption for SRT or RIST connection.
For RIST: encryption is not supported by the |
Enum |
0 — Disabled
1 — AES-128
2 — AES-192
3 — AES-256
|
0 |
readable, writable |
srt-rist-passphrase |
Sets the specified passphrase for SRT connection or for |
String |
readable, writable |
||
srt-stream-id |
This string can be used completely free-form. However, it is recommended to follow the SRT Access Control Guidelines. The option is available only in the |
String |
readable, writable |
||
statistics |
Specifies the information regarding the current state. SRT:
RIST:
|
String |
readable |
||
test-drop-probability |
Sets the controlled packet drop (loss) probability for testing purposes. Used to simulate an unstable network and check how data loss-proof a system is. |
Integer |
[0 – 1000] |
0 |
readable, writable |
transport |
Specifies the transport protocol used for data transmission. The chosen protocol (such as UDP, TCP, RTP) determines the transmission means, reliability, latency, and behavior in case of packet loss. |
Enum |
0 — UDP
1 — RTP/AVP
4 — SRT listener mode
5 — SRT caller mode
6 — RIST listener mode
7 — RIST caller mode
|
0 |
readable, writable |
ttl |
Sets the TTL (Time To Live) value for socket-level network packets. TTL defines the max hop amount a packet can go through prior to being discarded. This helps restrict the traffic distribution area and prevent the packets from looping inside their network. |
Integer |
[0 – 255] |
64 |
readable, writable |
use-fixed-ports |
Enables or disables forced use of fixed ports for transmitting data, with output and input processes relying on the same set of ports. |
Integer |
0 — Disabled
1 — Enabled
|
0 |
readable, writable |
- 1
Q = (sent × 100.0) / sent + bloat_skipped + bandwidth_skipped + retransmit_skipped + retransmitted