December 30, 2015

The State of Streaming Protocols - the summary of 2015

WMSPanel team continues analyzing the state of streaming protocols.

Let's review past month and also take a look at the retrospective for the year of 2015.

BTW, also check 2015 summary of our products: Nimble Streamer re-defined, mobile SDK, DVR, MPEG-DASH, HEVC and more.

December metrics calculations are based on 2 billions of views. The stats are collected from 2300+ media servers (Nimble Streamer and Wowza). MPEG-DASH keeps growing, it has 12M+ views. It's now equal to Microsoft SmoothStreaming. HLS has increased to 74% now.

The State of Streaming Protocols December, 2015
You can compare that to November stats below.

The State of Streaming Protocols - November 2015.

You can also compare that to December 2014 statistics

The State of Streaming Protocols December, 2014
A few quick facts about this year looking at this and all other charts from past months:
  • The HLS share was pretty constant through the year balancing around 70% between 69% and 74%.
  • A significant change is the growth of MPEG-DASH which now has 12+ millions of views approaching to 1% share from just a few hundred views (literally 0% share) last year. Nimble Streamer DASH capabilities were transformed into a full-scale feature set so many of our customers made their bet on this technology.
  • MPEG-DASH left HDS behind now competing with SmoothStreaming.
  • Adding RTSP playback support in Nimble Streamer, along with its popularity growth, gave an increase for RTSP share as well.
  • RTMP was continuously going down from 22% to 13%.

This year again we saw the continuous evolution of streaming protocols towards HTTP-based formats. We expect MPEG-DASH to gain more popularity within 2016.

We'll keep analyzing protocols to see the dynamics. Check our updates at FacebookTwitterGoogle+ or LinkedIn.

RTSP and RTMP publish control setup

Previously our team introduced Publish control framework to allow applying our customers' business logic to incoming streams by defining multi-level authorization.

This article describes publish control setup process from deployment point of view. Take a look at the picture below to overview available scenarios and let's go through them step-by-step.

December 25, 2015

H.265 HEVC VOD transmuxing for MPEG-DASH

Nimble Streamer has a wide feature set for VOD streaming for HLS and MPEG-DASH. These formats use H.264/AVC as their default codec. As media streaming technologies evolve over time, a new H.265/HEVC codec was introduced a few years ago. This is a more efficient codec, especially for 4K and upcoming 8K streaming as they require huge bandwidth consumption hence the need for a codec with better compression.

Our team made the first step towards HEVC and today we introduce VOD transmuxing to MPEG-DASH from MP4 encoded with H.265. Our company is a member of DASH Industry Forum so we collaborate with other members to promote this standard.

Transmuxing for H.265 setup is made the same way as it's done for MP4 transmuxing for H.264. Other features are also supported, such as transmuxing from remote HTTP storage and adaptive bitrate support via SMIL.

Read Nimble Streamer HEVC digest page to see full set of HEVC-related features.

Contact us to share your thoughts.

Related documentation

Nimble StreamerMPEG-DASH feature set, HLS VOD streaming, HLS live streaming, Hotlink protection and paywall for MPEG-DASH

December 9, 2015

Mobile SDK for RTMP broadcasting

Our company continuously improves our mobile products.

Currently they include:

  • Larix Broadcaster Android and iOS to stream media from apps to any media server. It's available as part of Larix mobile SDK usage.
  • Publish control framework for Nimble Streamer which provides flexible authentication and control of incoming streams from cameras, mobile devices and encoders.

Until this moment the major supported media protocol was RTSP which is an open standard for broadcasting.

Now we introduce RTMP support for streaming from Android devices. Mobile SDK for Android and Larix Broadcaster for Android are now able to provide published RTMP stream for any media destination which is capable of receiving data via this protocol.

Check Larix Broadcaster on Google Play to start.

Get it on Google Play

Feel free to contact us regarding mobile broadcasting SDK purchase and usage.

Related documentation

December 3, 2015

Media server for Raspberry Pi

Nimble Streamer, the high performance media server with low resources usage is now available for Raspbian, the OS for Raspberry Pi and Orange Pi hardware platforms.

It's also available for ARM64 platforms such as Odroid.

It allows turning this hardware into an efficient streaming device for live and VOD content.

Read this installation instruction with a set of live streaming scenarios setup guide.

November 30, 2015

November 2015 updates

In November, our team continued to make features and improvements.

Before diving into tech update, take a look at Selected Integrators webpage which shows a list of the companies that use our solutions for their customers, integrating our technologies into sophisticated streaming workflows. We recommend contacting these companies if you need help deploying or setting up our products in your environment.

