May 27, 2013

Streaming Media East conference notes

Hi!

Now when I'm finally got back home and have won the jet lag battle, it's time to make some summary of my experience from Streaming Media East 2013 conference.

First, I'd like to thank Dan Rayburn, the Conference Chairman and Executive Vice President for StreamingMedia.com, who made it possible for me to get an invitation to the event. WMSPanel team appreciates this very much!

Meeting people, listening to their stories and experience, learn industry's best practices - that's what the conference is all about. There were too many sessions, workshops and exhibits to visit for a single person, so I'll talk about events which I've been part of. I also took a few pictures while listening to the sessions.

I'll be referring to this conference program during my story.

Conference survival kit :)
One of conference halls.


May 13, 2013

Progressive download re-streaming

Recently we've introduced progressive download support for Nimble HTTP Streamer. It already allowed pseudo-streaming via HTTP partial content delivery. It works via Range header for HTML5 video and Flash player. You can see it in action at this demo.

So now we did the next step and added progressive re-streaming support just as we did for HLS and Smooth edge re-streaming. What you can do now is to set an origin server containing the content for the progressive download and then set up a number of edges to re-stream it. Needless to say that Nimble streamer can be used as progressive download origin.

Why would you need this whole thing of "origin-edge" for progressive download pseudo-streaming? As always, the primary use cases are load balancing and content delivery speed improvement.

Example of Nimble-based progressive download infrastructure.

How would it work for these cases and how would Nimble help with that?

May 3, 2013

Nimble pseudo-streaming available

WMSPanel team is excited to announce that Nimble Streamer now supports pseudo-streaming, or progressive download.

The VOD content may be viewed from Nimble Streamer by means of HTML5, by your end-users mobile players as well as by any Flash player at your users' PCs. Check our demo to see Nimble Streamer in action.

Nimble Streamer supports progressive download with "Range" HTTP header as well as with Flash time marks. This means that you can scroll to any fragment of the video and it will proceed with downloading from the selected place. The seeking parameter is called "start".

No third-party software is needed. You create a small and cheap Ubuntu virtual server using your favorite cloud hosting, or just use your Ubuntu desktop for trying. It doesn't matter what virtual or physical hardware you use, since the Streamer is very light-weight.

To start using Nimble Streamer, you need to follow simple installation instructions. Currently we distribute the Streamer via Debian packages available in our Ubuntu repository. They are easy to follow so once you bring up Ubuntu, just do a few steps and see a new server appear in Servers page list.

Now you may proceed to configuring server routes. Those are the rules that describe where the Streamer will take the files. It's done similar to HLS re-transmission setup, but it's even a bit more simple.

To start the progressive download setup go to "Nimble Streamer" / "Edit Nimble routes" menu item.

Nimble Streamer pseudo-streaming and HLS routes.

Here just click Add progressive download route to set up a new route.


Two sections are used here.

Where incoming requests are coming. Here you need to specify the domain and path where your incoming requests go to. Your server may handle any number of domains so the Domain field should have domain or IP with a port number. If you don't fill it in, Nimble will listen to its default port 8081 at all IP addresses available for current server. Path is the path which is requested during the connection. You can set up "/" and it will accept all incoming requests.

Where incoming requests must be redirected. There's a "file://" prefix in the only field so all you need is to add absolute path where your media is located.

Now if your Nimble Streamer server has its own name like "edge01.yourdomain.com", you may set up your favorite player with new connection string like "http://edge01.yourdomain.com:8081/vod/somefile.mp4" and start watching the video served by the Streamer. Port 8081 is the default one for Nimble but you can change it in the server config file. Check our demo web page source to see how we make the URL for our own installation of Nimble Streamer progressive download. We've also added "URL for player" column in the list of servers for convenience of player setup.

Nimble streamer works both as an origin and as an edge server for progressive download. You can re-stream the pseudo-streaming as an edge server. This will allow building a scalable and flexible load-balancing schemes. This feature is soon to arrive, stay tuned for our updates.

Q: How can I download video in the browser instead of watching it?

In case you stream locally stored content, you can fetch files with ?attachment=true URL parameter. It adds "Content-Disposition: attachment" header so the browser initiates the download instead of playback.


Now try installing the Nimble Streamer to start.

Related documentation


Nimble Streamer, VOD feature setLive Streaming feature setBuild streaming infrastructure

April 19, 2013

Speaking your language

Recently WMSPanel team introduced some new interface languages.
Our service now provides these localizations:

We plan introducing Turkish, Arab, German, Dutch and other languages on demand.

Why are we doing this?


First, let's see who uses our solution. It is used by various types of businesses. Many of them are streaming hosters which provide infrastructure which is used by other companies to transfer their content. So these hosters provide Wowza reporting and streaming control to their customers via data slices and white label panel.

Those end-users are located all over the world and they speak a large variety of languages. So if the reporting is provided in plain English, that is fine for someone but most people like very much to browse the web with their native language which is always most favorable.

So what we do is we help our customers improve their services' user experience. Hence, increase the added value of their services.

That's also why we ask our customers to help us translate the interface. They know their clients! And they know their language better than any non-native interpreter we hire.

