August 14, 2017

Setting UDT in Nimble Streamer

UDP-based Data Transfer Protocol (UDT) is a high-performance data transfer protocol designed for transferring large amounts of data over high-speed wide area networks.

UDT is designed for extremely high speed networks and it has been used to support global data transfer of terabyte sized data sets. Concurrent UDT flows can share the available bandwidth fairly, while UDT also leaves enough bandwidth for TCP.

Nimble Streamer has full support for UDT:
  • Both Push and Listen delivery modes are supported.
  • Both Listen and Pull receive modes can be used to get UDT streams for further processing.
  • Rendezvous mode for sending and receiving is supported.
  • Multiple streams can be sent via single UDT channel.
  • Mux rate can be set correctly - Nimble Streamer has 100% PCR accuracy, 0ns PCR drift and PCR interval <20 ms according to StreamGuru. This is typically used for precise testing of channel throughput.
Using Nimble Streamer transmuxing engine, you may create any supported live protocol output from UDT and receive any of them to create UDT.

Let's see how UDT can be enabled and used in Nimble Streamer.

August 8, 2017

Use SLDP player latency tolerance against environment glitches

Our company keeps improving new real-time low latency protocol called SLDP. It provides quick start and sub-second delay for live streaming delivery. You can find protocol overview in this page and some basic setup and usage described in this article.

One of the features of SLDP is an ability to keep up with live stream without delays regardless of environment glitches. Let's take a look at this capability more closely.

August 4, 2017

Using offset to decrease start time in SLDP player

Recently we introduced new real-time low latency protocol called SLDP. It provides sub-second delay for live streaming delivery for the cases when it's truly important. Some basic usage of SLDP protocol is described in this article.

One of the key features of SLDP is a quick start of a stream on a client side. Typically the best way to reduce start time is to set GOP size to 1 second or less. This can be done with any transcoder, e.g. Nimble Live Transcoder. This will increase bandwidth however so you need to reach some balance between start time and traffic consumption.

So if you cannot make that GOP size reduction, SLDP has an offset player parameter which allows affecting the start-up behavior. The following description shows how you can use it for your use cases.

Typically, a playback starts with a key frame of each GOP (group of pictures) as the player cannot start decoding and processing without the key frame information. This means a delay between the start of connection and the start of the playback and it may be several seconds, depending on the encoding settings - all this time a viewer will see a black screen waiting for a picture. This is what needs to be avoided, let's see how this can be avoided.