January 31, 2016

January news

In the first month of 2016 we continued improving our products.

You can first read the State of Streaming Protocols for January 2016. Also, here is a summary for the year of 2015.

Mobile SDK and Larix Broadcaster for iOS now has portrait mode support.
The SDK has all capabilities and source code of Larix and it's available for licensing.

Now let's see what we have for Nimble Streamer.

H.265/HEVC is supported for live streaming transmuxing. You may use MPEG-TS or RTSP as input and generate RTSP and MPEG-DASH streams as output. HEVC adoption is expected to rise this year so Nimble will get more improvements of H.265 feature set.

As you know, Nimble Streamer is the most efficient media server and it's recently became available for embedding to any hardware including x64 and ARM. It has high performance, low resources usage, hence various platforms coverage. Let us know if you want to embed it into your products, it's easy.

Some of our customers use EdgeCast as delivery network so we improved RTMP publishing with stream parameter to meet network requirements.

In some use cases it is necessary to specify codecs in VOD SMIL file in order to generate correct HLS playlists. It's now available for use along with other VOD SMIL capabilities.

A couple of updates regarding security and content protection.
You can now block your viewers by User-Agent header by defining User-Agent group in WMSAuth paywall to block unexpected agents.
Also, you may now request security support subscription which will allow getting anti-scraping code updates to cover possible abusers' software updates.


The State of Streaming Protocols - January 2016

WMSPanel team continues analyzing the state of streaming protocols.

The metrics calculations are based on nearly 1.9 billion views. The stats are collected from 2400+ media servers (Nimble Streamer and Wowza).

Protocols share remain stable, i.e. MPEG-DASH is still competing with SmoothStreaming and HLS share is still about 73% now.



You can compare that to December stats below.

January 11, 2016

Publishing RTMP with stream parameter to EdgeCast

RTMP republishing is a popular feature within Nimble Streamer RTMP capabilities. It's used for delivery of live streams from origins to other Nimble Streamer edges or even publish to YouTube.

Some CDNs use authentication tokens that are specified in streams, unlike those which require tokens in application names. One of examples of such CDNs is EdgeCast.

To set up re-publishing to EdgeCast, you should follow this article describing basic scenario.

When you come to a point when you open RTMP re-publish dialog, you need to do the right matching of your publishing URL and re-publishing dialog.

Here is an example of such URL:
rtmp://fso.syd.application.iotacdn.net/target_application/target_name?globalkey
And here is an example of the dialog.

Add republishing to EdgeCast with stream parameter.
Here, a source_app and source_stream are the names of app and stream which you already have as a result of your incoming stream processing, see the mentioned article for details.

So you can now publish your RTMP streams not only within your streaming network, but also use other CDNs as a backup.


Further usage

You may also consider re-publishing incoming RTMP streams with inserted ads. Nimble Advertizer provides a framework for inserting pre-roll and mid-roll ads into live streams for further output via RTMP, SLDP and Icecast with custom business logic and per-user ads. So if you create RTMP stream with ads insertion and pull it for further re-publishing, you can provide your target CDN with properly sponsored content.
Visit Advertizer web page to find out more about server-side ads insertion functionality.

If you need to change the outgoing content in any way, like change the bitrate, use our Live Transcoder for Nimble Streamer to transform. It has high performance and low resource usage.



Let us know if you face any issues during the setup.

Related documentation


Nimble StreamerRTMP streamingRTMP republishing,

January 10, 2016

Embed Nimble Streamer

Nimble Streamer is a high-performance software with small resources usage.  It's the most efficient software media server on the market.
It is created using C++ programming language and has its own code base with no third-party libraries. This all makes it easy to port to any desirable platform. 

Currently it's running on Linux, Windows, Mac and Raspbian - see full list here. This means it's available on x64 and ARM architectures. Small 265MB RAM Raspberry hardware can run it smoothly.

With low resource requirements and support for ARM and x64, Nimble Streamer can be potentially used on any modern platform to create a media streaming device of any size, shape and characteristics. That device would have all features needed to handle various multimedia tasks.
To see how you can use Nimble for embedding, please read this dedicated page.


January 7, 2016

Block user agents from viewing streams via Nimble Streamer

WMSAuth paywall framework is very popular among Nimble Streamer customers as it's a proven solution for basic content monetization. One of the most popular features of this set is the geo-location and IP range restriction. Now we introduce update for this capability - Nimble allows blocking viewers by their user agent.

This capability can be used together with other features like hotlink protection or pay-per-view framework - users that are not blocked by user agent, may still be controlled by other criteria.

It can be applied to any level of streaming entities like servers, applications or separate streams.

The paywall functionality is applied to WMSAuth group where you assign one or more media servers and create restriction rules. In a created rule, you describe which application and/or stream you apply this to and specify so called user agent group. This group defines regular expressions that describe which agents must be blocked.

Now let's see how to set up user agent restriction, step-by-step.

January 3, 2016

Year of 2015 overview

The new year of 2016 has begun so it's time for us to look back at what was done in the year of 2015.

We've done a lot work to make our existing products better as well as to create new products.