A new version of Larix Broadcaster for iOS is now available in AppStore. Several significant improvements were made. Larix Broadcaster is based on mobile broadcasting library and its source is included in our mobile SDK.

RTSP republishing was added into Nimble Streamer in addition to existing RTSP feature set which already includes transmuxing of incoming streams and RTSP playback.

Nimble Streamer DVR feature set was significantly improved with a few new features:

Speaking of WMSPanel API, it now has multiple streams real-time status API method for those customers who have multiple streams to be tracked simultaneously.

To see some other interesting information, take a look at The State of Streaming Protocols which
shows the growth of MPEG-DASH which overruns HDS, and increase of RTSP share after adding RTSP playback and re-streaming into Nimble Streamer.

Follow us at Facebook, Twitter, Google+ or LinkedIn to get news and updates of our products and services.

The State of Streaming Protocols - November 2015

WMSPanel team continues analyzing the state of streaming protocols.

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

MPEG-DASH keeps growing, it had 8M+ views. It overruns Adobe HDS and it's getting closer to Microsoft SmoothStreaming. RTSP playback and re-streaming feature set gave a slight increase for this protocol with ~8% for now. HLS share is around 70% now.

The State of Streaming Protocols - November 2015.

You can compare that to October stats below.

November 19, 2015

RTSP republishing in Nimble Streamer

RTSP feature set is a popular among Nimble Streamer users that are performing in live streaming, especially directly from cameras. There are cases when the live stream needs to be delivered to edge or other origin servers in order to perform load balancing and build robust infrastructure.

For this case we have streams republishing support. It previously had RTMP support, and now it allows republishing RTSP.
If you have RTMP, RTSP or MPEG-TS incoming stream, you may publish it as RTMP or RTSP to any location that supports those two protocols.

UI for republishing RTMP and RTSP.

Please refer to "RTMP and RTSP republishing via Nimble Streamer" article for set up details.

Contact us if you have any questions related to this or similar functionality.

Related documentation

November 14, 2015

DVR time fragments requests for EPG in Nimble Streamer

We've recently introduced the DVR feature set in Nimble Streamer which allows recording RTMP, RTSP, MPEG-TS, Icecast and SHOUTcast incoming streams for further playback.

One of the most anticipated scenarios of our customers is the ability to allow the playback the fragment in a specific time range. This is used for various use cases, especially in Electronic Program Guide (EPG) type of applications.

Nimble Streamer now supports time ranges for DVR playback. No special setup is needed. Follow general setup instruction to make settings and then use specially formed URL to get the content.

If your regular DVR stream URL is
then your range URL would be like<UTC-start>-<duration>.m3u8
where "UTC-start" is the fragment start time as UTC epoch time and "duration" is the length of the fragment in seconds.
It starts at given time and lasts for 2 minutes.

If you need to set up only the start time and allow continuous playback from that point, use "now" value for that, e.g.:

fMP4 container

The URLs above will work for default MPEG2TS container. If you'd like use fMP4 container for DVR playback, you'll need to use "fmp4" suffix like this:
Adding that suffix will create DVR stream with fMP4 container.
Both MPEG2TS and fMP4 DVR streams can be played simultaneously. So you can provide your users with appropriate URLs depending on their device type.

Playback offset

When a player opens a playlist of a DVR which is still currently being recorded, most players will start the playback from some of the last chunks. This is because DVR stream is handled as "live" while it's in recording.

You can recommend players to start the playback from a certain time position by using #EXT-X-START:TIME-OFFSET=<time> tag in DVR chunk list.

Nimble Streamer allows specifying zero offset to define that tag. Use this URL specification:<UTC-start>-<duration>_offset-0.m3u8
to insert #EXT-X-START:TIME-OFFSET=0 tag. This will recommend a player to start its playback from the beginning of the chunklist. Here's an example:

More DVR

Also, check time-shifted playback and thumbnails generation for Nimble DVR.

Please notice that you may also control DVR via API in order to automate your streaming infrastructure. If you'd like to export DVR into MP4, you can check this instruction.

If you have any feedback or feature requests for DVR, just let us know about it.

Related documentation

DVR timeline browsing and playbackDVR feature setNimble Streamer, Live streaming feature set, DASH streaming,

November 10, 2015

DVR control API in WMSPanel

We've recently introduced the DVR feature set in Nimble Streamer which allows recording RTMP, RTSP and MPEG-TS incoming streams for further playback.

As you know, WMSPanel service has its own API for getting stats and controlling media server behavior.

