December 30, 2013

Happy New Year from WMSPanel team

The year of 2013 was full of great events for our team. Let's see what we've got for you this year.

WMSPanel


Our control and reporting panel has been significantly re-worked. New control and reporting features for Wowza Media Server brought new excellent user experience for your existing and new customers.
WMSPanel is now available in English, Portuguese, Spanish, Italian, Russian, Turkish and Serbian. Thank everyone who participated in this great achievement!
We've significantly re-worked our background early this year. By now we are handling 900+ media servers with ease. Scalable and robust architecture will allow us handling unlimited number of new users with predictably great quality.

Nimble Streamer


This new product was introduced in spring and has grown its audience since then. People love easy HLS VOD streaming! Many customers like improving their live HLS re-streaming with Nimble Streamer edges and protect HLS streams from hotlinking.

We have a lot of plans for Nimble Streamer in 2014 so stay tuned for updates!

Dispersa


The last but not the least - Nimble Streamer and WMSPanel was used as a basis for the newest service which we called Dispersa. It's a streams availability checker which uses distributed network or checkpoints. Early next year we'll introduce periodical checks, statistics collection and other quality of service check overs.


We thank all of our customers and trial users for being with us this year.

Happy New Year! We'll see you in 2014.


December 26, 2013

Nimble Streamer on CentOS, Red Hat and Debian

Our team created Nimble Streamer to be installed on Linux OS. This is the platform which is best fit for high-load projects. Obviously most streaming media projects are born to be highly loaded, this is why we chose Linux as target platform.

Initially we started with Ubuntu Linux which is once of the most popular OSes on the market. Now we've made the step forward and made Nimble Streamer available on several other flavors of Linux.

Here's the full list of operating systems where Nimble Streamer is tested before every release:

  • Ubuntu 10.04 Lucid
  • Ubuntu 12.04 Precise
  • Debian 6.0.8 Squeeze
  • Debian 7.2 Wheezy
  • Red Hat Enterprise Linux 6
  • CentOS 6

Please read the latest version of Nimble Streamer installation instructions. to see how it needs to be properly installed on these platforms. There are few easy steps there and also links to how-to pages describing the installation process in details and pictures.

Feel free to contact if you need any help with setting up and tuning Nimble Streamer.

Related documentation


Nimble HTTP StreamerMP4 transmuxing to HLS VOD streamingStreaming VOD with DigitalOcean and Nimble StreamingNimble configs explainedHLS re-streaming set upWMSPanel Slideshare

December 25, 2013

Dispersa: a distributed streams availability check service

WMSPanel team proudly presents a new product for improving streaming media quality of service.

It's Dispersa, a service for distributed streams availability checking. This is a first step towards creating a service for checking the quality of experience.

If you're running a streaming media business you need to bring proper quality of service. This requires some significant effort. One of the basic but efficient practices is the stream availability check. This one needs some external point of view at your streaming infrastructure hence the additional efforts.

Currently you can enter a URL of the stream and make it checked over for free.

The following protocols are supported:
  • HTTP Live Streaming (HLS);
  • HTTP Dynamic Streaming (HDS);
  • Smooth Streaming;
  • MPEG-DASH;
  • RTSP;
  • RTMP;
  • Icecast;
  • Shoutcast.
The stream is being checked in parallel from all of existing checkpoints. A checkpoint is a server with Nimble Streamer installed. Nimble is performing required check and sends results to WMSPanel which shows all performed actions on the monitoring dashboard.

We will be expanding this distributed network of checkpoints by adding new servers in various geographical points. You may also participate in this: you may add checkpoint at your own locations and be listed in our checkpoints page. Later on we'll add the ability to add checkpoints in your private networks to make all check-overs in closed environment.


Also try our 24/7 streams monitoring feature set with streams monitoring history. 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.

Take a look at our screencast describing the service:



Q: My streaming network is protected with WMSPanel hotlinking protection. Can Dispersa work here?

Yes, just set up allow list for Dispersa checkpoints IP range.


Here's what we want to do next:
  • Profiling.
  • Quality of experience metrics.
Contact us if you need some specific or common use case - we're opened for feedback.

Related documentation



December 22, 2013

Nimble Streamer edges benchmark

People ask us about the performance metrics of Nimble Streamer. What are the minimum HW requirements? How many connections will it handle on particular server? Even though we have our internal test results, we're always looking for real life examples to prove our expectations and measurements.

One of our customers recently allowed making several snapshots of statistics which we'd like to show to you.

There were 13 Nimble Streamer machines actively re-streaming HLS from encoding origins. Here's how all servers real-time chat looked like (origins are excluded):

