Leveraging Windows Azure to provide highly-scalable streaming video content–Windows Media Services-Building your own Netflix streaming server or TV web channel

  Building your own Netflix streaming solution
  I have been going over Dmitri Martynov blog project on CodePlex. I am so inspired by this technology that I want to start presenting it to the world.
In 2 sentences this is why this post is important.        

Most individuals and businesses dream about the idea of being able to provide low-cost, yet scalable video services on demand. This talk is about leveraging Windows Azure as a highly-scalable media delivery vehicle.


  Some background – The big picture
  Conceptually, you can think of it this way. There are two web roles. The first web role provides an endpoint that I can send to be re-broadcasted to the world. That is the Video Injesting Web Role. The second web role is the Video Streaming Web Role. This role has an endpoint that clients will connect to retrieve a video stream and play it on their device.

  Streaming provided by Windows Media Services
Windows Media Services (WMS) allows you generate streaming media (audio/video), supporting WMV, JPEG, and MP3 formats.
Additional features include: (1) caching and recording streams (2) enforcing authentication, connection limits (3) supporting a high number of concurrent connections (4) providing unicast or multicast streams
The most 64-bit version offers almost double the scale by including a built-in WMS Cache/Proxy plug-in which can behave as a cache/proxy server or as a reverse proxy server.

Here are some installation commands      

Step High Level Detail
1. Start Server Manager Add Roles, Streaming Media Services
2. If Media Services Already running net stop wmserver, do your copy then, net start wmserver
3. Command Oriented Install How to install the Streaming Media Services role on a Server Core installation of Windows Server 2008 R2         

Download the Windows6.1-KB963697-x64.msu file.
Run the MSU file for the Streaming Media Services role. To do this, type the following command at a command prompt:

start /w wusa /quiet Windows6.1-KB963697-x64.msu

To install the Streaming Media Services role, type the following string at a command prompt:

start /w ocsetup MediaServer

To start the Windows Media Services service, type the following string at a command prompt:

net start wmserver



    Some installation Links
Description Link
Installed IIS Media Services 3.0 64-bit http://www.microsoft.com/downloads/details.aspx?familyid=21C12A04-7E36-4B63-B4EF-EEDB6273CF54&displaylang=en#
Install IIS Media Services for 32-bit also http://www.microsoft.com/downloads/details.aspx?familyid=DC4E95B0-E4DE-456E-8254-A5047EABCD01&displaylang=en#
Install it from the Web Platform Installer directly http://go.microsoft.com/?linkid=9689670#

  Smooth Streaming Capabilities
Smooth Streaming is not proprietary The Smooth Streaming File Format is based on the ISO-standardized Base Media File Format, better known as the MP4 file format.

It is client-agnostic and can be implemented on any client platform that supports VC-1/WMA/H.264/AAC decoding and HTTP transport.

Smooth Streaming needs decent bandwidth If you want to deliver 720p/24 video you neeed more than a 2 Mbps encoded bitrate
Sample of Smooth Streaming in action Visit SmoothHD.com

  Using Silverlight for Smooth Streaming
Description Link
Silverlight Media Framework http://smf.codeplex.com/#
Silverlight Media Framework Downloads http://smf.codeplex.com/releases/view/51263#
Silverlight Media Framework Documentation http://smf.codeplex.com/documentation#
Support for mobile
Windows Phone Developer portal

  Smooth streaming players
  You essentially have two choices:

Adobe Flash Adobe’s Flash Player is a browser plug-in that can act as a standalone or with your default browser in order to play the flash multimedia files. All the playable flash files have an SWF extension. SWF file contains the ActionScripting, audio, image and video data, which are required to play the file and displays any interactive controls.
Microsoft Silverlight
Core Silverlight The Smooth Streaming Client is a core component of the broader open source Silverlight Media Framework.
Designed for smooth streaming For most scenarios, the Silverlight Media Framework is the simplest, most robust way to build a new Silverlight player that supports the full set of Smooth Streaming functionality.
To get started quickly... A sample Smooth Streaming Player is provided on the Silverlight Media Framework Downloads page.

  Things that HTML5 Video can't do, but Silverlight or Flash can
  Important list to note about HTML5.

1. Digital Rights Management (DRM) - Cannot protect video content over HTML5
2. No Smooth Streaming or Adaptive Streaming
3. No Standard Video Codecs for HTML5
4. No Full Screen Support
5. No Standard Conventions/Look and Feel

Description Link
Great blog on HTML5 limitations http://www.silverlighthack.com/post/2011/04/16/Five-Things-that-HTML5-Video-Currently-will-not-do-but-Silverlight-and-Flash-will.aspx

  More Smooth Streaming information
Description Link
Experience Smooth Streaming page http://www.iis.net/media/experiencesmoothstreaming#
Smooth Streaming Technical Overview http://learn.iis.net/page.aspx/626/smooth-streaming-technical-overview/#
Smooth Streaming Deployment Guide. http://learn.iis.net/page.aspx/689/smooth-streaming-deployment-guide/#

Much more coming

  Work in progress

Comments (2)

  1. Mark Oudsen says:

    So, when are you going to finish this work in progress?

  2. BrunoTerkaly says:

    Thanks for the heads up Mark. I wrote an article that addresses where I think this is going.


    At one point I was going to build my own. But this technology (Azure Media Services) is destined to fill this void that you address.


Skip to main content