So now we introduce API for controlling DVR:

This covers all basic operations over video recording in Nimble Streamer.

Contact us if you have any questions or feedback about our API.

Related documentation

Nimble Streamer, HLS live streaming, DASH streaming, DVR feature setWMSPanel API,

Introducing selected integrators

Our team has a number of products that help people build their streaming infrastructure. Some of them need efforts to deploy and implement, such as Nimble Streamer installation, setup and usage, paywall capabilities or mobile broadcasting.

There are companies that have been using and deploying our technologies for some time already. We've created a separate page presenting the list of those partners.

Feel free to contact them directly if you need advanced services while deploying our products.

Contact us if you'd like to join the list of our selected integrators.

October 31, 2015

The State of Streaming Protocols - October 2015

WMSPanel team continues analyzing the state of streaming protocols.

The metrics calculations are based on nearly 2 billion views. The stats are collected from 2100+ media servers (including our Nimble StreamerWowza and Flussonic).

HLS share still grows and it's 74% now.

The State of Streaming Protocols - October 2015.

You can compare that to September stats below.

October 28, 2015

Video recording (DVR) in Nimble Streamer

Streams recording is one of the essential use cases for live streaming. It's important to be able to view stream after the transmission is over, or switch between parts of the show during the transmission.

Nimble Streamer has an excellent capabilities for handling live streams and transmuxing them from RTSP, RTMP, SRT, MPEG-TS, Icecast and SHOUTcast to any supported format like HLS, MPEG-DASH, RTMP, SRT, SLDP, RTSP and MPEG-TS. So the next step we always wanted to make is to create streams recording, also known as Digital Video Recording, or DVR.

Nimble Streamer DVR current features:
For HLS DVR playback you may have your content be packaged in both MPEG2TS and fragmented MP4 (fMP4) containers simultaneously - see the last section of this article for details.

Nimble Streamer DVR allows recording and playing both HEVC (H.265) and AVC (H.264) content. Other codecs are not supported.

Let's see how you can start using Nimble Streamer DVR in your environment.

October 26, 2015

RTSP playback support in Nimble Streamer

Early this year our team introduced RTSP transmuxing support for Nimble Streamer which allowed to take RTSP streams and produce HLS, DASH and MPEG-TS outgoing streams.

As our customers requested, now we introduce RTSP TCP interleaved playback in Nimble Streamer which means the stream can both be played and pulled from the Nimble instance for further processing. To make this output, the Nimble Streamer instance may take the input of RTSP, RTMP and MPEG-TS protocols.

1. Install Nimble Streamer

Use this installation instruction to get Nimble on your server or desktop. The procedure is easy and straight-forward so having any popular 64-bit Linux, Windows or MacOS will allow you to get it working.

2. Make general settings

Since you've completed WMSPanel account sign up at the previous step, you can log into the system and go to "Nimble Streamer" -> "Live stream settings" menu.

The first tab you need is called "Global". Here you need to select output protocols which you will use for playback at selected server. In the following example we see HLS, RTSP and MPEG-DASH.

Selecting protocols for playback.

October 21, 2015

Larix Broadcaster mobile streaming setup and usage for iOS

Do you want to broadcast live video from mobile device to your own audience all over the world? The viewers might be your clients, colleagues, friends, family or everybody else you want to show the current moment of your live. Sure, that should be simple. Just point your mobile device and push the button.

In this article we are going to show how to create video streaming from iOS mobile device via Larix Broadcaster. Larix Broadcaster is a free mobile application which can stream live video and/or audio to media server via RTSP protocol. In this example, we'll use Nimble Streamer because it's a freeware powerful media server with rich feature set.

October 12, 2015

RTSP and RTMP publish control framework overview

For the past few years, mobile devices were showing significant improvements for video creation capabilities hence the popularity of video live streaming solutions - from mobile broadcasting libraries to complex all-in-one solutions. If you create a streaming solution yourself, you need to be able to control the publication process for the protocol which you choose to work with, e.g. for RTSP or RTMP.

RTSP and RTMP incoming streams were supported in Nimble Streamer for a while already among other protocols. Nimble supports both RTSP and RTMP streaming authentication server-wise as well as for specific applications. This is was done according to the standard. So if a customer needed to separate publishing permissions between his users, he needed to create separate application for each individual publisher. But when you broadcast from mobile devices, you probably will need some better way to make sure each publisher has separate permission to publish.

Our customers have been using WMSAuth Paywall functionality to secure the outgoing streaming for a long time. Now to secure the incoming streams, we introduce the Publish control framework which allows performing multi-level authorization.
Secure incoming and outgoing streams via Nimble Streamer.