Real-time connections and bandwidth chart for Nimble-powered 13 edge servers.

As you see there were about 4000 connections total and they've generated almost 7.6Gbps of average bandwidth.
The incoming connections were balanced over all edge servers equally. Let's see some of those edge servers metrics.

This one has less than 1% CPU load and 500 MB RAM used for handling 170 connection at 300 Mbps.

CPU and RAM charts for one of Nimble Streamer edges.
Real-time chart for one of Nimble Streamer edges.


This one has less than 1% CPU and 480 MB RAM used for 270 connections at 130 Mbps.

CPU and RAM charts for another Nimble Streamer edge.
One more real-time report for Nimble Streamer edge.

As you see, Nimble Streamer doesn't consume CPU and much RAM being a re-streaming edge server so you can install it on any available small servers and off-load your encoding origin.

We'll keep posting other bench marking examples to show Nimble Streamer in action.

Related documentation


Nimble HTTP StreamerLoad balancing and failover with Nimble StreamerHLS re-streaming set upSmooth Streaming supportRAM caching for effective re-streamingWMSPanel Slideshare,

December 11, 2013

Citrix acquires Skytide

Dan Rayburn has recently brought interesting news: Citrix Acquires CDN and Service Provider Analytics Company Skytide.

Skytide's solutions cover analytics and reporting for medium to large CDNs. As per Dan, Citrix plans to integrate Skytide’s technology into their ByteMobile platform.

So our team would like to congratulate Skytide and Citrix with this big step forward!



Meanwhile you can read about WMSPanel for hosting providers and CDNs and see how you can improve Wowza end-user reporting experience with WMSPanel.

December 4, 2013

Nimble Streamer overview video

We've shot and released a new video! It's about Nimble Streamer.

Watch this:



This video is available on our Demo page, it's streamed by Nimble itself.

You can also read "The Paranoid’s Guide to Internet Video Streaming" by Thomas Gires to see real-life example of using pay-per-view feature set of Nimble Streamer and WMSPanel.


December 3, 2013

WMSPanel community forum is now opened

We are excited to announce that we've launched a company forum!

Visit WMSPanel community forum

It has 4 major categories.
  • WMSPanel functionality - it has general questions regarding our cloud control and reporting panel.
  • Paywall - is about hot-linking protection, geo-location restriction, pay-per-view and other limitations provided as part of our services.
  • Nimble Streamer - here you can ask and answer questions about our light-weight streaming server for HLS, Smooth and progressive download.
  • Case study - it's about showing your real-life examples, here you can tell us about how our products helped your business.
You may post topics using your native language. This would be even better because WMSPanel is international-oriented product used by people from all around the world, so your opinion will be appreciated.

We've also gathered a series of frequently asked questions under FAQ tag. So yo can see what people ask most.

Now, go to the forum and post your use cases of our products.

November 26, 2013

Playtime statistics for Nimble Streamer

WMSPanel is now able to get statistics about playtime and duration intervals for Nimble Streamer servers. So you may know for sure how much time your users spent viewing the content and it's available for all protocols handled by Nimble Streamer including HLS, SmoothStreaming and progressive download.

This report is available via Reporting / Duration stats menu.

Playtime and duration report.
To start, it has "Play time" column with total play time and average play time.

Also, we made metrics which would allow seeing info about how long do their customers stream the media. Our report shows distribution of viewers among time intervals.

There are 13 intervals chosen:

November 22, 2013

WMSPanel partners with Vidillion for their Advertising Network Platform

Now it's official: WMSPanel selects Vidillion for their Advertising Network Platform Partner.

Vidillion has been WMSPanel customers for years by now. They've used our solution with high loads which brought us great feedback throughout our project life time. One of the most intensively used feature set for Vidillion is the hot-linking protection. It's been integrated into their core workflow and tested against a variety of use cases.

Now we came to become technology partners for their Advertising Network Platform which we recommend to our customers when it comes to advertising.

Please read Vidillion and WMSPanel press release to read more about this partnership.

Our team is opened for partnerships and proposals so if you have any ideas, just let us know.

November 20, 2013

WMSPanel at Streaming Media West 2013

The Streaming Media West 2013 conference is over today. We've posted a bunch of photos from there to give some overview of what was happening there during these three days.

Please take a look at the pictures in the the album at WMSPanel Facebook account.

Here are few pictures from that album:




Conference materials will be available online soon, you can check them at streamingmedia.com.

Visit our WMSPanel Facebook account to see more pictures.

November 13, 2013

How to make robust streaming with Nimble Streamer

