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 fec-mode, fec-rows, fec-columns.

Integer

[0 – 16]

5

readable, writable

fec-columns-port

Specifies the dedicated port for sending in-column FEC packets. Enable FEC broadcasting in fec-mode, fec-rows, fec-columns.

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 fec-mode, fec-rows, fec-columns.

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 fec-mode, fec-rows, fec-columns.

Integer

[0 – 16]

7

readable, writable

fec-rows-port

Specifies the dedicated port for sending in-row FEC packets. Enable FEC broadcasting in fec-mode, fec-rows, fec-columns.

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 control-send-rate equals true, this value specifies the maximum bitrate value (kbits/s) for the sent data stream and guarantees that the data sending rate will not exceed this value (the parameter rc-mode should be disabled). When control-send-rate equals false, the max-bitrate parameter value is ignored, and the bitrate is calculated in accordance with the set mode for the rc-mode parameter. Additionally, this parameter is used for SRT configuring to estimate the optimal sender’s buffer size (SRTO_SNDBUF).

Integer

[0 – 2147483647]

50000

readable, writable

max-clients-limit

Sets the maximum number of incoming connections in SRT listener mode. 0 — infinite number of clients allowed.

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 rc-mode is TS PCR.

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, 0 value should be specified.

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 Simple profile, also RIST doesn’t support AES-192.

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 Main or Advanced profile encryption when establishing the RIST connection. The parameter is inactive when the srt-rist-encryption-type parameter equals to 0.

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 SRT Caller mode.

String

readable, writable

statistics

Specifies the information regarding the current state.

SRT:

  • Loss packets – the number of data packets considered or reported as lost at the sender’s side. Does not correspond to the packets considered as lost at the receiver’s side. A packet is considered lost in two cases:

    • sender receives a loss report from a receiver,

    • sender initiates retransmission after not receiving an ACK packet for a certain time. Refer to FASTREXMIT and LATEREXMIT algorithms (see pktSndLossTotal, pktSndLoss).

  • Drop packets — the number of data packets dropped by the SRT sender that have no chance to be delivered in time (see pktSndDropTotal, pktSndDrop);

  • Retrans packets — the number of retransmitted packets sent by the SRT sender. This statistic is not interchangeable with the similar receiver statistic (see pktRetransTotal, pktRetrans);

  • Send rate — sending rate in Mbps (see mbpsSendRate);

  • IAT — current minimum time interval between consecutively sent packets, in microseconds (see usPktSndPeriod);

  • RTT — Smoothed Round-trip Time (SRTT), an exponentially weighted moving average (EWMA) dependent on an endpoint’s RTT samples, in milliseconds (see msRTT);

  • Send buffer — the time span (msec) of unacknowledged packets in the sender’s buffer (see msSndBuf);

  • RC Buffer — Timestamp-Based Packet Delivery Delay value of the peer. If rate control is on (default for live mode), it returns the value of RC Buffer duration, otherwise 0 (see msSndTsbPdDelay).

    For FEC as part of SRT (see fec-mode):
  • Generated FEC Packets: <1> / (Total: 2) — returns two values:

RIST:

  • cname — identifier of incoming connection;

  • peer_id — internal peer id;

  • bandwidth — average bandwidth calculation in bytes;

  • retry_bandwidth — bandwidth dedicated to retries in bytes;

  • sent — number of sent packets;

  • received — number of received packets;

  • retransmitted — number of retransmitted packets;

  • quality — metric for estimating the broadcast quality that is calculated by a formula 1 (click for formula);

  • rtt — current round-trip-time (RTT), in milliseconds.

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