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.
image

  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. h2ueovbu

  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 https://www.microsoft.com/downloads/details.aspx?familyid=21C12A04-7E36-4B63-B4EF-EEDB6273CF54&displaylang=en#
Install IIS Media Services for 32-bit also https://www.microsoft.com/downloads/details.aspx?familyid=DC4E95B0-E4DE-456E-8254-A5047EABCD01&displaylang=en#
Install it from the Web Platform Installer directly https://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 https://smf.codeplex.com/#
Silverlight Media Framework Downloads https://smf.codeplex.com/releases/view/51263#
Silverlight Media Framework Documentation https://smf.codeplex.com/documentation#
Support for mobile Windows Phone Developer portal https://developer.windowsphone.com/#
   

  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 https://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 https://www.iis.net/media/experiencesmoothstreaming#
Smooth Streaming Technical Overview https://learn.iis.net/page.aspx/626/smooth-streaming-technical-overview/#
Smooth Streaming Deployment Guide. https://learn.iis.net/page.aspx/689/smooth-streaming-deployment-guide/#
   

 
Much more coming
  Work in progress