As we mentioned in the previous post, building robust content delivery network means that the content must be delivered regardless of availability of all servers. There we've reviewed the techniques available for anyone to build a simple re-streaming infrastructure with content origin, streaming edges and DNS failover.

Let's build this delivery network using DigitalOcean hosting and Nimble Streamer. We've already used this stack for quick start of VOD streaming, so let's continue using these two for building our first CDN prototype. You can use any other hosting provider best fit for you, like Amazon or Rackspace.



UPDATE
WMSPanel team released the article describing the recommended approach to load balancing for HTTP-based protocols like HLS, DASH, Icecast etc. Please use the technique described there to build your own balancing solution rather than approach shown below.
The DNS failover approach used below is considered obsolete. However, Nimble Steamer installation and the re-streaming setup are correct and may be used for setting up your environment.




OK, so we have a content origin which accepts requests.


We need to make it robust and scalable. The DNS failover technique will be used for that. We'll make a set of re-streaming caching edge servers to provide failover and to allow easily adding new edges in this farm.
Building robust and scalable re-streaming infrastructure.

Load balancing and failover with Nimble Streamer

Nowadays HTTP based protocols become more and more popular for many reasons and about a half streaming media has switched to use them by now. This movement will proceed and this is why it was decided to implement Nimble Streamer, a light-weight media server for HTTP protocols re-streaming and VOD content processing. So it is intended to be used as a basis for content delivery over HTTP.

Building robust content delivery network means that the content must be delivered regardless of availability of all servers. Let's see how Nimble Streamer can be used for these conditions.



UPDATE
WMSPanel team released an article describing the recommended approach to load balancing for HTTP-based protocols like HLS, DASH, Icecast etc. Please use the technique described there to build your own balancing solution rather than HTTP redirect-based approach shown below. The text below is considered obsolete.



A typical CDN consists of two major parts - content origins and delivery edge servers. Origins are typically stores the content, makes transcoding, re-packaging and transmuxing. Origins are heart of any CDN and we recommend using Wowza Media Server as an origin especially in case of live video.

Edges are required to:
  • off-load the origins, e.g. they might be too busy with encoding,
  • pass around transmission bandwidth limitations as any server has its throughput limitations,
  • improve robustness in case of server failures.
Having several edges, we cannot point a player to some certain server. We should use domain name in this case and once any of the edges goes down, we need to make sure that all new connections will go to properly functioning servers. DNS failover (DNS round-robin) technique can be used for having some single domain name as well as providing a robust failover since DNS allows mapping several IP addresses to one domain.

Origin and Nimble Streamer edges with DNS failover.

Let's see a possible network architecture to cover live streaming use case.

1. Origin


We have an origin server that provides a stream which is packaged with HTTP Live Streaming (HLS, or Cupertino), Microsoft SmoothStreaming (Smooth) or progressive download. It may use any streaming media software like Wowza Media Server, Nimble Streamer, nginx, Microsoft IIS etc.

2. Edges


We will take Nimble Streamer as edge software. Nimble will take requests for contents from the player and will request that contents from origin. As soon as the chunk is started to be downloaded, it's being given to the player and then stored in cache - either RAM cache for live streaming or ROM for VOD streaming. Once a content chunk is available in cache, it will not be requested from the origin.

Re-streaming routes are easily set up in WMSPanel. The most convenient feature for this case is that you may describe a route and apply it to multiple servers. So it doesn't matter how many edges you have, you may be sure that all edges will have identical routing settings.

3. DNS


Now let's make sure our content from the origin will always be available for any player via single robust access point.

DNS failover is based on using multiple A-type DNS records for the same domain name which point to a set of IP addresses. We use DNS failover for providing robust balancing for our WMSPanel cloud service. The records would look like this:
video.ultimatemediastreaming.com A 162.243.88.159
video.ultimatemediastreaming.com A 162.243.88.131
It's all set.

4. Streaming


Now you may use URLs like this for using in a web or desktop player:
http://video.ultimatemediastreaming.com:8081/live/playlist.m3u8
You can be sure that any new connection will be taken care of using either of those 2 mentioned edges. If one of them goes down, the second one will keep processing incoming connections and give the content back.

Now you can try it yourself. Just follow installation instructions and contact us if you need help.

Check how to build robust streaming infrastructure with DigitalOcean and Nimble Streamer.


You can also read "The Paranoid’s Guide to Internet Video Streaming" by Thomas Gires to see real-life example of using pay-per-view feature set along with Nimble Streamer as light-weight edge for HLS re-streaming.

Related documentation


