June 30, 2015

The State of Streaming Protocols - June 2015

WMSPanel team continues analyzing the state of streaming protocols. June had less views than May but the same share of protocols.

The metrics calculations are based on nearly 1.3 billion views. The stats are collected from 1800+ media servers (including WowzaNimble Streamer and Flussonic). As we introduced HTTP origin for "CDN-friendly" outgoing streaming, part of outgoing connections is not shown in monthly stats.

HLS share is down at 68% share with slight increase of RTMPIcecast and MPEG-DASH numbers. Check the chart below for more.

The State of Streaming Protocols - June 2015
The State of Streaming Protocols - June 2015.


You can compare that to May stats below.

June 25, 2015

CDN-friendly streaming via Nimble Streamer

Our customers build their own streaming infrastructures using Nimble Streamer in order to have low cost and reliable delivery networks. However, sometimes they need to reach audience which is located in the regions where they don't have their coverage yet.

This is where they start using 3rdparty CDNs. Nimble may serve as an origin for these networks and provide streams for further re-streaming. Some CDNs may require streams URLs without any variable parts, such as sessions identifiers. Nimble uses nimblesessionid parameter to track viewers' sessions but it allows skipping that.

Let's see how Nimble Streamer helps handling it.

June 24, 2015

Data disaster recovery for Nimble Streamer

WMSPanel collaborates with Nimble Streamer via sync-ups exchange. Nimble is sending statistics data to WMSPanel service for further processing and gets responses.

This scheme assumes that a Nimble Streamer media server is constantly online and it keeps sending sync-ups continuously. Internet is a very complex network and sometimes some of sub-networks and entire countries become invisible to other segments. In this case our server will not be able to send data and this might cause data losses.

Nimble Streamer now has proper improvements to prevent data losses and recover from disasters like that. Here is how it works now.
  1. When Nimble Streamer is launched after installation and registration in WMSPanel, is starts sending sync-ups.
  2. If wmspanel.com is not available for some reason, Nimble still tries to reach it, trying to send sync-ups for several times.
  3. If the service in unavailable for a long time, then the delta for the most useful daily statistics are accumulated on the server side.
  4. When the service becomes available, the calculated data is sent and WMSPanel fills the gap between the moment when the server "disappeared" and current moment.

The following most useful daily statistics are saved and recovered:
  • Connections count - total and per-protocol;
  • Traffic;
  • Peak bandwidth - incoming and outgoing;
  • Average view time;
  • Total view time.

This is the most critical data often used for billing customers, that's why it's saved and recovered. So your critical stats are always safe and you can rely on WMSPanel daily reporting.

Let us know if there are any other WMSPanel data recovery and consistency concerns.

Related documentation


June 22, 2015

Dispersa monitoring multiple edit

Dispersa streams availability monitoring is widely used by our customers around the globe. Many of them monitor dozens and even hundreds of streams. So in addition to having monitoring alerts API to automate notifications, people need a way to make bulk edit of their streams as least from web UI.

That's why we introduce multiple edit for Dispersa monitoring entries. It allows setting the streams and their monitoring behavior.

Go to Monitoring top menu to see list of your streams.

Streams monitoring console.

Here you can see Multiple edit button. Clicking on it you see a dialog with a formatted text representing current settings.




Here's an example of an entry:

  {
    "url": "http://146.185.139.54/local/raw/nimble.mp4/playlist.m3u8",
    "alias": "Nimble Promo Video 1",
    "alert": true,
    "paused": false,
    "checkpoints": [
      "AMS",
      "SFO",
      "NYC",
      "SGP",
      "FRA"
    ]

Each entry has the following structure:

  • url is the URL of the stream to monitor;
  • alias is the name which you see in streams list;
  • alert is a flag defining whether Dispersa must notify account admin or not;
  • paused is a flag defining if this stream is actively checked or if it's not monitored at the moment;
  • checkpoints is the list of checkpoint where the stream is checked. It uses checkpoint 3-character aliases or server ID in case of private checkpoint.


So, setting up these options you can control all stream in your list at once.

Let us know if you think of any other improvements your business might need from Dispersa.

Related articles


Dispersa streams monitoringMonitoring alerts API, Nimble Streamer media server,

June 10, 2015

RTSP streaming control API

WMSPanel provides rich API for getting stats data from WMSPanel and controlling Nimble Streamer.

So in addition to existing RTMP control API and routes control API, we introduce API for controlling RTSP streaming behavior. Manual set up can be done via Nimble Streamer -> Live streams set up menu.

To use this feature set, run the designated methods from listed below. Full list can be found in WMSPanel products API reference. Please also refer to RTSP setup scenarios to see the purpose of each method.

June 8, 2015

Peer-to-peer streaming with Nimble Streamer

Nimble Streamer can be used as an origin for various streaming scenarios. One of them is HTTP peer-to-peer streaming. This technology allows off-loading origin server or delivery network by exchanging media data between viewers.

Nimble Streamer has a number of features that are required by P2P networks to handle Nimble as an origin. They are the following:
  • Choosing the number of segments in the playlist - it's part of common live streaming setup per-server and per-application.
  • Specifying segment length, this is also set up globally and per-application.
  • Segments may be obtained via byte range HTTP requests.
  • OPTIONS request is also supported.
  • CORS (Cross-Origin Resource Sharing) headers support which includes headers like Access-Control-Allow-Origin, Access-Control-Allow-Credentials, Access-Control-Allow-Methods etc. Read this article for setup details.

You can easily combine P2P infrastructure and traditional streaming. Nimble Streamer works perfectly in both worlds. Take a look at those examples of partner solutions which confirmed their compatibility with Nimble Streamer. If you need any P2P solution for your business, you can definitely give them a try.

June 4, 2015

Transmux MPEG-TS into HLS, RTMP, MPEG-DASH and more via Nimble Streamer

MPEG2-TS is one of the most popular streaming protocols used by various types of businesses. It supports several streams types and allows carrying multiple programs within one stream. This is why Nimble Streamer had support for transmuxing MPEG-TS into HLS streams for a long time.

Now it's time to step forward and improve MPEG2-TS feature set with a few great capabilities.

Nimble is able to take MPEG2TS incoming stream via both UDP and HTTP. It transmuxes (i.e. re-packages) streams from either of sources into:


Examples of scenarios for MPEG2-TS streaming via Nimble Streamer.

Supported video formats are MPEG1, MPEG2, MPEG4 and AVC. Supported audio formats are MP3 and AAC. For the outgoing streams protocols that don't support these formats, only the respective subset is used for transmuxing.

The outgoing streams generated from MPEG-TS may be used in adaptive bitrate (ABR) streams produced from other protocols like RTMP and RTSP.

Let's see how it can be set up and used via WMSPanel.