IIS Smooth Streaming


Published on

This presentation was held at MIND event in Microsoft Auditorium Malaysia, October 8, 2011.
It covers the mechanism of video streaming and its high-view architecture

IIS Smooth Streaming

  1. 1. IIS Smooth Streaming<br />By: Hossein SARSHAR<br />MCP Since 2004<br />
  2. 2. Basic Description<br />IIS Smooth Streaming is an extension of Microsoft IIS web server 7.0 or 7.5 (or later) to deliver live or recorded (on-demand) media contents over the internet at HD quality.<br />Streams based on the following conditions of viewers:<br />CPU condition<br />Bandwidth<br />Capability of their display device<br />
  3. 3.
  4. 4. How it works<br />?<br />
  5. 5. Overview of basic networking terms<br />Application<br />Transport<br />Network<br />Data-link<br />Physical<br />
  6. 6. <ul><li>A connection-oriented protocol
  7. 7. Uses port number to communicate with its corresponding application layerprogram
  8. 8. Full duplex
  9. 9. Reliable</li></li></ul><li><ul><li>A connection-less protocol
  10. 10. Uses port number to communicate with its corresponding application layerprogram
  11. 11. Best effort
  12. 12. Small packet size
  13. 13. not reliable</li></li></ul><li>History of media streaming<br />The first Internet video streaming:<br />Victoria’s Secret annual fashion show at NCY 1999.<br />
  14. 14. RTP and RTSP<br />These are the first protocols in media streaming.<br />RTP: <br />Based on UDP<br />Starts its communication without any connection establishment.<br />Unreliable<br />Fast<br />RTSP:<br />Based on TCP.<br />Has communication with server.<br />State-full.<br />Communicating with sender.<br />walking carefully is better that running with closed eyes<br />
  15. 15. HTTP Based protocols<br />HTTP:<br />TCP based protocol.<br />Is easily passed through routers and firewalls (TCP:80).<br />But stateless ….<br />
  16. 16. Progressive Download<br />A simple file download from an HTTP Web server.<br />Progressive download is supported by most media players and platforms, including Adobe Flash, Silverlight, and Windows Media Player<br />Can also seek to positions in the media file that haven't been downloaded yet<br />YouTube, Vimeo, MySpace, and MSN Soapbox, almost use progressive download.<br />Downloads all of the media even if player is paused.<br />
  17. 17.
  18. 18. Adaptive Streaming<br />HTTP based file download.<br />Performs media download as a long series of very small progressive downloads (Chunks).<br />Chunks are typically 2-to-4-seconds long as GOP (Group of Pictures).<br />Server adapts the quality of its chunks according to the receiver’s capability in receiving data. (No need to change the bit-rate)<br />IIS Smooth is and example of adaptive streaming.<br />If you pause, only some seconds are buffered.<br />
  19. 19. Request<br />Chunck of data<br />Progressive download of small chunks<br />
  20. 20. Adaptive part of the story<br />Request 720p<br />Request 420p<br />Request 1080p<br />Chunck of data<br />
  21. 21.
  22. 22. IIS Smooth Streaming<br />Microsoft Expression Encoder<br />
  23. 23. Features<br />Streams MPEG-4 chunks (H.264 video codec).<br />They are created virtually upon each request.<br />No buffer.<br />It is possible to have other encoders.<br />You can view videos in different platforms instead of Silverlight.<br />Simultaneous streaming with different video angles.<br />Translation scripts and different languages.<br />Media advertisement.<br />Multi channeling.<br />….<br />
  24. 24. Use Cases<br /> 2008 Summer Olympics in Beijing and NBC Sunday Night Football<br />
  25. 25. Use Cases<br />2010 FIFA World Cup Silverlight Smooth Streaming Player with Live Messenger<br />Read more on <br />http://www.iis.net/media/showcase<br />
  26. 26. Deployment<br />Two methods for deployment:<br />On-demand<br />Live<br />On-demand:<br />It is possible on Windows Vista sp1, Windows 7, and Windows Server 2008<br />Install IIS server 7 or 7.5<br />Installing IIS Media Services 4.0 on IIS.<br />
  27. 27.
  28. 28. Encode Video<br />Resulting files after encoding with Expression blend:<br />*.ismv (Audio + Video)<br />*.isma (Audio)<br />There will be an encoded file for each bit-rate.<br />*.ism “XML based file that describes the relationships between the media tracks, bit rates and files on disk”IIS uses this file<br />*.ismc “XML based file that describes the available streams to the client”Clients use this file<br />
  29. 29. Player<br />Silverlight player:<br />There is an open source project called SMF (Silverlight Media Framework) in order to start and test streaming.<br />Or anything that supports: VC-1/WMA/H.264/AAC decoding and HTTP transport<br />
  30. 30. Demo<br />In the next article :D<br />
  31. 31. Player Arguments<br />MediaUrl: Location of media XML file<br />DeliveryMethod: “Adaptive”or“Progressive Download”<br />AutoPlay: it is true by default <br />ThumbnailUrl: Thumbnail picture before being played.<br />
  32. 32. JavaScript Methods<br />var Player = null;<br />function onPlayerReady(playerArg) {<br /> Player = playerArg;<br /> }<br />//The event handler of Player Loadthat is useful to access the player’s object.<br />function Play() {<br />Player.Play();<br />}<br />//Simple way to call player’s Play method.<br /><input type="button" value="Play" onclick="Play()" /><br />
  33. 33. Other JavaScript Methods<br />Player.Pause();<br />Player.Stop();<br />Player.Replay();<br />….<br />
  34. 34. Q & A<br />