Nimble HTTP StreamerMP4 transmuxing to HLS VOD streamingStreaming VOD with DigitalOcean and Nimble StreamingNimble configs explainedHLS re-streaming set upSmooth Streaming supportNimble Streamer HTTP hotlinking protectionRAM caching for effective re-streamingWMSPanel Slideshare, Geo-location load balancing with Nimble

November 12, 2013

How to stream VOD with Nimble Streamer

Nimble Streamer is a light-weight HTTP streaming media server. The "light-weight" means that it’s targeted for being used on small virtual servers. These small servers can be deployed both as a single server and as a task force, or a farm, which can effectively stream the media via HLS, Smooth and progressive download.

Nimble is provided free of charge and its target platform is Ubuntu. If you want to make further savings, you look for the cost-effective hosting provider. DigitalOcean has the unbeatable prices which makes it a great virtual cloud provider for streaming media hosting. Of course you can use any other hosting provider like Amazon or Rackspace. WMSPanel is not affiliated with neither of the mentioned companies.

Let's see how "DigitalOcean + Nimble Streamer" stack can help you start streaming VOD content within just several minutes. We’ll follow these easy steps:
  1. Create virtual server in DigitalOcean.
  2. Install Nimble Streamer.
  3. Set up streaming routes.
  4. Test the VOD streaming on a desktop and on a mobile device using HTML5 player and JWPlayer.

November 5, 2013

Geo-location and IP range restriction for Nimble Streamer

Many media streamers want to limit their media by geographical location or sub-network. As a media server, Nimble Streamer is used as part of infrastructures where this limitation is crucial. That's why it's now available in our feature set. If you haven't installed Nimble Streamer yet, you need to follow this simple installation procedure.

Nimble and WMSPanel can set up the following behavior:
  • Define allow and deny lists for countries access.
  • Set up separate IP ranges to include in allow/deny list.
The workflow is simple - when the viewer connects to Nimble, the server checks if viewer's country is in deny list or is limited by other IP-based condition. If it's allowed to connect, then connection is established.

Nimble Streamer geo-location restriction.

This is provided as part of WMSAuth feature set.

Click on Control -> WMSAuth paywall setup top menu to start the setup process.

Hot-linking protection for Nimble Streamer

Nimble Streamer paywall capabilities cover several aspects of content protection. The most popular case for abusers is to take the link from the source - e.g. from your website - and insert the link into their webpages. So they take the content while you don't get any profits from it.

Hence we implemented the protection against links republishing ("hi-jacking"), or hotlink protection.

The protection consists of 3 parts

  1. Nimble Streamer
  2. code snippet on a web page which generates a signature for the streaming media
  3. the interface to control the protection.

The protection is integrated in two steps. They are:
  1. Change media player web page to have a signature of media URL.
  2. Set up protection via WMSPanel.
Nimble Streamer and WMSPanel do the rest. If you haven't yet installed Nimble Streamer, you need to follow this simple installation procedure.

Here's a workflow chart for the basic scenario.
Nimble Streamer hotlinking protection flow.

October 27, 2013

Nimble Streamer Slideshare

Nimble Streamer is created to be a basis for streaming media infrastructure. To make decision on trying the software in production environment, company representatives need to see a solid description of why they should try it.

That's where a presentation is the best way to show key thoughts. Take a look at the first presentation describing Nimble Streamer which will be useful for decision makers.


It shows basic features and the business model for both Nimble Streamer and WMSPanel as its front-end.

You are very welcomed to share this presentation to anyone who may find this useful. Please contact us if you have any questions or concerns.

You can also read "The Paranoid’s Guide to Internet Video Streaming" by Thomas Gires to see real-life example of using pay-per-view feature set along with Nimble Streamer as light-weight edge for HLS re-streaming.

Related documentation


Nimble HTTP StreamerMP4 transmuxing to HLS VOD streamingNimble Streamer HTTP hotlinking protectionNimble Streamer geo-location restrictionNimble configs explainedHLS re-streaming set upSmooth Streaming supportGeo load balancing with Nimble StreamerHTTP pseudo-streaming progressive downloadWMSPanel Slideshare,

October 21, 2013

Transmuxing MP4 to HLS for VOD streaming

Nimble Streamer main functional area is HTTP-based streaming. We've made a number of features that allow streaming with progressive download as well as perform re-streaming via HTTP Live Streaming (HLS) and Smooth Streaming.

For HLS re-streaming the use case is simple - you take any origin like Wowza, IIS or nginx, install a a number of Nimble edges near your viewers and do the transmission whenever you like. Nimble is light-weight so streaming provider can create small virtual machines for edges' infrastructure.

We have customers who want to have cheap origin servers the same way they cheap edges. We wanted to cover this segment by releasing a solution which would be available free of charge and could be able to stream HLS in VOD mode. So today we introduce HLS to MP4 transmuxing feature set in Nimble.

