July 31, 2014

The State of Streaming Protocols - July 2014

WMSPanel is a SaaS which handles statistics of hundreds of media servers from hundreds of customers of various sizes from 59 countries around the globe. So we can feel the pulse of media streaming and have some general slice of the industry.

The most interesting metric from heterogeneous set of servers is the transmission protocol used for media delivery to viewers. So we'd like to share what picture we have for media protocols today for June and July of 2014. It is based on metrics of 970 servers running Wowza Streaming Engine (versions 2.x through 4.x), Nimble Streamer or Windows Media Services on board.

For a given time we've processed the stats about 1.4+ billion views on the servers of our clients.

The State of Streaming Protocols: June-July 2014.

More than a half - 796 millions of views, or ~56% - is handled by HTTP Live Streaming (HLS). Nowadays it's a de-facto standard to bring media to multiple devices so no wonder it has the largest share.

Realtime Messaging Protocol (RTMP) handles a quarter - 379M+, or 26% of views. It's the best protocol for real-time streaming so it's very popular.

RTSP, another real-time protocol, handled nearly 221M views with 15% share.

Other sorts of protocols like progressive download, HTTP Dynamic Streaming (HDS), Microsoft SmoothStreaming and MPEG-DASH handle the rest which is 27M+ views, or 3% share.

So this is quite an expressive snapshot so we'll keep updating our audience about the state of media protocols.


This report is brought to you by WMSPanel team.

July 28, 2014

In-depth statistics for advanced reporting

WMSPanel provides excellent reporting for media servers - this is one of the major reasons for our customer to like our services. We've been continuously improving the statistics feature set and today we'd like to announce new reporting framework.

We call it in-depth statistics reporting, or simply deep stats.

Per-stream and per-file reports


Deep stats allow collecting a set of daily statistics for each media which you stream:

  • each individual stream if you're making live streaming;
  • each individual file if you make video on demand.

You may enable this reporting for any slice in your account. Every stream or file has its daily statistics for the a dates' range. Maximum range is defined per data slice.

Metrics


In the report for each file or stream you may see the most important information:

July 16, 2014

Pull RTMP for ABR HLS transmuxing by Nimble Streamer

Nimble Streamer currently supports several methods of live streaming via HLS. It may be HLS re-streaming edge as well as a origin server for ABR HLS. Being an HLS origin, Nimble may accept MPEG-TS stream from multicast/unicast UDP transmission and may take published RTMP multi-bitrate stream.

Besides accepting published RTMP stream, Nimble can also actively take media from RTMP source, or simply "pull the RTMP stream". As an output, Nimble provides both single-bitrate and multiple-bitrate ABR HLS.

Let's see the set up process. It's easily done via WMSPanel web interface.

1. Install Nimble Streamer


Follow this easy to use instruction to install and register Nimble Streamer instance in WMSPanel for further setup.

2. Define RTMP settings


Now you need to describe how Nimble will take data from RTMP source.

Go to Nimble Streamer / Live streams settings menu. Global tab has service-wise default Chunk duration for all outgoing HLS streams. It also has Push login and password for applied to all incoming RTMP publishing by default.


July 10, 2014

Using RTMP publishers with URL authentication

Currently Nimble Streamer supports RTMP-to-HLS transmuxing having RTMP stream published from any type of encoder as an input. If an RTMP source has multiple bitrates, WMSPanel provides very easy to use UI for composing ABR HLS streams from RTMP.

Of course there is a need for authenticating the incoming streams by defining some user and password, so Nimble Streamer provides this capability as well. Now there are several ways of authenticating a publishing user.

One way is to use credentials within RTMP stream. This is what encoders like FMLE do. This is what Nimble Streamer supports by default. It's described in this article.

Another approach is to pass user and password directly in URL. This is how encoders like Open Broadcaster implement authentication. This is sometimes called setting RTMP publisher without authentication support.

So now Nimble can authenticate this kind of published streams. Let's see how this is done.

1. Nimble Streamer set up


Follow the steps described in this article. When you're in the "3. Start publishing" step, use the setting described below.

2. Open Broadcaster set up


The URL with Nimble login an password key will look like this:

rtmp://127.0.0.1:1935/application_name?rtmpauth=push_login:push_password/stream_name

Where push_login and push_password are credentials which you defined during RTMP application set up in WMSPanel at step 1. rtmpauth is a parameter which carries the credentials.

In Open Broadcaster, go to Settings / Stream
Choose
Streaming Type: Custom Streaming Server

Then fill the URL (or FMS URL):
rtmp://_YOUR_SERVER_:1935/_APP_NAME_?rtmpauth=_LOGIN_:_PASSWORD_/

Stream key (or Play Path / Stream key):
_STREAM_NAME_

For example, your URL (or FMS URL) will be the following:
rtmp://127.0.0.1:1935/live_application?rtmpauth=push_login:push_password
And Stream key (or Play Path/Stream key):
live_stream



You may also set RTMP republishing via Nimble Streamer so you can get published RTMP and then push it further into your streaming network. To make it work with 3rdparty streaming source, you may also consider WMSPanel server tasks remote management via web console for convenient control of server-side commands. Launch any command, like ffmpeg process, with no need to log in via SSH, just an easy-to-use web interface.

You may also consider using RTMP streaming API to control it remotely.

If you face any issues setting up Nimble Streamer, contact us directly or drop a message in our forum.

Related documentation


Nimble StreamerRTMP republishing via NimbleRepublishing RTMP to Fastly CDNPublish RTMP from Wowza to NimblePull RTMP make HLS transmuxingTransmuxing RTMP to HLSAdaptive bitrate for RTMP to HLSPay-per-view for Nimble StreamerMP4 transmuxing to HLS VOD streamingMPEG-TS UDP conversion to HLS with NimbleMixing multiple MPEG-TS sources into ABR HLSNimble Streamer HTTP hotlinking protectionCPU and RAM level alertsTransmuxing RTMP to Icecast and ShoutcastServer tasks remote management via web UI