290 likes | 424 Views
SMIL S ynchronized M ultimedia I ntegration L anguage Basi di Dati e Sistemi Informativi (Sistemi Multimediali) Ombretta Gaggi, 3 Maggio 2001 ogaggi@dsi.unive.it. Cronologia. 15 Giugno 1998: vengono pubblicate le specifiche di SMIL 1.0 come W3C recommendation .
E N D
SMIL Synchronized Multimedia Integration Language Basi di Dati e Sistemi Informativi (Sistemi Multimediali) Ombretta Gaggi, 3 Maggio 2001 ogaggi@dsi.unive.it
Cronologia • 15 Giugno 1998: vengono pubblicate le specifiche di SMIL 1.0 come W3C recommendation. • 1 Marzo 2001: vengono pubblicate le specifiche di SMIL 2.0 come W3C working draft.
SMIL permette di… (1) • disporre degli oggetti multimediali in punti precisi dello schermo • descrivere il comportamento temporale dei diversi elementi di una presentazione ipermediale
SMIL permette di… (2) • modificare la riproduzione secondo alcuni parametri relativi alla stazione di lavoro dell’utente • lingua, bit-rate… • inserire dei link ad altre presentazioni o parti di esse
Struttura di una documento SMIL <smil> <head> <metaname= "author"content= "Your Name" /> <layout> <!-- definizione delle regioni --> </layout> </head> <body> <!-- sincronizzazione degli elementi della presentazione--> </body> </smil>
SMIL vs HTML • un documento SMIL ha una struttura molto simile ad un documento HTML ma • i tag sono case sensitive • deve sempre esserci un tag di chiusura • i tag devono essere aperti e chiusi nell’ordine corretto (XML)
La sezione Head • contiene la definizione della finestra in cui è contenuta le presentazione • è possibile definirvi le regioni: • sono porzioni dello schermo entro cui inserire i media della presentazione
Origine Top Left Height Width Posizionamento delle regioni • si considera come origine l’angolo superiore sinistro della finestra principale, e si calcola la distanza in numero di pixel
Le regioni <smil> <head> <meta name= “author” content= “Your Name” /> <layout> <root-layoutwidth= “300” height=“200” background-color=“white”/> <regionid= “icona” left=“75” top=“50” width=“40” height= “40”/> </layout> </head> <body> <img src=“mondo.gif” alt=“Icona mondo” region=“icona” /> </body> </smil>
Posizionamento relativo e z-index <smil> <head> <layout> <root-layoutwidth= “300” height=“200” background-color=“white”/> <regionid= “rettangolo” left=“30%” top=“50%” width=“50” height= “70” z-index=“1”/> <regionid= “cerchio” left=“25%” top=“25%” width=“100” height= “100”z-index=“2”/> </layout> </head> <body> <img src=“rettangolo.gif” region=“rettangolo” /> <img src=“cerchio.gif” region=“cerchio” /> </body> </smil>
La sezione Body <smil> <head> <meta name= “author” content= “Your Name” /> <layout> <root-layoutwidth= “300” height=“200” background-color=“white”/> <regionid= “video” left=“75” top=“50” width=“40” height= “40”/> </layout> </head> <body> <img src=“intervista.rm” region=“video” begin= “3s” dur=“5s” /> </body> </smil> • contiene le descrizione temporale dello svolgimento della presentazione multimediale • tutte le informazioni relative alla sincronizzazione degli oggetti nel tempo: • durata di un oggetto • inizio • fine
Riproduzione parallela <smil> <body> <par> <!questi due file vengono eseguiti> <!contemporaneamente> <audio src=“colonna_sonora”> <audio src=“commento_parlato” begin=“10s”> </par> </body> </smil> • il tag <par>permette la riproduzione parallela di più oggetti • è possibile l’uso degli offset
Riproduzione in sequenza <smil> <body> <seq> file 1 <par> <!questi due file vengono eseguiti> file 2 <!contemporaneamente> file 3 </par> file 4 <!questo file viene eseguito quando sia> </seq> <!file2 che file3 sono terminati> </body> </smil> • il tag <seq>permette la riproduzione sequenziale di più oggetti • è possibile annidare i tag <seq> e <par>
Eventi • è possibile sincronizzare due o più oggetti sulla base del verificarsi di un evento: <par endsync=“id(commento)”> <audio src=“colonna_sonora” id=“musica”> <audio src=“commento_parlato” begin=“id(musica)(10s)” id=“commento”> </par>
Switch • permette di regolare la riproduzione della presentazione sulla base di alcune informazioni relative all’utente <switch> <audio src="audio_migliore" system-bitrate="16000" /> <audio src=”audio_peggiore" system-bitrate="8000" /> </switch> <switch> <audio src=”audio_italiano" system-language=”it"/> <audio src=”audio_inglese" system-language="en"/> </switch> - può essere inserito sia sella sezione layout che nella sezione body
Cosa si può testare? • la lingua • il bit-rate • la dimensione e la profondità dell schermo • caption o overdub • quali tipi MIME supporta il visualizzatore dell’utente
Hyperlink • SMIL support link unidirezionali molto simile a quelli offerti dal linguaggio HTML • si possono inserire link ad una presentazione o a parte di essa utilizzando l’id appropriato • è possibile modificare lo stato di riproduzione della sorgente del link <par id=“text_and_video” > <video src=“file_video” region=“video” /> <text src=“file_testo” region=“testo” /> </par> <a href=“presentazione.smil#text_and_video” show=“Pause”> <video src=”altro_file_video" region=“altra_regione”/> </a>
Definizione delle regioni <head> <layout> <root-layout height="425" width="625” background-color="black"/> <region id="title" left="5" top="150" width="400" height="200" z- index="1"/> <region id="full" left="0" top="0" height="425" width="450" background-color="#602030"/> <region id="video" left="260" top="240" height="120” width="160" z-index="2"/> <region id="toc" left="450" top="0" height="425" width="175"/> </layout> </head>
Sincronizzazione: l’indice <par id=“text_and_video” > <text src="toc.rt" region="toc" /> <seq> <!-- tutto quello che avviene nella --> <!-- regione video --> </seq> </par>
Sincronizzazione: la regione video <seq> <text src="title.rt" region="title" dur="20s"/> <!-- animazione mappa --> <!-- video slide show--> </seq>
Animazione mappa <par> <audio src="map_narration.rm"/> <img src="map.rp" region="full" fill="freeze"/> </par>
Video Slide Show <par> <switch> <img src="slideshow.rp" region="full" fill="freeze" system- bitrate="45000"/> <img src="slideshow_low.rp" region="full" fill="freeze" system- bitrate="20000"/> </switch> <seq> <video src="video_narration.rm" region="video" dur="27s"/> <audio src="video_narration_audio_only.rm" clip-begin="27s" dur="53s"/> <video src="video_narration.rm" clip-begin="80s" region="video"/> </seq> </par>
Alcune limitazioni di SMIL (1) • Non fa alcun controllo sulla coerenza: <par dur=“10s”> <audio src=“colonna_sonora” dur=“20s” > <audio src=“commento_parlato” dur=“15s” > </par>
Alcune limitazioni di SMIL (2) • l’utente può interagire solo con l’intera presentazione e non con i singoli componenti • seguendo un link, non è possibile fermare la presentazione originaria • non permette l’uso di transizioni • …
Players • RealNetworks G2 • CWI Grins beta • Helio Soja beta • NIST S2M2. • Productivity Works L p player
Authoring tools • RealNetworks RealPresenter • CWI Grins • TAG Editor 2.0 - G2 release by Digital Renaissance • VEON authoring tool • L p Studio PRO
Alcuni tutorial SMIL in rete • http://www.cwi.nl/~media/SMIL/Tutorial/ • http://www.helio.org/products/smil/tutorial/ • http://web.tiscalinet.it/dotnet/testosmile.html Specifiche SMIL • http://www.w3.org/TR/REC-smil/ • http://www.w3.org/TR/smil20/