Now if you don't see your language in the list of supported languages, no problem, just let us know about it. We are either already working on it, or ready to collaborate on the translation with you.

Read more about WMSPanel streaming reporting.

Related documentation


End user reporting for WowzaWhite label branded panelUser permissions managementData slices for statisticsStreamed slices for WowzaScreencast for data slices and white labelSSL white label panel

April 18, 2013

Spanish translation in online now

We are excited to announce that WMSPanel now speaks Español!

So all of our existing and future customers from all over Latin America and of course Spain will now enjoy this beautiful language in our panel de administracion Wowza.

We'd like to thank all of our supporters who translated the prompts and the texts. Here they are, listed in the alphabetical order of company names:
So you can just go to Settings menu and choose Español among others.

Enjoy and let us know if you'd like to see any other languages at WMSPanel.

April 17, 2013

HLS, MPEG-DASH, HDS and Smooth re-streaming setup and usage

Nimble Streamer works highly efficient with re-streaming HTTP-based protocols. like HLS, MPEG-DASH, Smooth and HDS re-streaming.

Let's see how this can be set up and used.

Installing and operating


All installation steps are described at Nimble Streamer installation page. Basically an admin must do those simple steps:
  1. Install the server software from Debian package.
  2. Register the new installed server in WMSPanel by just 1 command.
  3. Restart the server.
Follow them as described in installation procedure before continuing.

Setting up routes mapping


Once you've installed the server, it will appear in servers list within several seconds:


Now go to server details and click on Edit routes. You can also use Nimble Streamer / Edit Nimble Routes menu.


Here you can see two sets of fields - Request comes to, and is redirected to and Assigned servers which we'll explain below. Clicking question mark icon will show sample URL dialog for easier usage of a created rule. The "x" icon will remove the rule.



To change route settings, click on wrench icon. To create new route, click on Add re-streaming route.


Route editing for has 2 field sets.

Where incoming requests are coming.
Here you need to specify the domain and path where your incoming requests go to. Your server may handle a big number of domains or IPs so the Domain field should have domain or IP with a port number. This field is optional and if you don't fill it in, Nimble will listen to its default port 8081 at all IP addresses available for current server. Path is the path which is requested during the connection. You can set up "/" and it will accept all incoming requests.

Where incoming requests must be redirected.
Domain is the host where the request from user connection is forwarded to. It's also domain or IP and its port. This is a mandatory field. You must enter some existing host, like "localhost:1935" etc. Notice the dropdown list in front of the field, it allows defining whether the source is accessed via HTTP or HTTPS protocols. Path is the path which will be requested at the host which is used for forwarding. All path requests are mapped as /path_from* -> /path_to* so whatever is entered in "path from", it will be used as is for "path to".

Playlist caching interval. By default, Nimble Streamer doesn't cache the playlist and it's obtained from the origin each time a user connects to the edge. However if you have thousands of users, this would not be optimal. With that option enabled, playlists will be cached for specified amount of time and served to simultaneous viewers from cache.

Force caching content as VOD. In case Nimble Streamer is re-streaming from DVR, chunks will not be disposed like it's done in live mode, but will be handles as if it's VOD re-streaming. With that option enabled, all chunks are cached for longer period of time according to server config settings for VOD.

Each route may be applied to several servers at the same time. Just use check boxes to select them. You need to select at least one to make it applied. The selected and applied servers name make "Assigned servers" column in servers list.

Applying route to multiple servers.
Adding these simple routes, you will configure the logic you need for you case.

Now when mapping is set up, you can start using the server. For example your Nimble streamer runs on liveshow.nimblestreamer.com and you want it to handle requests for edge.mynetwork.com at port 1935 where you have /live application. So you set the rule as follows.
Domain from: just empty, since Nimble listens to all IPs of your server on port 8081.
Path from: /
Domain to: edge.mynetwork.com:1935
Path to: /live
That's it. Click on Add and several seconds after these rules will be sent to Nimble and processed properly. Now you can point your players to new URL: http://liveshow.nimblestreamer.com:8081/. Nimble will do everything else.

If you'd like to protect your content on edges from hot-linking you may use hotlinking protection.

Contact us if you have any questions regarding this settings procedure or the Nimble Streamer in general.

Related documentation


Nimble StreamerMP4 transmuxing to HLS VOD streamingHLS caching for effective re-streaming,

Introducing Nimble Streamer

Today our team is excited to announce a new product. It's called Nimble Streamer and it's a light-weight HTTP edge server.

HTTP adaptive streaming becomes the mainstream these days. Latest pike of interest was made thanks to Apple's HLS which is currently supported by iOS and Android devices. Also, growing support at PCs has been recently extended with latest JWPlayer 6 which brings HLS capabilities via Flash application.

