180 likes | 276 Views
G6DPMM - Lecture 18. Synchronized Multimedia Integration Language (SMIL). SMIL. Synchronized Multimedia Integration Language XML application for multimedia Hence all the advantages of XML - interoperability, internationalization, transformable, XML tools, etc. W3C recommendation
E N D
G6DPMM - Lecture 18 Synchronized Multimedia Integration Language(SMIL)
SMIL • Synchronized Multimedia Integration Language • XML application for multimedia • Hence all the advantages of XML - interoperability, internationalization, transformable, XML tools, etc. • W3C recommendation • SMIL 1.0 - 1998 • SMIL 2.0 - 2001 • Allows the description of temporal and spatial coordination of one or more media objects. • May be delivered locally or streamed over the Internet. • SMIL 2.0 is much more sophisticated than SMIL 1.0 • SMIL 1.0 spec is c. 30 pages • SMIL 2.0 spec is c. 540 pages
SMIL 1.0 • Deliberately simple language to: • describe the temporal behavior of a presentation • describe the layout of the presentation on a screen • associate hyperlinks with media objects • SMIL does not contain media content, it describes relations between media objects • Clean separation between content and structure • All the advantages of an XML application
SMIL 2.0 • Extends the capability of SMIL 1.0 • Sophisticated animation • DOM compliance • Incorporation of SMIL into other XML applications (eg XHTML+SIML) • Incorporation of SVG • Advanced streaming capability (eg preload, download etc) • The SMIL 2.0 language is modular
SMIL 2.0 Modules • Modules are parts of the language dealing with specific areas of functionality. Implementations do not need to deal with all modules. • Much easier to create specialist implementations • Modules • Timing & Synchronisation (19 modules) • Time manipulation (1 module - speed of media) • Animation (2 modules - basic & spline) • Content control (4 modules for content selection and optimized delivery) • Layout (4 modules) • Linking (3 modules) • Media objects (7 modules) • Metainformation (1 module) • Structure (1 module) • Transition effects (3 modules - fades, wipes etc)
SMIL 2.0 Profiles • Profiles are languages for a specific purpose that conform to the SMIL 2.0 specification. SMIL software implements specific profiles. • Profiles consist of a selection of SMIL 2.0 modules, and may incorporate other XML applications. • SMIL 2.0 Language Profile • Usually called SMIL, contains most of the features of the full SMIL 2.0 specification. • SMIL 2.0 Basic Language Profile • Intended for mobile devices - PDA/Phone etc • XHTML+SMIL • Not a part of the SMIL 2.0 specification (it is a separate W3C project) - this adds timing features to XHTML. • SMIL 1.0 - for backwards compatibility
SMIL Implementations • Real Networks • G2 Player implemented SMIL 1.0 • RealOne Player implements (most of) SMIL 2.0 language profile • Proprietary extensions - RealPix and RealText • Microsoft • IE 6 implements XHTML+SMIL • Apple • Quicktime 4.1+ supports SMIL 1.0 • SOJA • SMIL 1.0 implementation as a Java Applet • Oratrix products • GRiNS Pro (full SMIL 2.0 language profile) authoring system • GRiNS Editor for RealOne • GRiNS Player (full SMIL 2.0 language profile) • GRiNS Mobile Player (SMIL Basic language profile)
Specifications for a SMIL presentation • Content • whole or partial media objects • Spatial layout • where do media items appear on screen? • Temporal layout • when do they appear? • Alternative content • eg for different bandwidth, different purposes or different users • Links • uses Xlink and Xpointer to provide sophisticated linking • Metadata • semantic information
Structure of a SMIL document • <head> element • Contains metadata and layout information • <body> element • Contains media objects and links <smil> <head> <meta> ... metadata </meta> <layout> ... layout information </layout> </head> <body> ... media objects, timing & links </body> </smil>
SMIL Media Objects • Media object elements <text> <textstream> <img> <audio> <video> <animation> <ref> (generic) • Attributes • src - the URI of the object • type - MIME type • name - for human readability • Media type determined by file extension or type attribute • Examples<img src="mypic.jpg" /> <audio src="http://www.cs.nott.ac.uk/~tjb/ding.mp3" name="Ding!" type="x-audio/mpeg" /> • Also brush elements • paints directly onto screen
Temporal / Spatial Existence • Text • Space • Time - has a duration, but does not change (ie is discrete) • Image • Space • Time - has a duration, but is discrete (usually) • Video & Animation • Space • Time - has a duration and changes throughout that (ie continuous) • Audio • Does not exist in space • Time - has a duration and changes throughout that (ie continuous)
Regions • Used to define spatial existence<img src="mypic.jpg" region="top_box" /> • Regions are defined by X & Y coordinates (pixels or percentage of the window) and Z coordinate (stacking order - highest integer on top) • Regions all have a unique ID, and may overlap.<region id="top_box" top="20" left="20" height="50" width="200" z-index="2"/> • Regions are contained in the layout element, along with the root-layout which defines the window.<layout><root-layout ... /><region ... /></layout>
Positioning of media in regions • Regions may overlap or be nested (there is a hierarchy of regions - allowing media objects to be anchored together) • Media objects are placed in regions and positioned relative to them (top, bottom, left, right, height and width). • Clipping media objects • May or may not fill their region • If they are re-sized the aspect ratio may or may not be preserved • Slicing may or may not occur • Scrolling may or may not occur • Layout is adaptable • It can change to suite different devices or purposes • Examples • Computer vs handheld • Movies with subtitles
Types of Time • Media time • Time determined by media (eg frame rate of movie, or sampling rate of sound). • Document time • An object is displayed at a specified time after the document is loaded, for a specied duration. • Run-time • The timing is dependent upon data transfer over a network
Duration of Media Objects • Intrinsic duration • derived from media (eg the length of a video) • discrete media has an intrinsic duration of zero • Explicit duration • real time - dur attribute is specified in seconds or minutes • Examples:<video src="myVid.mpeg" region="box" dur="30s" /> <image src="myPic.jpg" region="box" dur="5s" /> • The repeat attribute may be set to an integer, or set as "indefinite" • Paralell vs sequential playing • <par> elements are played in paralell • <seq> elements are played sequentially • <par> and <seq> elements may be nested • Start and end times can be absolute or relative to other elements
Interaction in SMIL • SMIL 2.0 responds to DOM events (eg onClick, onMouseOver etc) • Any timing construct can be set to trigger by any event • Other timing constructs include: • Animation (region placement changes over time) • Transitions (standard library of transitions is accessed, and their speeds set) • Manipulations (mostly media playback speed) • Test Attributes - Can deliver alternative content • Language • Data transfer rate • Screen size • User preferences (eg text/image, closed captions on/off)
Linking in SMIL • Linking can be to other SMIL, or any other web content • <a> element similar to that of HTML <a href="mypage.html" external="true"> <img src="mypic.jpg" region="box” dur="5"/> </a> • <area> element allows much more sophisticated linking from any spatial or temporal part of a document.
SMIL & SVG • SMIL & SVG are complementary technologies. • There is some element of overlap, but the emphasis is completely different. • SVG is incorporated into SMIL 2.0. • DOM provides the key to interactive interoperability. • Adobe SVG Viewer is implemented as a RealOne plugin - thus SMIL can render SVG using it.