Both H.264 and H.265 videos are supported.



Re-packaging MP4 to HTTP Live Streaming (HLS)


This feature set allows transparent re-packaging of MP4 to HLS, which is also called transmuxing. Such transmuxing will re-package existing MP4 file encoded with H.264/AAC/MP3 into the MPEG TS segments necessary for HTTP Live Streaming, without having to re-encode the file. It supports VOD transmission mode.

Supported formats are:
  • video+audio;
  • video;
  • audio;
  • mp4 compatible brand
  • Apple QuickTime extension;
  • Adobe f4v
  • files with CTTS atom in TRAK.
This covers most of the use cases for MP4 usage.

Free of charge


First, this MP4 re-packaging within Nimble Streamer is not eligible for patent fees. We do not do any encoding or transcoding thus no patented technologies are used. We do not use any third-party tools as well so there are no license dependencies. We got confirmation from MPEGLA that our implementation does not require patent payments.

Knowing that Nimble Streamer itself is available free of charge and that we don't pay patent royalties, you can install and use Nimble for MP4 transmuxing for free. You can use common installation instruction and configure using config files description.

We are a service company so we take money for providing WMSPanel for calculating statistics and having convenient web control over the server. Having Nimble Streamer in WMSPanel makes it eligible for subscription with common terms described in our pricing page.

Setting up transmuxing for Nimble via WMSPanel


Let 's see what you need to do for HLS VOD streaming from a single MP4 file.

2. Upload your MP4 file encoded with H264/AAC/MP3 to a designated location on the server. The user called "nimble" must have read access to this directory.

3. Go to WMSPanel under Nimble Streamer / Edit Nimble Routes menu.

4. Click on Add VOD streaming route.


5. For fields set 1 enter the domain and the directory where the files will be accessible for HLS streaming. You can mention just a "Path" having a "Domain" as blank.

6. For field 2 enter a local directory where the content is located.

7. Choose which Nimble servers need this route and click OK.

 Setting up HLS VOD streaming via MP4 transmuxing.
Here's an example.

  1. You have Nimble installed on a server available at 198.101.232.28.
  2. Your file is /home/user/content/sample.mp4.
  3. In a field set 1 you set "/hls/" as "Path" with a blank domain.
  4. In 2nd field you set "/home/user/content/"
  5. You select server "198.101.232.28" from list of Nimble servers and click OK.

Now to view the file using HLS you should use this URL:
http://198.101.232.28:8081/hls/sample.mp4/playlist.m3u8
Now with this HLS origin functionality combined with edge re-streaming capability you can set an effective HLS VOD streaming infrastructure based on Nimble Streamer.

The streaming VOD may also be protected in the following ways:


Need to support ABR for my VOD


You can create ABR VOD HLS using SMIL files with Nimble Streamer.

Need to convert MP3 or AAC to VOD HLS


Check this article about MP3 and AAC to HLS transmuxing.

Need to convert RTMP to ABR HLS and UDP MPEG-TS live stream into HLS


Check the following posts:


October 16, 2013

Devices and players report for Wowza

Streaming media is expanding to a variety of devices these days. So one of the things any streamer wants to know is the statistics for devices which his clients use for watch media. As most video is done via the desktop or handheld devices, the players and browsers report is also important. WMSPanel obtains this information from user agent specification which Wowza provides for each connection.

So we've created two new reports - Devices report and Players report. They are available under Reporting menu. All reports allow selecting dates ranges and specific servers. You may also export the statistics to CSV file and print if you want a hard copy.

Each number is a number of connections. This means if 1 user connected 2 streams, or opened same stream twice them, this will be counted as 2 connections.

Devices report


This report has statistics for major device types available on the market.  There are popular platforms as you notice in column names. It's Windows of several flavors, Macintosh, iPad/iPhone, Android, set-top-boxes (Roku, Apple TV), gaming consoles and a few others.

You can see a pie chart and detailed statistics table. There is also a line of links that allow browsing devices' statistics which is "sliced" per player.

Selecting dates range and per-browser slicing or devices.
Devices percentile pie chart.
Devices detailed statistics.

Players and browsers report


Take a look at another report below. You can see the major browsers (Chrome, Firefox, IE etc) and several players in it. And then there's Flash, of course. It's also sliced by devices the same way we saw per-player division in devices report.

Selecting dates range and per-device stats for player report.


Players pie chart and detailed statistics.

These two reports give you a vision of how your content is played. If you see that some device or browser is missing, send us your feedback to include new entries in our report.