September 30, 2015

The State of Streaming Protocols - September 2015

WMSPanel team continues analyzing the state of streaming protocols.

The metrics calculations are based on 1.8 billion views. The stats are collected from 2100+ media servers (including our Nimble StreamerWowza and Flussonic).

HLS share grows again and it's 71% now.

The State of Streaming Protocols - September 2015.

You can compare that to August stats below and also check September 2014 stats as well to see how things changed over the last year.

September 29, 2015

Mobile broadcasting library for iOS platform

Nimble Streamer team experiences a constantly growing demand for new features from our customers who are interested in mobile streaming solutions. Modern devices are able to provide high quality video and audio content, and what's important are broadly used. Hence, mobile streaming traffic share increases rapidly. However, building just streaming application isn't the main objective.

In July 2015, our team has released the Mobile broadcasting library and the sample application for Android - Larix Broadcaster. Now, on numerous requests of our customers, we are announcing the Mobile broadcasting library and the sample application for iOS platform.

Live broadcasting from iOS device

September 24, 2015

Setting up VidiU transcoder to work with Nimble Streamer

Our customers quite often use Teradek VidiU transcoder and ask us how to setup it to work with Nimble Streamer. In this article we are going to show how to configure it.

Teradek VidiU is a portable standalone streaming media encoder on the go that can be mounted on top of cameras. VidiU provides instant transmission of live video signal encoded as H.264 video - to a content delivery network (CDN) of choice. This low cost encoder eliminates the need for expensive encoders and equipment to delivers HD quality video online.

September 23, 2015

Nimble Streamer deployment automation

WMSPanel is the official UI for Nimble Streamer and it is available under subscription model. Nimble Streamer is the free of charge media server which can run fine on lower-end servers or Virtual Machines.
Our customers have long and successful story of using automation deployment of Nimble Streamer, e.g. using Amazon Elastic Cloud. Nimble Streamer can be configured independently of WMSPanel specifying all settings via changing configuration files in manual mode.

However, to add preconfigured Nimble Streamer to WMSPanel for obtaining full statistics it was necessary to add each server in the control panel manually via the import configuration procedure.

Performing manual manipulations is very inconvenient in case of large number of media servers. That's why Nimble Streamer allows automating the process of adding preconfigured media server to WMSPanel. Now it is enough to execute a single command:
sudo /usr/bin/nimble_regutil -u -p password --apply-rules-conf
Please back up your rules.conf before using this method to avoid accidental damages.
After that regutil automatically transfers the Nimble Streamer settings from /etc/nimble/rules.conf file to WMSPanel, and saves the authorization settings to the /etc/nimble/nimble.conf file for sending data to the panel, without changing the other settings.

This capability is specifically useful when you need to organize the broadcast of a single scheduled event and to gather statistics for it (for example, a concert or the final of the National Cup). This scenario can be also used when you create your own CDN.

After adding in WMSPanel, each server can be configured via Web interface. Each operation of setting up a new streaming scenario can be applied to all servers instances  immediately.

Adding via web UI

You may also consider adding an existing server via web UI. It does the same operation as described here but there you may also analyse the rules before applying them via WMSPanel.

Repairing after HW failure

If you existing server hardware has failed and/or you got new system on board, you may want to add this server as existing one rather than registering as new. Read this article for details of this operation.

With the described functionality, Nimble Streamer and WMSPanel users get additional benefits of automatic infrastructure deployment, best resilience and reliability of their streaming processes.

September 16, 2015

Processing RTSP pull streams from IP cameras per request

Today, surveillance cameras are common for security and monitoring. E.g., they are used to ensure the safety of educational institutions: kindergartens, schools, kid's clubs. Many people use cameras to track the progress of construction projects, and to protect the perimeter of protected objects. Often cameras are put in suburban homes, connecting them to the Internet.

Parents, executives of construction companies and owners of country houses should be able to view the video streams from cameras on their mobile devices at any time.

Nimble Streamer allows doing it via transmuxing RTSP stream from the camera to HLS for further viewing on any mobile device. Using of Nimble Streamer helps to reduce load on network channels between cameras and media server, and also helps to protect video streams from unauthorized viewing.

Next we are going to show how to configure that. 

September 9, 2015

Import MPEGTS streams list from playlist

Nimble Streamer allows transmuxing the incoming MPEGTS streams for further restreaming via RTMP, HLS and MPEG-DASH protocols. Until recently, it was necessary to add MPEGTS streams one by one, which was very inconvenient in case of large number of streams.

