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