UPDATE as of Dec-5-2013. We've added SmartTV among devices.

Devices and players report is also available for Nimble Streamer, the light-weight HTTP streaming server for HLS, Smooth and progressive download. WMSPanel is an official GUI for Nimble Streamer.

Read more about WMSPanel streaming reporting features.

Related documentation


End user reporting for WowzaDaily statisticsDaily stats APIPlayers and devices stats APIReal-time stats APIGeo location reportingData slices for statisticsScreencast for daily statisticsStatistics import APIPaywall for Wowza

October 14, 2013

Prototyping HLS VOD for MP4

When our team started working on Nimble HTTP Streamer we wanted to concentrate on basic HTTP streaming use cases. First basic things to cover were edge re-streaming and progressive download. Now when basic cases are mostly covered we wanted to try ourselves in handling origin HTTP streaming.

First use case to try is HLS VOD streaming. People want to take their VOD media libraries and stream them to a variety of devices which support HLS (which is quite a lot). So we started implementing this feature set with a prototype to estimate the effort and see major implementation problems.

So some time ago we've completed a small prototype implemented with Ruby and released it on our gihub account. It make re-packaging of MP4 content into MPEG-TS chunk.

It is used as follows:
ruby mp4hls.rb sample.mp4 sample.ts
where sample.mp4 is input MP4 file and sample.ts are output file

This prototype supports the following formats:
  • video+audio;
  • video;
  • audio;
  • original MP4;
  • Apple QuickTime extension;
  • files with CTTS atom in TRAK.
The implementation is available via MIT license and it's not eligible for patent fees according to confirmation from MPEGLA.

We are currently working on this feature set as part of Nimble Streamer so soon it's going to be available as part of the major product.

UPDATE: We've implemented it as part of Nimble Streamer: MP4 transmuxing to HLS VOD streaming

Contact us if you have any questions regarding this product.

Related documentation


Nimble HTTP StreamerMP4 transmuxing to HLS VOD streamingHLS re-streaming set upHTTP pseudo-streaming progressive download, WMSPanel githubWMSPanel Slideshare

October 9, 2013

Nimble disk cache for VOD re-streaming

One of the major use cases for Nimble Streamer is the re-streaming of HLS and Smooth Streaming. Our customers use it to off-load their origin servers by moving light-weight Nimble edges closer to their audience.
Nimble Streamer edge for Wowza Media Server origin.
Currently Nimble has a RAM-based cache for live re-streaming and a disk cache for VOD re-streaming.

Let's see how disk cache works for delivery of VOD content.

  1. A viewer requests a playlist, Nimble downloads its and determines whether it's live or VOD.
  2. The playlist is sent back to the viewer.
  3. A viewer requests a new chunk from the previously downloaded playlist.
  4. If there is no pre-downloaded chunk, it's being requested from the origin.
  5. Once downloaded, it's being placed to disk cache.
  6. If the disk cache is full, the chunk is stored into RAM if possible.
  7. The chunk is being stored on disk for 24 hours then removed.
Live caching will be done in similar way, but it will be primarily stored in RAM and then on disk in case of overflow.

The following parameters are added info config file to allow some fine tuning of disk cache:
  • cache_path is a path to the file cache storage, with default value /var/cache/nimble.
  • max_disk_cache_size is a size of file cache measured in MB with 4096 MB by default.
This gives an ability to effectively deliver VOD content to any edges from any type of origin.

Please also learn more about latest VOD cache control features here.

If you wish to try it in action, feel free to install Nimble Streamer and contact us in case of questions.

Related documentation


October 7, 2013

UPDATE: WMSPanel users management

We've released s small update for our users management feature set. Your company admin may now specify if the non-admin user is allowed to create data slices by his own. This feature as well as server management permission is a good thing for the companies which want to give some flexibility over Wowza management for their clients.

Users management.

User details.

Read more about WMSPanel streaming reporting for end users.

Related documentation


End user reporting for WowzaData slices for statisticsStreamed slices for WowzaUsers details and permissions management

October 2, 2013

Setting up live stream for Wowza via WMSPanel

Many people who enter the business of media streaming start their way with live streaming. They look for easy way to begin streaming and make something that will be the basis for their future streaming platform. This is where Wowza Media Server helps. It has rich feature set and detailed documentation for beginners.

WMSPanel has Wowza server management feature set which allows simplifying the set up of the application by using wizard-like interface and re-using global application templates.

Let's see how live streaming may be set up using these features.

1. Enable Server management for Wowza by going to Control / Server management menu. You'll need to load server configuration first, but that's a single time operation.

2. Click on Create an application and choose Live streamer template from templates list.

Choosing live streaming template.

