September showed the expected increase of HLS share (which is nearly 62%) and decrease of RTMP (26%) and RTSP (~11%). Other protocols did not have significant changes. These metrics are calculated based on 768M views.
You can compare that with August stats to see the increasing share of HLS.
WMSPanel has a set of APIs which allows requesting aggregated pre-processed data and take it into customer environment for further processing. Recent real-time and in-depth stats APIs give ability to request data on entire account level selecting data for all available servers and data slices.
Some of our customers need to provide access to their own clients so they could make their specific analysis. WMSPanel now allows that as well as account-wise API access. End user may now access data which is visible to his account according to data slice settings so his scope may be limited to some subset of stats. If a user is given access to several servers and slices, he may request specific slice and server.
This control has become part of users management feature set. To enable API for selected user, choose Control / Users management menu to see the list of users in your account.
Account's users management page.
Clicking on Edit link will bring a user details dialog. Click on API access check box to see API ID and API key. A user may use them for further requests.
User details with API access parameters.
You may re-generate API key in case of security concerns or just disable it any time.
Once the access is given, the user may go to Settings menu to API setup tab to see the API ID and generate the key for further usage. He may also control his own white list to access the API.
End-user settings for API access.
User will be able to send requests and get data according to his access level. You may give this access to some non-admin user as well as create separate admin user specifically for API requests.
Our team continues working on a Please also check full set of APIs. Let us know if you have any cases which need to be covered to build flexible streaming infrastructure.
This includes various Icecast and SHOUTcast related features.
You can give any supported protocol as an input: Icecast and SHOUTcast, RTMP, RTSP and MPEG-TS.
These streams will be transmuxed using the same engine and they will be given as HLS, MPEG-DASH, RTMP, RTSP, MPEG-TS and Icecast.
This means Nimble can work both as a transmuxer for Icecast to HLS and as a re-streamer for Icecast. Notice that the result Icecast stream has same metadata tags as original stream.
Both MP3 and AAC codecs are supported.
To use it in your scenarios, follow these simple steps.
Now you need to describe how Nimble will take data from designated source.
Take a look at this tutorial showing the setup process and read the rest of the article for more details.
Go to Nimble Streamer / Live streams settings menu to see the UI for live streaming setup.
You'll first see Global tab, it has settings applicable to entire selected server. Choose the protocols which you'd like to produce as output. You can see all protocols supported by Nimble Streamer on the screenshot below.
You may see HLS having 3 options: HLS, HLS (MPEGTS) and HLS (fMP4), you can select one option at a time.
If your media is audio-only, Nimble Streamer produces audio-only HLS with significantly reduced size. However some players like VLC or old STBs require MPEG-TS chunks. This mode is created specifically for that scenario. So if you have VLC as your major player, use this option.
Application-specific setup may also be defined by clicking on Applications tab and adding per-app settings. Specifically if you want some users consume regular audio-only HLS and have some users with incompatible players, you may separate app for them and use HLS (MPEGTS) option.
Now click on Live pull settings tag.
Here you need to click on Add Icecast URL to see the dialog shown below.
Here you can put stream address into URL field. This is full address of source stream. You may also use m3u Icecast playlists - in this case all URLs will be added as separate incoming streams.
The Fallback URL(s) section allows entering multiple sources which will be used in case the primary stream is down. You can read this article for details.
Output application and Output stream defines what URL of the stream you will get as output.
Idle time and Dynamic stream name allow performing pull by request when the stream is not being taken from the origin server unless some customer is requesting this stream from Nimble to listen. You can read this article for more details.
You may apply this setting to any number of existing streams by choosing the right server instances.
Clicking Save will apply all settings.
WMSPanel also provides multiple edit capabilities. You may edit all sources as a text to be able to do things like:
adding big amount of streams;
making backup and restore of settings;
transition of settings between servers.
Just click on Multiple edit button to use the dialog to enter multiple URLs using existing syntax to fill in.
3. Use outgoing streams
Now go to Nimble Streamer -> Live streams menu to see your server and number of their streams.
Clicking on Incoming streams will show a page showing the recently defined incoming stream.
Now in the stream is active, you can go to Outgoing streams to see what is going out.
Here you can see each stream basic parameters of audio stream and its bandwidth. To use the outgoing stream, click on question mark icon to show URL for Player dialog.
If you select URLs for the protocols which you defined in global or application-wide settings. If your server has several IP addresses, there will be more URLs to use.
Notice that if you use VLC for playback, your stream may have glitches when using regular audio-only HLS. As described above, you should use HLS (MPEGTS) option for your HLS streams in this case.
Icecast publishing
If you need to process published Icecast from Ezstream, IceS or any other tool, you can do that via Nimble as well. Read this article for setup details.
Further audio streaming options
With Icecast/SHOUTcast streams being processed in via single transmuxing engine you may also use them in various scenarios like these mentioned below.
When we introduced Dispersa streams availability monitor, we new that people need not only to monitor but also to track the performance of their streams. Bringing proper quality of service for streaming media business requires data for analysis.
Now Dispersa is able to store the history of check-overs for last 32 days and view it via easy to use chart. Being a premium Dispersa user, you may use Monitoring menu to see streams monitoring panel.
Streams monitoring dashboard.
Now click on a stream name to view the history. If some transmission wasn't available between some moments time, the chart will show the breakage. Each checkpoint, including private checkpoints, will have its separate history.
View stream availability history at all checkpoints.
View stream monitoring results over time.
Stream may be unavailable for certain period of time for some of checkpoints.
You may zoom to any time slot within stored period by picking range.
Viewing period details for stream monitoring.
If you'd like to have same statistics within your monitoring or analytic tools, use Dispersa alerts push API to get notified about streams going offline and online.
We will extend Dispersa with more QoS-related functionality so if you have any suggestions, just let us know about it.
WMSPanel team continues analyzing the state of streaming protocols which we began previously. August is over so we can take a look at past month as well as at the entire summer time.
August showed the increase of HLS share (which is 59%) and decrease of RTMP (27%) and RTSP (~13%). Other protocols did not have significant changes and share the remaining 1%. These metrics are calculated based on 700M views from August.
The State of Streaming Protocols - August, 2014.
You can compare that to the metrics of all summer months. WMSPanel processed statistics about more than 2 billions of views during that time.
The State of Streaming Protocols - summer of 2014.
These stats are collected from 1100 media servers, including Wowza Streaming Engine (mostly 3.x and 4.x flavors) and Nimble Streamer.
We hope this snapshot will be useful for our audience and we'll continue analyzing protocols going forward