As always, before reading news and updates for our products, please check the State of Streaming Protocols which includes 2015 overview for streaming formats. HLS is stable, MPEG-DASH is on the rise, check other trends as well.

Let's start with the new products.

Mobile Streaming


Streaming from mobile devices became a strong trend of 2015 and our team saw this trend in our customers' use cases as well. They already used Nimble Streamer to process media coming from their users but they still needed additional tools to create their products.

We started with key element of mobile streaming puzzle - a piece of software which would allow perform media transmission from mobile device to a media server for further processing. So we created a library for Android and iOS that performs the streaming via RTSP and RTMP.

With library being ready for usage, we created a mobile broadcasting SDK which includes the library itself and a sample application that uses the library. Our customers can use it as a foundation for their own apps and services. The SDK is available for licensing with affordable prices.

The demo application from SDK called Larix Broadcaster is available in Google Play and Apple Store so potential customers can see our software in action before licensing it.

Mobile SDK can be used as part of any infrastructural solution. However, you can try it with our products to create the most efficient solution.

Nimble Streamer


Our media server was completely re-defined and by now it has an excellent multi-protocol transmuxing mechanism. Along with high performance and low resources usage, it's now the most efficient media delivery software on the market.

First of all we stepped out of Linux niche and ported Nimble to Windows and MacOS. A lot of people would like to try it first on their desktops before running in production so we gave them that option.

Another great step was to port Nimble to ARM and make it available for RaspberryPi. It also means Nimble can be deployed on any ARM-based hardware. This allows creating media servers on the smallest and cheapest hardware. Are you interested? Please let us know.

You can take a look at installation instructions to see full set of supported platforms.

Another big step was to add support for MPEG-DASH protocol. Several major streaming scenarios were covered. This includes:

  • VOD transmuxing from MP4 - for both H.264 and H.265.
  • Live streams transmuxing from RTMP, RTSP and MPEG-TS.
  • DASH re-streaming as cache-aware edge server.

The HEVC/H.265 support will soon be extended to live streaming as well.

As we started our work on DASH, our  company became an associate member of DASH Industry Forum to take part in activities related to MPEG-DASH and contribute to this industry community. We also participated in a couple of DASH-related presentations during NAB 2016 and IBC 2015.

We expect 2016 to be the year of MPEG-DASH market share growth and our team is looking forward to add more features to this set.

The live streams transmuxing feature set now many accept RTMP, RTSP and MPEG-TS to create HLS, MPEG-DASH, RTMP, RTSP, MPEG-TS and Icecast outgoing streams.

  • A full set of RTSP features was added. This includes accepting announced and pulled RTSP media and transmuxing it into RTSP playback streams as well as re-publish via RTSP further. Of course, RTSP input streams can now be re-packaged into all other protocols - HLS, MPEG-DASH, RTMP, MPEG-TS and Icecast.
  • RTMP feature set was also re-defined and it now may accept any kind of RTMP stream and transform it into all supported protocols along with re-publishing to other servers.
  • MPEG-TS now takes UDP multicast and HTTP streams and allows publishing streams via UDP in addition to aforementioned transmuxing to other protocols.

Regarding live streaming efficiency, please take a look at low latency tuning use case based on Nimble Streamer. Thanks to one of our customers who gave permission to share some of the details of his approach.

In addition to live transmuxing, a highly anticipated DVR feature set was added. So your live streams can now be recorded for further playback. To make some automation, an API was also added - see WMSPanel section below. We plan extending DVR this year as well.

This year we partnered with P2P streaming solutions providers so our customers could use P2P as an option for their media delivery infrastructure.

Speaking of infrastructure-specific features, we added automated deployment option to Nimble installation so it could be used in auto-scaling use cases, e.g. in Amazon EC2.
VOD remote storage support was also added for those who have distributed auto-scaled network to make it more efficient in terms of storage.

To keep in touch with Nimble status, we've added native status API for it. You can call it to get status of each individual instance real-time. As example, Nimble API gave abilities to create a simple load balancing approach.



One more significant infrastructural feature we added is Publish control framework. It allows controlling incoming streams to authorize and restrict users from pushing the content. This is specifically useful for mobile streaming which we mentioned earlier - that's what will stand between your publishers and your viewers.


Overall, the mentioned improvements allowed increasing Nimble Streamer installations number dramatically this year and we've increased our customers' base a lot. Take a look at some of our customers here.


WMSPanel


WMSPanel was continuously improved this year as a control panel for Nimble-based streaming infrastructure.

All Nimble Streamer control is available via WMSPanel to give maximum comfort to our customers. In addition to GUI, we added control API for all Nimble control capabilities to allow automating it.

All WMSPanel statistics now have their own API for obtaining data so our customers can download it with any appropriate frequency and make additional analysis.

Besides control UI and API, WMSPanel Deep statistics were enhanced with grouping and data comparison. This feature set is extremely popular among our users so we like adding new things there.

Dispersa


We kept on improving Dispersa streams monitoring. New checkpoints were added to improve coverage. Small GUI improvements were done to make it more comfortable for our users.




As you can see, we were working hard to continuously improve our products set in the year of 2015. We have new breakthrough products to introduce in the year of 2016 so we're looking forward to hearing your feedback and feature requests.