September 7, 2015

Processing RTMP, RTSP, SLDP and Icecast pull streams per request

Live streaming of video over Internet gives a high load on the communication channels. To reduce channels load, and to increase robustness of live streaming the load balancing techniques are used (read the "HLS, DASH and Icecast streaming load balancing" article for details).

Configure pull RTMP only for requested streams

During origin and edge servers configuration for RTMP streams you can use 2 types of restreaming:
  1. Publish RTMP stream from an origin (or encoder) to an edge server.
  2. Edge server can pull RTMP streams. You need to specify IP or hostname of origin server (or encoder).
For RTSP protocol the settings are performed using the same techniques.
For SLDP, Icecast and SHOUTcast you can use only pull.

You can read more detailed information about the creating of your live streaming network in the "Building RTMP live streaming network via Nimble Streamer" article. In current article we are going to show how to decrease network load by setting up RTMP, RTSP, SLDP and Icecast streams pull by request via Nimble Streamer.

August 31, 2015

The State of Streaming Protocols - August 2015

WMSPanel team continues analyzing the state of streaming protocols.

The metrics calculations are based on nearly 1.5 billion views. The stats are collected from 1900+ media servers (including our Nimble StreamerWowza and Flussonic).

The most interesting fact of this month is that MPEG-DASH has bigger views count than SmoothStreaming. This is a result of continuous work of DASH community for improving tools and solutions. Being a member of DASH-IF, our team keeps on improving our MPEG-DASH feature set as well.

Other protocols share is pretty much the same with HLS being a leader with 69%. Check the chart below for more.

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

You can compare that to July stats below.

August 26, 2015

Achieving low latency for live streaming using Nimble Streamer

Latency is what one part of media companies doesn't care about while the other part is really concerned with. If you provide a content, which requires real-time interaction or impact wide audience simultaneously, like great sports event broadcast, then latency is important for you. Actually, it isn't related to media companies only. At the moment, almost every human can pick up a mobile device (modern, of course), install streaming application and broadcast himself/herself all over the globe.

In the video world, latency is the amount of time between the moment a frame is captured and the moment that frame is displayed. Low latency is a crucial requirement for many streaming scenarios. For example, surveillance systems require immediate reaction of observer on any restricted action. Remote participation in public auction doesn't make sense if buyer sees the situation happened several seconds before. Popular sports broadcast, video conferencing and remote quadrocopter piloting are also obvious cases.

Building RTMP live streaming network via Nimble Streamer

Broadcasting companies often face with overcoming the bottlenecks of ISPs networks, when streaming online video. In addition to that, this companies need to take care about load balancing between the media servers to improve robustness.

You can create broadcasting network which is consist of origin and several edge servers to overcome those challenges. You can locate your origin server in a large data center and install your edge servers near your viewers. In this case you can create failover broadcasting network which allows to perform load balancing between origin and edge servers. Essentially, you are going to create you own Content Delivery Network (CDN). In this article we are going to show how to do that via Nimble Streamer and RTMP restreaming.

August 24, 2015

Live stream broadcasting to YouTube via Nimble Streamer

Perhaps, everyone knows about YouTube, the third most visited site in the world. As you know YouTube allows to perform live streaming from any source. Nimble Streamer can be used as stream source to YouTube. You can combine social power of YouTube and performance of Nimble Streamer. 

You can use any encoder to create live stream (e.g. Adobe FMLE or FFMPEG). In this article we are going to describe the process of live streaming publishing from Larix Broadcaster mobile app to YouTube via Nimble Streamer. Nimble Streamer perfectly republishes RTSP and RTMP streams to YouTube.
Notice that you may also find useful Streaming to Larix Broadcaster YouTube Live article.

August 23, 2015

Larix Broadcaster mobile streaming setup and usage for Android

Do you want to broadcast live video from mobile device to your own audience all over the world? The viewers might be your clients, colleagues, friends, family or everybody else you want to show the current moment of your live. Sure, that should be simple. Just point your mobile device and push the button.

In this article we are going to show how to create video streaming from Android based mobile device via Larix Broadcaster. Larix Broadcaster is a free mobile application which can stream live video or/and audio to media server via RTSP and RTMP protocols. For our example, we will use Nimble Streamer because it is free and powerful media server with rich set of documentation.

August 13, 2015

Hotlinking protection in case of dynamically changing IP address

Streaming protection is crucial for companies selling premium access to their content. In most cases it is enough to use Hotlinking protection to allow viewing your media for authorized users only. This method is very reliable and is used for years, but sometimes it might require additional settings procedure.

