Media Streaming


Published on

1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Media Streaming

  1. 1. Media Streaming 12
  2. 2. What is Streaming Media? <ul><li>The delivery of audio/video/data between a server and a client (user), as a continuous digital stream </li></ul><ul><li>Eliminates waiting for an entire file to download </li></ul><ul><li>Content is converted to digital files sent over the internet as data packets. </li></ul><ul><li>Playback begins as soon as first packets arrive or as requested by the end user </li></ul><ul><li>No impact on end-user’s computer </li></ul><ul><li>Leading architectures: RealMedia, Windows Media, QuickTime </li></ul>
  3. 3. It’s a Challenge <ul><li>Uncompressed digital video produces data at the rate of 27 MB/sec (1.6 GB/min) </li></ul><ul><li>A challenge to store </li></ul><ul><li>A challenge to transport </li></ul>
  4. 4. Factors in Architecture Selection
  5. 5. Streaming Media Formats <ul><li>Major player formats </li></ul><ul><ul><li>Real Networks </li></ul></ul><ul><ul><ul><li>Real Media Player – RM </li></ul></ul></ul><ul><ul><li>Microsoft </li></ul></ul><ul><ul><ul><li>Windows Media Player – WMV </li></ul></ul></ul><ul><ul><li>Apple </li></ul></ul><ul><ul><ul><li>Quicktime Player – MOV </li></ul></ul></ul><ul><li>Other formats </li></ul><ul><ul><ul><li>Audio downloads – MP3 </li></ul></ul></ul><ul><ul><ul><li>Capture and editing - AVI </li></ul></ul></ul><ul><ul><ul><li>Flash and animation - SWF </li></ul></ul></ul><ul><ul><ul><li>CD audio playback – CDA, WAV </li></ul></ul></ul>
  6. 6. Things to Consider <ul><li>Identify your user audience </li></ul><ul><ul><li>Player compatibility </li></ul></ul><ul><ul><ul><li>Are they using PC or Mac </li></ul></ul></ul><ul><ul><ul><li>Offices, Dorms, Computer Labs, Homes </li></ul></ul></ul><ul><ul><ul><li>Wireless and other mobile devices </li></ul></ul></ul><ul><ul><li>Internet Connection </li></ul></ul><ul><ul><ul><li>Low speed – 28kbps to 80kbps </li></ul></ul></ul><ul><ul><ul><li>High speed – 80kbps to 300kbps </li></ul></ul></ul><ul><ul><ul><li>Broadband – 300kbps to 1.0mbps </li></ul></ul></ul><ul><ul><li>Audience members </li></ul></ul><ul><ul><ul><li>Staff, Dept. Admins, Managers, Directors </li></ul></ul></ul><ul><ul><ul><li>Anonymous users on WWW </li></ul></ul></ul>
  7. 7. Things to Consider <ul><ul><li>Media delivery </li></ul></ul><ul><ul><ul><li>On-Demand </li></ul></ul></ul><ul><ul><ul><li>Live Webcasting </li></ul></ul></ul><ul><ul><ul><li>CD-ROM, DVD </li></ul></ul></ul><ul><ul><li>Network </li></ul></ul><ul><ul><ul><li>User connectivity </li></ul></ul></ul><ul><ul><ul><li>Firewalls, multicast enabled routers </li></ul></ul></ul><ul><ul><li>Other </li></ul></ul><ul><ul><ul><li>Password restrictions </li></ul></ul></ul><ul><ul><ul><li>E-Commerce </li></ul></ul></ul><ul><ul><ul><li>Media reports on viewer usage </li></ul></ul></ul>
  8. 8. On-Demand content and live broadcasts <ul><li>Streams on demand </li></ul><ul><ul><li>File-based Streaming </li></ul></ul><ul><ul><li>Available to users at any time, and are sent on demand. </li></ul></ul><ul><li>Live Streaming </li></ul><ul><ul><li>Live broadcast event </li></ul></ul><ul><ul><li>Encoder… </li></ul></ul>
  9. 9. Streaming Media Options <ul><li>Encoding </li></ul><ul><ul><li>Choosing a format </li></ul></ul><ul><ul><ul><li>Real Media </li></ul></ul></ul><ul><ul><ul><li>Windows Media </li></ul></ul></ul><ul><ul><ul><li>Quicktime </li></ul></ul></ul><ul><ul><li>Determine a window size </li></ul></ul><ul><ul><li> (Width x Height in pixels) </li></ul></ul><ul><ul><ul><li>160x120 </li></ul></ul></ul><ul><ul><ul><li>240x180 </li></ul></ul></ul><ul><ul><ul><li>320x240 </li></ul></ul></ul><ul><ul><ul><li>Even larger </li></ul></ul></ul>
  10. 10. Streaming Media Options <ul><li>Encoding </li></ul><ul><ul><li>Bitrate selection </li></ul></ul><ul><ul><ul><li>Single rate - 28k, 56k, 120k, 200k, 400k </li></ul></ul></ul><ul><ul><ul><ul><li>One stream per bitrate </li></ul></ul></ul></ul><ul><ul><ul><ul><li>One encoded file for each user’s connect speed </li></ul></ul></ul></ul><ul><ul><ul><ul><li>One URL for each connect speed </li></ul></ul></ul></ul><ul><ul><ul><li>Multirate – (28k-56k-200k) </li></ul></ul></ul><ul><ul><ul><ul><li>Real - SureStream </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Windows - Intelligent Stream </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Quicktime - Alternate Movies </li></ul></ul></ul></ul><ul><ul><ul><ul><li>One encoded file can reach multiple connect speeds </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Server finds optimum connect speed and adjusts as network bandwidth usage changes </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Only one url needed for all connect speeds </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Larger file size for archive media </li></ul></ul></ul></ul>
  11. 11. Streaming Media Options <ul><li>Authoring </li></ul><ul><ul><li>Include powerpoint slides sync’d to video </li></ul></ul><ul><ul><li>Insert graphics, images, logos </li></ul></ul><ul><ul><li>Add URL links to other sites or content </li></ul></ul><ul><ul><li>Create a URL to play only parts of the media </li></ul></ul><ul><ul><li>Create a playlist within one URL to stream multiple clips or media files </li></ul></ul><ul><ul><li>Set player commands, end-user controls </li></ul></ul><ul><ul><li>Pop-up or embedded player </li></ul></ul>
  12. 12. Streaming Media Options <ul><li>Indexing </li></ul><ul><ul><li>Assign keyframes to your content media </li></ul></ul><ul><ul><li>Allows you to create smaller segments of your media and store them as clips </li></ul></ul><ul><ul><li>Add keywords to clips for users to search your media from a website </li></ul></ul><ul><ul><li>Convert speech, closed captioning and ppt slides to text for searching </li></ul></ul><ul><ul><li>Save clips in a playlist and share them with other users </li></ul></ul>
  13. 13. Streaming Media Options <ul><li>Webcasting </li></ul><ul><ul><li>Live presentations over the internet </li></ul></ul><ul><ul><li>One multicast stream to many users </li></ul></ul><ul><ul><li>Include powerpoint or other rich media </li></ul></ul><ul><li>Hosting </li></ul><ul><ul><li>On demand playback of archived media </li></ul></ul><ul><ul><li>Multiple streaming server platforms </li></ul></ul><ul><ul><li>Unlimited streams </li></ul></ul><ul><ul><li>Low storage costs </li></ul></ul><ul><ul><li>No impact on your own network </li></ul></ul><ul><ul><li>No hardware resources to maintain </li></ul></ul>
  14. 14. Combining Media Limitations <ul><li>Web browsers are not designed to fully support multimedia features </li></ul><ul><li>Limited coordination of media elements </li></ul>
  15. 15. The Problem <ul><li>Lots of Bits </li></ul><ul><ul><li>Images, audio and video are beyond Internet design specs </li></ul></ul><ul><ul><li>Results in space/ time constraints at: </li></ul></ul><ul><ul><ul><li>the server </li></ul></ul></ul><ul><ul><ul><li>the network( s) </li></ul></ul></ul><ul><ul><ul><li>the client </li></ul></ul></ul><ul><li>Not All Bits are Equally Important </li></ul><ul><ul><li>Time between samples often more important than bits in sample, </li></ul></ul><ul><ul><li>for example lip synchronization (but not always...) </li></ul></ul><ul><li>Content may be Distributed Across Network </li></ul><ul><ul><li>Need to synchronize presentation </li></ul></ul><ul><li>Objectives </li></ul><ul><ul><li>Add synchronization to the Web </li></ul></ul><ul><ul><li>Allow interoperability </li></ul></ul><ul><ul><li>Use declarative format, preferably text — thus XML </li></ul></ul>
  16. 16. Solution <ul><li>Use of a single timeline for all media </li></ul><ul><li>Creation of time-based multimedia delivery over the web </li></ul><ul><li>Synchronization </li></ul><ul><li>Coordination </li></ul>
  17. 17. What Is SMIL? <ul><li>SMIL stands for Synchronized Multimedia Integration Language </li></ul><ul><li>SMIL is pronounced &quot;smile&quot; </li></ul><ul><li>SMIL is a language for describing audiovisual presentations </li></ul><ul><li>SMIL is easy to learn and understand </li></ul><ul><li>SMIL is an HTML-like language </li></ul><ul><li>SMIL is written in XML </li></ul><ul><li>SMIL presentations can be written using a text-editor </li></ul><ul><li>SMIL is a W3C standard </li></ul><ul><ul><li>SMIL 2.0 August 2001 </li></ul></ul><ul><ul><li> </li></ul></ul>
  18. 18. What Is SMIL?
  19. 19. A Simplified SMIL Example <ul><li><smil> </li></ul><ul><li><body> </li></ul><ul><li><seq repeatCount=&quot;indefinite&quot;> </li></ul><ul><li><img src=&quot;image1.jpg&quot; dur=&quot;3s&quot; /> </li></ul><ul><li><img src=&quot;image2.jpg&quot; dur=&quot;3s&quot; /> </li></ul><ul><li></seq> </li></ul><ul><li></body> </li></ul><ul><li></smil> </li></ul>
  20. 20. What Can SMIL Do? <ul><li>SMIL can be used to create Internet or Intranet presentations </li></ul><ul><li>SMIL can be used to create slide show presentations </li></ul><ul><li>SMIL has been described as the Internet answer to PowerPoint </li></ul><ul><li>SMIL presentations can display multiple file types (text, video, audio...) </li></ul><ul><li>SMIL presentations can display multiple files at the same time </li></ul><ul><li>SMIL presentations can display files from multiple web servers </li></ul><ul><li>SMIL presentations can contain links to other SMIL presentations </li></ul><ul><li>SMIL presentations can contain control buttons (stop, start, next, ...) </li></ul><ul><li>SMIL has functions for defining sequences and duration of elements </li></ul><ul><li>SMIL has functions for defining position and visibility of elements </li></ul>
  21. 21. SMIL Files <ul><li>A SMIL file contains all the information necessary to describe a multimedia presentation </li></ul><ul><li>SMIL files are stored with the extension *.smil </li></ul><ul><li>A SMIL file contains the following: </li></ul><ul><ul><li>The layout of the presentation </li></ul></ul><ul><ul><li>The timeline of the presentation </li></ul></ul><ul><ul><li>The source of all multimedia elements </li></ul></ul>
  22. 22. How to Play a SMIL File? <ul><li>You will need a SMIL player. Different SMIL players can be found </li></ul><ul><ul><li>RealOne Platform by RealNetworks has full support for SMIL 2.0 </li></ul></ul><ul><ul><li>SMIL Player by InterObject supports the SMIL 2.0 Basic Profile </li></ul></ul><ul><li>With Internet Explorer 5.5 or later, SMIL elements can be inserted into HTML files </li></ul><ul><li>This way any SMIL presentation can run over the Internet as standard HTML files </li></ul>
  23. 23. SMIL in HTML <ul><li>Adding References </li></ul><ul><ul><li>Adding a &quot;time&quot; namespace definition to the <html> tag </li></ul></ul><ul><ul><li>Adding an <?import> element to import the &quot;time&quot; namespace </li></ul></ul><ul><ul><li>Adding a <style> element to define the class &quot;time&quot; </li></ul></ul><html xmlns:time=&quot;urn:schemas-microsoft-com:time&quot;> <head> <?import namespace=&quot;time&quot; implementation=&quot;#default#time2&quot;> <style>.time {behavior: url(#default#time2)}</style> </head> <body> <time:seq repeatCount=&quot;indefinite&quot;> <img class=&quot;time&quot; src=&quot;image1.jpg&quot; dur=&quot;3s&quot; /> <img class=&quot;time&quot; src=&quot;image2.jpg&quot; dur=&quot;3s&quot; /> </time:seq> </body> </html>
  24. 24. SMIL Timing <ul><li>time formats: </li></ul><ul><ul><li>hh:mm:ss.f </li></ul></ul><ul><ul><li>number [h|min|s|ms] </li></ul></ul><ul><ul><li>wallclock (YYY-MM-DDThh:mm:ss+zone) </li></ul></ul><ul><li>Duration </li></ul><ul><ul><li>The duration ( dur =&quot;5s&quot;) attribute </li></ul></ul><ul><li>When To Start? </li></ul><ul><ul><li>The begin ( begin =&quot;2s&quot;) attribute </li></ul></ul>
  25. 25. SMIL Sequence <ul><li><seq> - the most common SMIL element - defines a sequence </li></ul><ul><li>The <seq> element can have a number of attributes: </li></ul><ul><ul><li>begin, dur, repeatCount </li></ul></ul><html xmlns:t=&quot;urn:schemas-microsoft-com:time&quot;> <head> <?import namespace=&quot;t&quot; implementation=&quot;#default#time2&quot;> <style>.t {behavior: url(#default#time2)}</style> </head> <body> <t:seq repeatCount=&quot;indefinite&quot;> <h2 class=&quot;t&quot; dur=&quot;1s&quot;> I will display for one second</h2> <h2 class=&quot;t&quot; dur=&quot;2s&quot;> I will display for two seconds</h2> <h2 class=&quot;t&quot; dur=&quot;3s&quot;> I will display for three seconds</h2> </t:seq> </body> </html>
  26. 26. SMIL in Parallel <ul><li>Objects inside the <par> element will be played at the same time </li></ul><ul><ul><li>Attributes: begin , dur , endsync = &quot;first&quot;|&quot;last&quot;|id(clip), repeatCount </li></ul></ul><html xmlns:t=&quot;urn:schemas-microsoft-com:time&quot;> <head> <?import namespace=&quot;t&quot; implementation=&quot;#default#time2&quot;> <style>.t {behavior: url(#default#time2)}</style> </head> <body> <par> <t:audio src=&quot;liar.wav&quot; repeatCount=&quot;indefinite&quot; type=&quot;wav&quot; /> <t:seq repeatCount=&quot;indefinite&quot;> <h2 class=&quot;t&quot; dur=&quot;1s&quot;> I will display for one second</h2> <h2 class=&quot;t&quot; dur=&quot;2s&quot;> I will display for two seconds</h2> </t:seq> </par> </body> </html>
  27. 27. SMIL Transitions <ul><li>IE 6 supports transitions based on the SMIL 2.0. Transitions are implemented with the element <transitionfilter> </li></ul><ul><ul><li>Attributes: type, begin, mode, from, to </li></ul></ul><ul><li>Transition Filters </li></ul><ul><ul><li>fade, barnDoorWipe, barWipe, clockWipe, ellipseWipe, fanWipe, irisWipe, pushWipe, slideWipe, snakeWipe, spiralWipe, starWipe </li></ul></ul><t:transitionfilter targetelement=&quot;keyb&quot; type=&quot;clockWipe&quot; begin=&quot;keyb.begin&quot; dur=&quot;2s&quot; /> <img id=&quot;keyb&quot; class=&quot;t&quot; src=&quot;pic_keyb.jpg&quot; dur=&quot;4s&quot; width=&quot;128&quot; height=&quot;107&quot; />
  28. 28. SMIL Media Elements <ul><li><animation> <audio> <brush> <img> <param> <ref> <text> <textstream> <video> </li></ul><ul><li>Attributes: erase src type </li></ul><html xmlns:t=&quot;urn:schemas-microsoft-com:time&quot;> <head> <?import namespace=&quot;t&quot; implementation=&quot;#default#time2&quot;> </head> <body> <t:video src=&quot;; repeatCount=&quot;indefinite&quot; type=&quot;wmv&quot; /> </body> </html>