3. After the application is created, click on its name to make user and password settings. Here's a brief screen shots instruction.

4. Go to server's management page and click on application name.
Applications list.
5. Click on Config application button to go to app configuration page.
New application details and a button to configure it.

6. Click on Set password button to see dialog for setting user and password.


7. Enter user and password with the format that appear in the dialog. Select servers and click on Apply to apply user/password settings to selected servers.

Setting password for Wowza application or instance.

8. Set up your encoder with rtmp://your_server_ip:1935/live or rtsp://your_server_ip:1935/live .

That's it


You can start publishing your live streaming. Beginner users may find a lot of features that might help them to start up faster.

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.

Feel free to contact us if you have any Wowza set up questions

Related documentation


September 25, 2013

Running Nimble Streamer on ports lower than 1024

Nimble Streamer is designed to handle HTTP streaming of any kind. To make it happen, it binds on non-privileged port 8081 by default and listens to it waiting for incoming requests.
You can change the port number to make it fit your network infrastructure. It can be done via configuration file.

Simply change the "port" parameter to required number (e.g. 80) and re-start Nimble Streamer.

September 19, 2013

WMSPanel users management

We get requests from media hosting companies which want their clients to have more control over the service functionality.

That's why we make some steps forward. First one is to enable account admins to allow end-users to have full control over the servers. This is reasonable because a client may rent server at hosting company's server farm. So he wants to have full control over it.

We got a section called Users management. It's located in Control top menu. This is a place where all account's users from all data slices are listed. For each user you can see it's name and email, user role (admin or user) default data slice name and number of assigned slice, and then links to actions - Edit, Delete and Abilities that allow enabling extra capabilities.

Account's users management page.
You can also add new user by selecting its default slice, email for login and a password. A new user will be created with non-admin permissions so please do not select Full data slice for this user.

You may change user details any time by clicking on Edit link. You will see a dialog like show below.



Read more about WMSPanel streaming reporting for end-users.

Creating slices by non-admin user


As you see from the screenshot above, an admin user may allow any specific non-admin user to create custom data slice. An admin just needs to edit user details and check the "Can create data slice" check box.
This option is good for the companies which prefer giving their clients more flexibility and control over Wowza and its reporting.

Server control


Another option for this kind of flexible companies is server control. A user may be allowed to see selected servers' internals and ability to control them.
A user will be able to perform control of both Nimble Streamer and Wowza media server available in WMSPanel. For designated user, click on Abilities link to see the dialog shown below.

Assigning servers for user control

Just choose which servers to allow your user to control and manage and then click Save.

After that the end-user may choose Servers menu, then click on server name to find control capabilities.

Slice relations


Each user has a name of the slice which he is assigned to and a number of data slices which he or she is assigned. Clicking on the data slice number link you will see the slices' list in a separate dialog. This dialog will allow following to each slice' details and un-assigning user from the slices.

Use data slices operations.

If you have any ideas for more end-user features, just let us know about it.

Read more about slice-related features in on the dedicated Slices & Branding page.



September 12, 2013

Lite slice cost reduction

In WMSPanel statistics are collected and accessed via so called data slices. They may be applications-based or streams-based. No wonder that our pricing is based on slices as well - just because we need to pay for data processing and storage.

While data slice provides full variety of reporting, many customers want to get just a very basic statistics. Like, they don't need streams real-time reports, they just need daily statistics with geo and duration details. So we came to the option that would allow to reduce the reporting functionality of data slices in exchange to reduction of the price.

We call this option a "lite slice". Let's see what is the difference.




Full
Lite
# of non-admin users per slice
Unlimited
1
Streams real-time chart
Yes
No
Deep statistics
Yes
No
Custom slice cost
$20
$10

Here are some details.

No streams' real-time and retrospective charts


If you go to "Streams report" for the full slice you can see the list of active streams which currently have connections. Each name is the link to the stream dashboard where you can see real-time chart with connections, bandwidth and top-20 countries of visitors, as well as retrospective charts for last 24 hours.

For lite slice, there will be no link to the page and no stream dashboard page itself. Just list of streams with number of current connections.

One non-admin user per slice


Lite slices are targeted for those small clients of our customers who check their simple stats on a periodical basis and don't need complicated workflow. That's why this kind of slices should be seen by just 1 user besides admin users.

In-depth statistics


Since lite slice has not streams data, the Deep stats are also not available for this slice type, sorry.

Usage and Pricing


The limitations mentioned above are the only ones applicable for lite slices. All other reports and capabilities, including white label, billing or streams control, are used the same way as for full slices.