Quite often, a viewer's ISP performs connection via proxy chain. In this case it is necessary to extract client's IP address from the request headers to set up Hotlinking protection. You can check the "Using WMSAuth paywall with CloudFlare and other proxies" blog article for more information about this technique.

In rare instances, ISP changes client's IP address for every request to media server. In this situation media server blocks access to stream, because media URL signature isn't correct due to viewer's IP address mismatch. Therefore, even authorized users can't access media content.

You can use Pay Per View framework (PPV) to protect your content and allow viewing video for authorized users in this case. It allows to specify any unique user identifier instead of IP address to generate media URL signature.

August 11, 2015

Using SMIL for adaptive bitrate VOD via MPEG-DASH

Nimble Streamer has an excellent MP4 to MPEG-DASH VOD transmuxing feature set. As an addition to this scenario, our customers were asking if we plan supporting multi-bitrate (adaptive bitrate) support for VOD. The de-facto standard for this kind of tasks is the Synchronized Multimedia Integration Language, or SMIL.

Nimble now has SMIL support for MPEG-DASH VOD just as it has for VOD HLS. Let's see how it's set up and how a user may stream ABR VOD.

August 10, 2015

Domain Lock techniques for media streaming in Nimble Streamer

Streaming process is closely related to your website promotion. You need to restrict the ability of copying your media-links for maximizing profits. This limitation is called Domain Lock and allows to keep your content unique. Here are basic techniques you can use for that.

Robust protection can be achieved via the Hotlinking protection. You need to add a media URL signature and this signed URL won't be played on other domains. For more information please check the "Hot-linking protection and domain locking" blog article. However, this type of protection requires to modify your front-end source.

Sometimes abusers act as "man-in-the-middle", requesting web page from viewer's IP address, taking URL from that page and pasting it into its own media player via special applications. In this case you need to use more complex protection (you can check the detailed information about this technique in "Protecting media links from web scraping" article in our blog).

In some cases it is sufficient to play a media file only from specific URL, which contains your domain name. There is a simplified method that doesn't require changing your front-end source and protects your content from viewing from third-party web pages. This method is based on checking the crossdomain.xml file by media player integrated in web page (see the Cross-domain policy and access control in Nimble Streamer blog article for details).

One more way to secure your stream is to use WMSAuth rules which is described below. This method allows to view video which has a specific domain name in the URL. This restricts the domain mapping to your domain and allows to track on which web resources URLs to your content is included.

You can also combine the above methods to create multi-level protection for your content. These methods completely cover more traditional approaches used in other security systems. They assume that you need to add specific domain names to restrict streaming while WMSPanel feature set is more flexible and powerful.

Let's see how Domain Lock can be implemented in Nimble Streamer using WMSAuth rules mentioned above.

August 3, 2015

Prevent files download while streaming VOD

Broadcasting companies pay considerable attention to protect their content because nobody wants to loose profit. One of the most urgent problems in internet streaming is blocking the ability to download  media files. If media file is streamed via Progressive download protocol then this file can be easily downloaded. To restrict the ability to download media files by most of your users you can use more complex streaming protocols such as HLS or MPEG-DASH. Progressive download streaming should be blocked.

Blocking Progressive download streaming.

You need to set up a rule in WMSPanel to protect your media files from downloading.

July 31, 2015

The State of Streaming Protocols - July 2015

WMSPanel team continues analyzing the state of streaming protocols.

The metrics calculations are based on nearly 1.4 billion views. The stats are collected from 1800+ media servers (including WowzaNimble Streamer and Flussonic).

HLS share is at 69% share with slight decrease of RTMP and Icecast numbers. Check the chart below for more.

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

You can compare that to June stats below.

Mobile broadcasting SDK

WMSPanel team is pleased to announce new product for Android mobile platform, called Mobile broadcasting SDK.

Live broadcasting from Android device

At the moment, our WMSPanel service processes data from thousands of different media servers those are doing hundreds of thousands of streams and our Nimble Streamer media server handles billions of connections monthly. We experience a constantly growing demand for new features from our customers who are interested in mobile streaming solutions.

Mobile streaming share increases rapidly, because modern devices are able to provide pretty high quality video and audio content, and, what is important, are broadly used. However, building just streaming application isn't main objective. What really comes to the fore is ability to apply company's business logic to mobile streaming within existing infrastructure or build such infrastructure in easy and common way.

July 26, 2015

Advanced MPEG-TS delivery over UDP via Nimble Streamer