Wowza does a great job for serving all HTTP protocols and it's a perfect choice for a wide variety of customers. However some customers face the need for installing Wowza on edge servers for load balancing purposes and the cost of ownership becomes a dilemma because of server hardware requirements. That is why people are looking for light-weight solutions based on popular HTTP servers like Apache and nginx. These web servers work great for serving traditional content like text or images, while media content (primarily video) needs special treatment as video/audio transmission has different nature in compare with other static binaries. Thus web servers are not properly handling some of corner cases such as pre-loading of content chunks, sessions priority settings for premium vs. free content, bit-rate smooth switching, protecting against DDoS, rippers protection etc. All these things along with protocol-specific optimizations and tuning are nearly to impossible to implement based on traditional HTTP servers.

So knowing of this kind of problem WMSPanel team implemented a light-weight HTTP edge server which would work in a tandem with Wowza for live streams to perform HTTP adaptive streaming efficiently.

Take a look at this SlideShare to get a general overview.




How does it work?


You set up a number of Nimble edge servers and set up your load balancer to send HLS HTTP requests to them. Those requests will be processed by respective Nimble edge to decide whether to give cached chunks or forward request to Wowza.

Nimble streamer can work easily on a small virtual server being installed via a Debian package. You'll pay a small server monthly fee and a traffic expenses. So the cost of ownership will be relatively less than in case of using other solutions.

HLS streaming features


Right now it does the following:
  • HLS re-transmission. Simply set up mapping rules and start transmission via new edge server.
  • HLS chunks caching. HLS chunks can be cached on out side  off-load origin server and increase transmission speed.
  • High performance and low resources usage because it's a native Linux application.
Later on more actions will be allowed on each edge. It's going to be pre-roll advertising, QoS control, DDoS attacks prevention, geo- and IP-based restriction etc.


What about control and reporting?


Nimble Streamer is brought to you by WMSPanel team. So as you might expect, WMSPanel completely supports this server.
  • Full control via WMSPanel to set up server settings for re-transmission mapping.
  • WMSPanel reporting which includes real-time and retrospective charts, daily reporting for connections, traffic, bandwidth, duration and geo-location. Check this post and screen cast for details: http://blog.wmspanel.com/2013/02/wowza-daily-statistics-review.html
  • Shared data slices and white label for reporting to your customers. Check this screencast to see it in action.
  • Hot-linking protection and domain lock.
  • Geo-location restrictions.
So regardless of server type you use - Wowza or its Nimble edges, you will get the same great reports.

Progressive download / pseudo-streaming


Progressive download is a very popular and simple way of data transmission. Now Nimble Streamer will be able to process progressive download (AKA pseudo streaming) without any extra software required. This is a streaming, not the re-transmission. Of course, the same control and reporting capabilities are available out of the box so Nimble is a complete progressive download solution. It works both as an origin and as an edge server making it possible to make complete progressive download infrastructure.

Why not just use nginx or Apache modules?


nginx is a great product as well as Apache, no doubts. They've made revolution in web industry. But even though they are handling most of aspects of HTTP standard, there are still cases which do not allow making them as complete solutions for media delivery. Just because media streaming is more than simply handling HTTP requests. Of course, there's a number of modules out there. But they are missing the following points:

  • weak configurability - e.g. for nginx you need to re-build the server in order to install any module and to go through configs to set it up properly;
  • weak reporting - yes, you can parse logs, but it still needs some processing and it misses points like bandwdth or duration;
  • no features that are out of scope of handling HTTP requests, like pre-roll ads insertion or pay-per-view, or streams hot-linking protection etc. It's just an "alien" functionality for traditional HTTP server.

So basically is you just need to stream a bunch of files, then nginx with mp4 module could do the right thing for pseudo-streaming or even HLS re-transmission. But looking for some advanced things would lead to a complete media-specific solution like WMSPanel Nimble Streamer.


Now, sign up and follow installation instructions from Download page. Contact us if you have questions or comments regarding this new product of ours.

Related documentation


Nimble HTTP StreamerNimble configs explained, Transmuxing RTMP to ABR HLSHLS re-streaming set upSmooth Streaming supportGeo load balancing with Nimble StreamerRAM caching for effective re-streamingNimble disk cache usageNimble Streamer HTTP hotlinking protectionNimble Streamer geo-location restriction,

April 16, 2013

WMSPanel nominated for Streaming Media European Readers Choice Awards

Greetings!

We're glad to announce that WMSPanel is now the nominee of 2013 Streaming Media European Readers' Choice Awards.

Take a minute to sign up and vote for WMSPanel here:


You can vote for one nominee in each category, but you're not required to vote in all categories.

Voting will remain open until May 24th, and then the finalists - the top three vote-getters in each category - will be announced on June, 18th. After the voting closes on May 24th, you will receive an email asking you to confirm your vote. Please note that duplicate votes and fake email addresses will be discarded. Only confirmed votes will be counted.  Winners will be revealed at this year's Streaming Forum Event in London on 18 June.

So now have a minute to cast your vote for WMSPanel.

April 11, 2013

Italian translation is available

Hi!

We're glad to announce that WMSPanel administration and reporting panel is now available in Italiano! Now all of our customers from Italy can view our friendly UI with their native language.

So you can just go to Settings menu and choose Italiano among others.

This translation is available thanks to a great contribution of Andrea Brulicchio from Bitstaff LLC, New York. Thanks, Andrea!

Enjoy!