Cloud Decoder LDMP Settings
Streambox Cloud Decoder Settings:
Network Transport and Error Correction
There are two options for network transport in the stream from the Streambox Cloud Server to its destination: LDMP and UDP. LDMP is the two-way error-correcting transport protocol that allows the Decoder to give network quality feedback to the Server. UDP is the network protocol that gives no feedback, and is a one-way data stream from Server to Decoder, which listens passively.
NOTE: Both LDMP and UDP Mode use the UDP (Uniform Datagram Packet) Network Protocol packets, rather than TCP packets. UDP packets are, by their nature, connectionless and do not require acknowledgment from the receiver. Streambox's LDMP Transport creates a system of acknowledgment to compensate for this. LDMP is the recommended mode.
Protocol: LDMP
LDMP (Low-Delay, Multi-Path) is Streambox's proprietary Transport Protocol that combines error-correction and latency/bandwidth measurement to compensate for network loss with minimal bandwidth increase, as well as compensate for some sags in bandwidth with minimal impact on picture quality. This is the recommended setting.
LDMP settings in the Streambox Cloud Server are described below. Generally, the two settings that users are likely to want to change from the defaults are ACK Timeout and Buffer Size Packets, in particular, the bitrate limit of that field.
ACK Timeout: 'The Acknowledgment Timeout (elsewhere called ACK_TO) sets the length of time, in milliseconds, the Server will wait to receive from the Decoder an acknowledgment that any given packet has arrived.
The default setting of auto;130;1000 is the automatic detection mode, where the Server will send 1000 packets to measure the round-trip-time (RTT, similar to ping) to the Decoder, multiply the average by 130%, and use that value. However, you can certainly set a manual value based on your estimated normal RTT. It is recommended that you keep it no lower than 100. Below, is a chart with some additional suggested settings.
Setting (milliseconds) | Network quality*/type |
auto;130;1000 | Automatic measurement setting (default) |
0 to 200 | Same City, Wired Network |
200 to 300 | WiFi with low congestion or cross-country Internet |
300 to 600 | WiFi with medium congestion or trans-continental internet |
500 to 700 | Highly Congested Wired Network |
800 to 1200 | 3G or 4G Wireless Network (WWAN, Mobile) |
2000 to 4000 | Satellite (BGAN, Thuraya, etc.) |
*This refers to the quality of the worst network between the Streambox Cloud Server and the Decoder/Media Player.
Echo Packets Size: The size in bytes of the packets sent to measure RTT. Default is 1200 bytes. Interface Timeout: This time, in milliseconds, that the Server will allow no reply from the Decoder before inferring the Decoder has disconnected from the network. Default is 10000ms or 10 seconds.
Buffer Size Packets: This field contains two numbers: congestion window size and bitrate limit. The congestion window, elsewhere called CWND, is the number of packets the Server will send before it must start receiving acknowledgment data before sending additional packets. The default value is 700 packets, which is a generously high value because the Server is usually positioned on a high-reliability wired connection.
The bitrate limit, measured in kilobits per second (Kbps) is the limit on the output bitrate of the Server to a particular Decoder. The current default is 8000 (see image above). The limit should be set to at least 110% of a typical target bitrate for the streams that are likely to be sent to that Server. However, it should not exceed the maximum download bandwidth for the Decoder's network connection.
NOTE: In 2023-24, the bitrate limit function was updated so that streams that except this limit will not be disrupted-- the bitrate limit of the stream will increase as necessary to allow the stream to continue. Such an increase will not change the stored value.
Jitter 1 and Jitter 2: These fields, measured in number of packets, allow the user to command the size of the Jitter buffers on the Decoder, which are for admitting and re-sorting packets received by the Decoder. Higher Jitter values can result in higher latency.
Both Jitter 1 and Jitter 2 setting allow for fixed values, i.e. 100 as well as relative values that modify the commanded values coming in from the Encoder, such as +15 or +100. Default values are +15 for Jitter 1, and +5 for Jitter 2.
Protocol: UDP
UDP mode simply forwards all packets from the encoder to the decoder(s). It sends data without any need for an acknowledgement from the decoder. The only way to add any error correction that's not already in the stream (i.e. from the Encoder) is to enable FEC, described below.
NOTE: LDMP settings on the encoder only apply to the stream from the encoder to the Streambox Cloud. LDMP settings on a Streambox Cloud listed decoder apply to the stream from the Cloud server to the destination decoder.
FEC, or Forward Error Correction, works differently on the Cloud Server compared to the Encoder. When enabled, it will send additional bandwidth, in multiples of 100%, rather than adding small amounts of FEC at the expense of signal bandwidth. The FEC menu shows how much redundancy to add to the stream. The Cloud Server sends multiples of 100% redundancy, so an FEC setting of 2 means that the Server will send 2-times the amount of data, or 100% redundancy, while a setting of 4 means the Server will send 4 times the amount of data, or 300% redundancy.
When adding FEC, a warning message may appear, reminding the user that this will increase the outgoing bandwidth. For example, if FEC is set to 2, the following message appears; however, there is no longer any increase so this message can be disregarded.
Because the data rate is doubled or more, streaming is more expensive, but the increase in expense relates only to any Internet service costs related to outgoing bandwidth.
NOTE: The default setting of 0 results in no FEC, and setting of 1 will enable FEC but not send any error-correcting packets; it only enables the error-counting on the receiving end. A setting of 1 is effectively the same as a setting of 0.
NOTE: The Decoder or Media Player should have a static or reserved IP address and a reserved inbound port (using port-forwarding on the LAN router if necessary) to permit the stream sent from the Streambox Cloud to reach the Decoder or Media Player.