SMIL Synchronized Multimedia Integration Language Basi di Dati e Sistemi Informativi (Sistemi Multimediali) Ombretta Gaggi, 3 Maggio 2001 [email protected] Ombretta Gaggi 1 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. Ombretta Gaggi 2 SMIL permette di… (1) • disporre degli oggetti multimediali in punti precisi dello schermo • descrivere il comportamento temporale dei diversi elementi di una presentazione ipermediale Ombretta Gaggi 3 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 Ombretta Gaggi 4 Struttura di una documento SMIL <smil> <head> <meta name= "author" content= "Your Name" /> <layout> <!-- definizione delle regioni --> </layout> </head> <body> <!-- sincronizzazione degli elementi della presentazione--> </body> </smil> Ombretta Gaggi 5 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) Ombretta Gaggi 6 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 Ombretta Gaggi 7 Posizionamento delle regioni • si considera come origine l’angolo superiore sinistro della finestra principale, e si calcola la distanza in numero di pixel Origine Top Left Height Width Ombretta Gaggi 8 Le regioni <smil> <head> <meta name= “author” content= “Your Name” /> <layout> <root-layout width= “300” height=“200” background-color=“white” /> <region id= “icona” left=“75” top=“50” width=“40” height= “40” /> </layout> </head> <body> <img src=“mondo.gif” alt=“Icona mondo” region=“icona” /> </body> </smil> Ombretta Gaggi 9 Posizionamento relativo e z-index <smil> <head> <layout> <root-layout width= “300” height=“200” background-color=“white” /> <region id= “rettangolo” left=“30%” top=“50%” width=“50” height= “70” z-index=“1” /> <region id= “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> Ombretta Gaggi 10 L’attributo Fit Ombretta Gaggi 11 La sezione Body <smil> <head> <meta name= “author” content= “Your Name” /> • contiene le descrizione temporale dello <layout> svolgimento dellawidth= presentazione <root-layout “300” height=“200” background-color=“white” /> multimediale <region id= “video” left=“75” top=“50” width=“40” height= “40” /> • tutte le informazioni relative alla </layout> sincronizzazione degli oggetti nel tempo: </head> <body> – durata di un oggetto <img src=“intervista.rm” region=“video” – inizio begin= “3s” dur=“5s” /> – fine </body> </smil> Ombretta Gaggi 12 Riproduzione parallela <smil> • il<body> tag <par> permette la riproduzione parallela più oggetti <par> di <!questi due file vengono eseguiti> <!contemporaneamente> • è possibile l’uso degli offset <audio src=“colonna_sonora”> <audio src=“commento_parlato” begin=“10s”> </par> </body> </smil> Ombretta Gaggi 13 <smil> Riproduzione in sequenza <body> <seq> • il tagfile <seq> permette la riproduzione 1 <par> <!questi file vengono eseguiti> sequenziale di piùdue oggetti file 2 <!contemporaneamente> • è possibile annidare i tag <seq> e <par> file 3 </par> file 4 <!questo file viene eseguito quando sia> </seq> <!file2 che file3 sono terminati> </body> </smil> Ombretta Gaggi 14 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> Ombretta Gaggi 15 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" /> - può essere inserito sia sella sezione layout che nella </switch> sezione body <switch> <audio src=”audio_italiano" system-language=”it"/> <audio src=”audio_inglese" system-language="en"/> </switch> Ombretta Gaggi 16 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 Ombretta Gaggi 17 Hyperlink id=“text_and_video” •<par SMIL support link >unidirezionali molto <video src=“file_video” region=“video” /> simile a quelli offerti dal linguaggio HTML <text src=“file_testo” region=“testo” /> •</par> si possono inserire link ad una presentazione o a parte di essa utilizzando <a href=“presentazione.smil#text_and_video” show=“Pause”> l’id appropriato <video src=”altro_file_video" region=“altra_regione”/> •</a> è possibile modificare lo stato di riproduzione della sorgente del link Ombretta Gaggi 18 Un esempio Ombretta Gaggi 19 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> Ombretta Gaggi 20 Sincronizzazione: l’indice <par id=“text_and_video” > <text src="toc.rt" region="toc" /> <seq> <!-- tutto quello che avviene nella --> <!-- regione video --> </seq> </par> Ombretta Gaggi 21 Sincronizzazione: la regione video <seq> <text src="title.rt" region="title" dur="20s"/> <!-- animazione mappa --> <!-- video slide show--> </seq> Ombretta Gaggi 22 Animazione mappa <par> <audio src="map_narration.rm"/> <img src="map.rp" region="full" fill="freeze"/> </par> Ombretta Gaggi 23 Video Slide Show <par> <switch> <img src="slideshow.rp" region="full" fill="freeze" systembitrate="45000"/> <img src="slideshow_low.rp" region="full" fill="freeze" systembitrate="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> Ombretta Gaggi 24 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> Ombretta Gaggi 25 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 • … Ombretta Gaggi 26 Players • RealNetworks G2 • CWI Grins beta • Helio Soja beta • NIST S2M2. • Productivity Works L p player Ombretta Gaggi 27 Authoring tools • RealNetworks RealPresenter • CWI Grins • TAG Editor 2.0 - G2 release by Digital Renaissance • VEON authoring tool • L p Studio PRO Ombretta Gaggi 28 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/ Ombretta Gaggi 29