SMIL Containers


Published on

Organising content in groups

Published in: Technology
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

SMIL Containers

  1. 1. 6 SMIL Containers Organising Content in Groups
  2. 2. 6.1 Grouping Content <ul><li>Important SMIL module to understand </li></ul><ul><li>Provides foundation for building complex SMIL presentations </li></ul><ul><li>Can be confusing to new SMIL authors </li></ul><ul><ul><li>Lack of SMIL authoring tools to assist the authoring process </li></ul></ul><ul><li>Order of presentation </li></ul><ul><ul><li>Explain grouping first and then how to apply timing and synchronisation </li></ul></ul><ul><li>Tips for authors </li></ul><ul><ul><li>Draw a diagram to assist design </li></ul></ul><ul><ul><li>Build up a collection of SMIL and XHTL+TIME templates </li></ul></ul><ul><ul><li>Plagiarise the SMIL or XHTML+TIME code of presentations with desired behaviour </li></ul></ul>
  3. 3. 6.2 Understanding Groups <ul><li>Three elements are used to group content </li></ul><ul><li>Placed in the <body> of the SMIL file </li></ul><ul><li>Elements are: </li></ul><ul><ul><li><seq> <t:seq> - play clips in sequence </li></ul></ul><ul><ul><li><par> <t:par> - play clips in parallel </li></ul></ul><ul><ul><li><excl> <t:excl> - play only one clip in group at a time </li></ul></ul><ul><li>Default group behaviours </li></ul><ul><ul><li>No group behaviour is specified within the <body> </li></ul></ul><ul><ul><ul><li>RealONE - plays clips in <seq> uence </li></ul></ul></ul><ul><ul><ul><li>IEv5.5 or v6 - plays clips in <par> allel </li></ul></ul></ul><ul><ul><ul><li>QuickTime - plays clips in <seq> uence </li></ul></ul></ul><ul><li>Groups can be nested to produce complex presentations </li></ul><ul><ul><li>Using any order </li></ul></ul><ul><ul><li>To an infinite depth </li></ul></ul>
  4. 4. 6.3 <seq> Play Items in a Sequence <ul><li>Simplest form of grouping </li></ul><ul><ul><li>Slideshow for images etc. </li></ul></ul><ul><ul><li>Playlist for audio items </li></ul></ul><ul><li>Any number and type of clips can be used </li></ul><ul><ul><li>Display and image followed by audio followed by text followed by video etc. </li></ul></ul><ul><li>Items play one after the other </li></ul><ul><ul><li>This behaviour can be modified with the use of timing </li></ul></ul><ul><ul><li>Media such as audio has inherent timing </li></ul></ul><ul><ul><li>Other media such as images have to be given timing behaviour </li></ul></ul><ul><li><seq> is the default behaviour in RealONE and QuickTime </li></ul><ul><ul><li>Default of XHTML+TIME in Internet Explorer is <par> </li></ul></ul><ul><li> Examples </li></ul><ul><ul><li>Real ONE </li></ul></ul><ul><ul><li>QuickTime (create .mov file) </li></ul></ul><ul><ul><li>Internet Explorer v6 </li></ul></ul><body> <seq> <img clip1 … /> <img clip2 … /> </seq> </body> <!-- Defining a sequence in XHTML+TIME --> <body> <t:seq> <t:img clip1 … /> <t:img clip2 … /> </t:seq> </body>
  5. 5. 6.3.1 <seq> Diagram <ul><li>[ image1] [image2] [image3] </li></ul><ul><li>>----------time-------------------->> </li></ul>
  6. 6. 6.4<par> Play Items in Parallel <ul><li>Allows multiple clips to play at the same time </li></ul><ul><ul><li>Audio narration for a slide tour </li></ul></ul><ul><ul><li>Subtitling for a video </li></ul></ul><ul><li>Different clips playing in different regions </li></ul><ul><ul><li>Use the region id attribute to assign each clip to a region </li></ul></ul><ul><ul><ul><li>region=“id” </li></ul></ul></ul><ul><ul><li>Give audio a region to allow manipulation of audio level </li></ul></ul><ul><ul><ul><li>Not supported in QuickTime </li></ul></ul></ul><ul><li>No implicit timing relationship of clips with each other </li></ul><ul><ul><li>Timing relationships have to be made explicitly </li></ul></ul><ul><li>Playing multiple clips can exceed available bandwidth </li></ul><ul><ul><li>Need to consider prefetching content </li></ul></ul><ul><ul><li>Using lower bandwidth versions of media using <switch> statement </li></ul></ul><ul><li>Examples </li></ul><ul><ul><li>RealONE </li></ul></ul><ul><ul><li>QuickTime (create .mov) </li></ul></ul><ul><ul><li>Internet Explorer v6 </li></ul></ul><!-- Play an image and an audio clip in parallel --> <par> <img clip1 … /> <audio clip2 … /> </par> <!-- Defining a parallel sequence in XHTML+TIME --> <t:par> <t:img clip1 … /> <t:audio clip2 … /> </t:par>
  7. 7. 6.4.1 <par> Diagram <ul><li>[image1------------------] </li></ul><ul><li> [text 1---------------------------] </li></ul><ul><li>[audio1-------------------------------------] </li></ul><ul><li>>------------------time ------------------------>> </li></ul>
  8. 8. 6.5 <excl> Play Items One at a Time <ul><li>Exclusive behaviour not supported in QuickTime </li></ul><ul><ul><li><excl> is part of SMIL2.0 and QuickTime implementation is limited to SMIL1.0 </li></ul></ul><ul><li>Features of a basic exclusive group </li></ul><ul><ul><li>Only one clip will display at a time </li></ul></ul><ul><ul><li>Any type and combination of clips will observe this behaviour; audio, video, text, images etc. </li></ul></ul><ul><ul><li>Clip interruption behaviour is to stop playing the current clip </li></ul></ul><ul><ul><li>Order of display of clips is controlled by timing attributes </li></ul></ul><ul><ul><li>Group ends when the last clip has been displayed </li></ul></ul><ul><li>Examples </li></ul><ul><ul><li>Real One </li></ul></ul><ul><ul><li>Internet Explorer 6 </li></ul></ul><excl> <img image1 begin=“3s” dur=“10s” /> <img image2 begin=“6s” dur=“10s” /> <img image3 begin=“0s” dur=“10s” /> </excl> <!-- Defining an exclusive group in XHTML+TIME --> <t:excl> <t:img image1 begin=“3” dur=“10” /> <t:img image2 begin=“6” dur=“10” /> <t:img image3 begin=“0” dur=“10” /> </t:excl>
  9. 9. 6.5.1 <excl> Interruption Behaviour <ul><li>Clip interruption behaviour modified with <priorityClass> element </li></ul><ul><li>All clips in a <priorityClass> are peers </li></ul><ul><li>Priority classes cannot be nested </li></ul><ul><li>Order of priority classes is significant: first is highest and last is lowest in order </li></ul><ul><li>Default is for peers to stop when they are interrupted </li></ul><ul><li>Other interruptions are </li></ul><ul><ul><li>pause - clip resumes after interrupting clip finishes </li></ul></ul><ul><ul><li>defer - interrupting clip is deferred until clip finishes </li></ul></ul><ul><ul><li>never - interrupting clip is never permitted to begin </li></ul></ul><ul><li>Examples </li></ul><ul><ul><li>RealONE </li></ul></ul><ul><ul><li>Internet Explorer v6 </li></ul></ul><ul><li>Can anyone explain what is happening here? </li></ul><excl> <priorityClass peers=“pause”> <img image1 begin=“3s” dur=“10s” /> … </priorityClass> </excl> <!-- Defining an exclusive group in XHTML+TIME --> <t:excl> <t:priorityClass peers=“pause”> <t:img image1 begin=“3” dur=“10” /> … </t:priorityClass> </t:excl>
  10. 10. 6.5.2 <excl>Interaction Behaviour <ul><li>Supports user interaction </li></ul><ul><ul><li>Clicking on an image or button </li></ul></ul><ul><ul><li>User can choose from a list of options </li></ul></ul><ul><li>Interaction is event driven </li></ul><ul><ul><li>Uses the begin timing attribute </li></ul></ul><ul><ul><li>Dependent upon the support in the SMIL/XHTML+TIME client </li></ul></ul><ul><li>Examples </li></ul><ul><ul><li>Real ONE </li></ul></ul><ul><ul><li>Internet Explorer v6 </li></ul></ul><excl> <img image1 begin=“0s; image2.activateEvent” dur=“indefinite” /> <img image2 begin=“image1.activateEvent” dur=“indefinite” /> </excl> <!-- Defining an exclusive group in XHTML+TIME --> <t:excl> <t:img image1 begin=“0; image2.onclick” dur=“indefinite” /> <t:img image2 begin=“image1.onclick” dur=“indefinite” /> </t:excl>
  11. 11. 6 Nesting Groups Within Groups <ul><li>Very powerful feature of SMIL </li></ul><ul><li>Can be confusing at first </li></ul><ul><li>Needed to build even simple presentations </li></ul><ul><ul><li>Narrated slide show </li></ul></ul><ul><ul><li>Text subtitling for video </li></ul></ul><ul><li>Remember client defaults </li></ul><ul><ul><li>RealONE and QuickTime - <seq> </li></ul></ul><ul><ul><li>Internet Explorer v6 - <par> </li></ul></ul>
  12. 12. 6.6.1 Nesting Element Groups <ul><li>Sequential group nested inside parallel group </li></ul><ul><ul><li>All clips and groups play in parallel </li></ul></ul><ul><ul><ul><li>One or more can play at the same time </li></ul></ul></ul><ul><ul><ul><li>Not that they all begin at the same time! </li></ul></ul></ul><ul><ul><li>Timing is relative to the containing group </li></ul></ul><ul><ul><ul><li>Images take timing from containing sequence </li></ul></ul></ul><ul><ul><ul><li>Audio and sequence take timing from parallel group </li></ul></ul></ul><ul><li>Examples </li></ul><ul><ul><li>Real ONE </li></ul></ul><ul><ul><li>Internet Explorer v6 </li></ul></ul><par> <audio clip … /> <seq> <img1 clip … /> <img2 clip … /> </seq> </par> <!-- Define similar behaviour in XHTML+TIME --> <t:par> <t:audio clip … /> <t:seq> <t:img image1 … /> <t:img image2 … /> </t:seq> </t:par>
  13. 13. 6.6.2 Nesting Element Groups <ul><li>Parallel group nested inside a sequential group </li></ul><ul><ul><li>All items play in sequence </li></ul></ul><ul><ul><ul><li>Clips begin once the previous one has finished </li></ul></ul></ul><ul><ul><li>Timing is relative to the containing group </li></ul></ul><ul><ul><ul><li>For the par group and image clips timing is relative to the seq group enclosing them </li></ul></ul></ul><ul><ul><ul><li>For the audio, text and img clip, timing is relative to the par group enclosing them </li></ul></ul></ul><ul><ul><li>This grouping could be used to provide an audio narration for just one of a series of images </li></ul></ul><ul><li>Exercise: Write out the equivalent XHTML+TIME code </li></ul><ul><li>Examples </li></ul><ul><ul><li>Real ONE </li></ul></ul><ul><ul><li>Internet Explorer v6 </li></ul></ul><seq> <video1 video … /> <par> <audio1 audio … /> <img1 image … /> </par> <video2 video … /> </seq>
  14. 14. 6.7 Review <ul><li>Just three types of group </li></ul><ul><ul><li><par> - parallel </li></ul></ul><ul><ul><ul><li>More than one clip can play together </li></ul></ul></ul><ul><ul><li><seq> - sequence </li></ul></ul><ul><ul><ul><li>Clips play one after the other in order </li></ul></ul></ul><ul><ul><li><excl> - exclusive </li></ul></ul><ul><ul><ul><li>Only one clip at a time may play </li></ul></ul></ul><ul><li>SMIL and XHTMl+TIME clients have default groups </li></ul><ul><ul><li><seq> RealONE and QuickTime </li></ul></ul><ul><ul><li><par> Internet Explorer v6 </li></ul></ul><ul><li>Groups are nested to control presentations </li></ul><ul><ul><li>Can be confusing </li></ul></ul><ul><ul><li>Use templates for typical applications </li></ul></ul>