Stream-based slice
 is the best case for using this limitation because there an admin may set the streams name and so real-time chart for a slice will be the same as real-time chart for the stream. Application-based slices are also fine being lite, of course.

Reduced functionality allows reducing the price. It's cut by half. and it starts from 10 USD per month and goes down as you create more slices.

You may combine full and lite slices. For example you may have 1 default slice (which is full and cannot be reduced) and 5 lite slices. This would cost 55 USD per month. If you'd like Wowza geo-location stats enabled this would mean additional 18 USD per month.

One more example. You have 1 full data slice by default and want to track 3 camera streams which are shown to your customers. You don't need geo-location statistics, just basic stats. You create 3 lite stream slices. According to prices table is would be 17 + 9*3 = 44 USD per month.

Another example: you have 3 full slices and 18 lite slices with geo-location stats. Looking at price list you see "20-29" column with the cost of full slice as 13 USD and lite slice as 7 USD. Geo stats option costs 2 USD per slice per month.

Create lite slices


Existing full slices may be converted to lite ones by following these steps:

  1. Click on Manage link in top menu for slices.
  2. For designated slice, click on Edit link
  3. In the new dialog box, un-check the "Show streams real-time and retrospective reports" check-box.
  4. Save changes

For new slice, this would be the same - just use the same check box.

If you want to switch back from lite slice to full slice then check the "Show streams real-time and retrospective reports" check-box and click the "Save" button.

Before your next billing period starts, our team representative will contact you regarding subscription price changes.

Read more about slice-related features in on the dedicated Slices & Branding page.

Read more about WMSPanel streaming reporting.

Related documentation


Nimble StreamerEnd user reporting for WowzaDaily statisticsGeo location reportingData slices for statisticsStreamed slices for WowzaUser permissions managementScreencast for data slices and white labelStatistics import API, WMSPanel examples and case studyPaywall for WowzaNimble StreamerWMSPanel Slideshare

September 4, 2013

Hotlinking and domain lock WMSAuth protection

Protection and restriction against the un-authorized access to the media is crucial for streaming business. WMSPanel team originally started its path by creating WMSAuth hotlink protection for Windows Media. Later on when we switched to Wowza Media Server, one of the first things we did there was WMSAuth hotlink protection. BTW, you can read a brief history of our solution in Dan Rayburn's blog post.

Now about 1/3 of our subscribed customers use WMSAuth hot-linking protection or connections limitation capabilities.

Hot-linking re-streaming protection has simple yet powerful architecture. A customer signs up links to available media with a hash and WMSPanel agent checks the signature when a viewer tries to connect.

WMSAuth mechanics in action. 

One interesting use case which obviously follows from described links protection is that the link may be presented via designated domains and websites only.

Here's how it works if a regular user tries to play media and if some grabber tries to do the same.

  1. Customer changes his media web pages which show video. Each video has a hash signature which is based on several parameters, including IP and secret password known to a customer only.
  2. If an authorized user opens a page, the link gets signed with signature where his IP is hashed among other parameters.
  3. When the viewer connects to media, the WMSPanel agent checks the hash considering user IP and allows connection.
  4. If the some grabber opens the page, the grabber's IP is used to access so the media is signed respectively.
  5. When the grabbed page is shown somewhere else, the unauthorized viewer tries to open it with his own IP - the new IP which is not hashed in the media signature. The agent checks new IP with IP from the signature and denies connection.
Here's the flow chart for this scenario.

Hotlinking protection with WMSPanel Wowza agent.
This functionality is more reliable than domain lock solutions which are based on Referrer header check. An abuser may easily fake any headers and get these streams while WMSAuth simply cannot be faked at all.

User IP might not be enough for this kind of media protection just because some users may watch the media from behind the proxy or firewall. In this case you can go beyond that and use pay-per-view framework for Wowza. It uses the same principle but it embeds user unique ID into the signature instead of an IP. It also brings wide variety of possibilities for building your own paywall.

To try these hotlink protection mechanics you can sign up for free trial and use it free of charge during first 2 weeks.

Notice that hotlinkng protection is available for Nimble Streamer. With Nimble, you can make unique signature for each individual streamNimble Streamer is the light-weight HTTP streaming server for HLS, Smooth and progressive download. WMSPanel is an official GUI for Nimble Streamer.

Related documentation


Paywall for WowzaGeo and IP range restriction for WowzaWowza hotlinking re-publishing and re-streaming protectionNimble Streamer HTTP hotlinking protectionHotlinking protection with stream-based signatureNimble Streamer geo-location restrictionIntegrating WMSAuth to your websitePay-per-view for Wowza Media ServerBandwidth limitation for Wowzagithub code samples