There is wide range of tasks associated with streaming of media content in MPEG-TS over UDP in corporate networks. Nimble Streamer is capable of transmitting stream to multicast network, DVR Storage, transcoder or presentation monitor.

MPEG-TS over UDP multicast via Nimble Streamer

In some cases it is necessary to transmit multiple programs in a single MPEG-TS stream. This activity is often related to private networks (hotel, enterprise), when using a hardware decoder that supports only MPEG-TS as input.

Packing multiple RTMP, RTSP or MPEG-TS streams to single MPEG-TS UDP stream.

The distinction of Nimble Streamer is the ability to transmux up to 256 RTMP, RTSP and MPEG-TS streams into single multi-program MPEG-TS UDP stream. For each incoming stream the unique PMT PID, Video PID and Audio PID values are assigned. You can take RTMP, RTSP and MPEG-TS streams from any sources, transmux them into a single UDP MPEG-TS stream and transmit via multicast.

July 22, 2015

Streaming VOD from remote HTTP storage via Nimble Streamer

Many broadcasting companies use remote media storage as a convenient way of organizing video-on-demand (VOD) streaming infrastructure. The main advantage of dedicated storage is having all files located in single repository, instead of maintaining multiple copies across all edge servers, and save costs on multiple large hard disk drives. The second advantage is ability to organize centralized backup and failure recovery and convenience of managing content, such as adding, removing or replacing media files. This is why storages like Amazon S3 are extremely popular.

Remote storage support is now available in Nimble Streamer. It works with any server, that supports file access via HTTP protocol with HTTPS as an option. Nimble Streamer support HLS, and MPEG-DASH transmuxing as well as progressive download from remotely stored media content. Advanced caching techniques allows Nimble to effectively stream files, those size exceeds available file system capacity.

Streaming remotely stored Media

Nimble Streamer is extremely lightweight and powerful. You can use any cheap virtual machine to stream thousands of files. All you need to do is specify link to your media on remote server via WMSPanel web interface.

July 17, 2015

Protecting media links from web scraping

Security and billing are often considered as most valuable tasks for every media business. It's hard to imagine a company that doesn't care about protecting its own content, which in fact underlies company's gain. Unprotected content can be used by other people for commercial purposes and that actually means missed profit for the content owner.

WMSPanel team provides their customers with set of paywall features for Nimble Streamer and Wowza, those are dedicated to solve the above tasks. The best-known feature is hot-linking protection, which allows to protect specified links from re-streaming and further re-use. Briefly, media URL is accompanied with special signature, which contains information about IP address of viewer and period of time the URL is valid for. So, protected URL can't be used to retrieve media content from any different IP address and expires after predefined period of time. Perfect!

However sometimes, our customers report, that hot-linking protection is broken, because they've seen an application, playing their protected streams. The application's name is usually Kodi, SimpleTV or PlaylisTV, but that isn't a full list. Reported case looks like re-streaming, but in fact it's not. Those applications don't produce media URL, but scrape it from a web page, which is in most cases accessible for everyone. Roughly speaking, they act as "man-in-the-middle", requesting web page from viewer's IP address, taking URL from that page and pasting it inside its own media player.

