Comment 16 for bug 499733

Revision history for this message
Eric Prud'hommeaux (ericprud) wrote :

If you extend SMIL¹, you get a bit of interop with other video engines (e.g. RealPlayer, HelixPlayer², Ambulant³) and a specification which has had some pretty thorough peer review (including patent safety). Inkscape did this with SVG with I believe good results. SMIL covers the animations; you'd have to extend it to include the catalogue info you've described above. Following is a brief example of SMIL animation.

¹ http://www.w3.org/TR/REC-smil/
² https://player.helixcommunity.org/
³ http://www.ambulantplayer.org/

<!DOCTYPE smil PUBLIC "-//W3C//DTD SMIL 2.0//EN"
     "http://www.w3.org/2001/SMIL20/SMIL20.dtd">
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
  <head>
    <meta name="title" content="For OpenShot" />
    <layout type="text/smil-basic-layout">
      <root-layout height="768px" width="1024px" backgroundColor='white' />
      <region id="r1" top="20px" left="0px" height="720px" />
      <region id="credits" top="768px" left="380px" height="1200px" />
    </layout>
    <transition id="snake" dur="1s" type="snakeWipe" />
    <transition id="clockR" dur="2s" type="clockWipe" direction='reverse' />
    <transition id="iris" dur="2s" type="irisWipe" />
  </head>
  <body>
    <par title='Intro'>
      <img src="background.jpg" erase="never" />
      <seq begin='5s'>
        <img src="ready.png" dur="5s" region='r1' />
        <audio src='woza.wav' begin="2s" title='Intro music'/>
      </seq>
      <seq begin='14s'>
        <img src="well_txt.png" dur="6s" transIn='snake' transOut='snake' />
        <par>
          <img src="welcome.jpg" dur="15s" transIn='iris' region='full_image'/>
        </par>
      </seq>
    </par>
    <par begin="4s" title='Credits'>
      <audio src='edith.wav' title='Intro music'/>
      <seq>
        <img begin='5s' region='credits' src="cred.png" dur="83s" fill='remove'>
          <animateMotion targetElement='credits' to="380,-1200"
                         begin='2s' dur="80s" fill='freeze'/>
        </img>
        <img region='r1' src='cont.png' dur='10s' transIn='clockR'/>
      </seq>
    </par>
  </body>
</smil>