So, nothing to worry about? Not exactly.

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 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": "",
    "alias": "Nimble Promo Video 1",
    "alert": true,
    "paused": false,
    "checkpoints": [

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

MPEG-TS playback and transmuxing to HLS, RTMP, MPEG-DASH

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.

May 31, 2015

The State of Streaming Protocols - May 2015

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

The metrics calculations are based on nearly 1.5 billion views, which is twice less than previous month. The stats are collected from 1700+ media servers (including WowzaNimble Streamer and Flussonic) so we consider May was a bit "relaxed" comparing to April for our customers. Also, we introduced HTTP origin for "CDN-friendly" outgoing streaming which was adopted by our key customers - this affected stats as well. However, the picture remained pretty much the same.

HLS share went down to 72% share while Icecast and MPEG-DASH numbers increased. Check the chart below for more numbers.

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

You can compare that to April stats below.

May 28, 2015

Verimatrix VCAS live streams DRM support via Nimble Streamer

Monetizing the content requires various techniques for media protection. Nimble Streamer team helps streamers protecting their content via paywall capabilities which include hotlink protection, pay-per-view, geo-restriction, HLS AES-128 encryption support and some other features.
Now we introduce DRM capabilities for live streaming via Verimatrix Video Content Authority System (VCAS™) support.

VCAS pay-TV operator solution consists of combinations of the components optimized for a specific market segment. Based on a highly modular system architecture and efficient form factor, VCAS is inherently cost effective for the smallest deployment while scaling easily to operations with millions of subscribers.

With VCAS, Nimble Streamer can be used for media encryption and delivery of live content. Having RTMP, RTSP or MPEG-TS input, it will produce HLS streams properly encrypted. Nimble is optimized for handling large amount of viewers and building robust infrastructure so it may be the only element which you need for delivery of media from content owner to consumers. As it's a freeware and it requires low amounts of resources, this would allow decreasing the cost of ownership for your solutions.

Let's see how you can set up Verimatrix VCAS with Nimble Streamer to protect your content.

May 21, 2015

Transmux RTSP to HLS, RTMP, DASH and more via Nimble Streamer

RTSP streaming still has its share among other protocols for playback and streaming from some of the encoders, especially from cameras. It's an opened technology available via RFC so companies widely use it for certain use cases and scenarios.

So Nimble Streamer now has support for RTSP protocol as well.
It handles any of allowed streams types:
  • announced RTSP streams published to Nimble
  • streams available via public URL (i.e. pulled streams)
The output streams protocols are:
  • RTMP;
  • RTSP - so it allows RTSP re-streaming;
  • HLS;
  • Icecast;
  • MPEG-TS.
So having one input stream, a streaming administrator may get 5 different outgoing streams to support various client types.

Let's see how this can be set up.

April 30, 2015

The State of Streaming Protocols - April 2015

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

HLS share is on the same level of 77% share while RTMP share (17%) went down insignificantly. Other protocols are at the same position.

All these metrics calculations are based on nearly 2.9 billion views. The stats are collected from 1700+ media servers, including WowzaNimble StreamerRed5nginx-rtmp-module and Flussonic. Check the charts below.

The State of Streaming Protocols - April 2015
The State of Streaming Protocols - April 2015
You can compare that to March stats below.

Media streaming industry news for April

Our team keeps tracking news about media streaming, online video and audio from around the world. This gives a lot to think about the industry goes and about what we can do.

As usually, we made a small digest of what we thought might be interesting for our customers and followers.

The main event of this month was the NAB Show 2015 in Las Vegas.
Our CEO Yury Udovichenko visited the trade show and met a lot of our customers and partners. You will see some of the results of these meetings in the near future. Take a look at a few pictures from the show in Facebook account (and subscribe to its updates if you haven't done it yet).
One of the visited events was the DASH IF networking reception. Take a look at the inteviews of the participants.
Also, check the best products of the show as seen by Streaming Media magazine.

The Biggest Streaming Media Mergers and Acquisitions list for 2014 might be interesting to see what's going in terms of players' interests.
A couple of acquisitions happend this month as well.
Congratulations to the teams!

“Amazon Web Services is a $5 billion business and still growing fast — in fact it’s accelerating,” says Jeff Bezos. Amazon's first quarter sales proove that.

Jan Ozer intorduced a new article - New HEVC Patent Pool: What Are the Implications? The new technology brings new licensing terms. Also, check Jan's Producing and Distributing HEVC session from last year Streaming Media West conference to see where HEVC is now.
Speaking of Jan, we should mention his digest on DRM Resources on the Streaming Learning Center website.

Check a bit more about protocols and standards:

Those who like everything about drones, will be interested to read recent Dawn of the Drone: An Aerial Video and Photo Primer article.

April 29, 2015

MPEG-DASH edge re-streaming

One of the first supported scenarios for Nimble Streamer was HTTP media re-streaming. Today this includes now HLS, SmoothStreaming, HDS and progressive download re-streaming. In this scenario Nimble is used as an efficient caching server which is able to handle media content properly. This means that re-streaming of live content will use its own set of caching techniques and VOD re-steaming will utilize cache in other way.

Last year we released a wide MPEG-DASH feature set which included live streamingvideo-on-demand and content protection. Having that, we later joined DASH Industry Forum to participate in its initiatives.

As people discover more use cases for DASH usage, we wanted to provide full features coverage for this protocol. Like, companies consider using DASH for DRM so they need a way to efficiently deliver streams after the content is encrypted. So basically it's a good case for delivery of pre-packetized content to end users.

This is why we introduce the MPEG-DASH re-streaming capabilities in Nimble Streamer.

Re-streaming cache works the same way as for other protocols. Live stream cache is stored for limited time while VOD media cache may be stored for large periods of time.

It's set up the same way as for other protocols like HLS. An administrator defines a route where he specifies:

  • what is the origin of DASH content;
  • what URL is used for accessing data on edge;
  • what servers will handle this route.
Let's see how it works.