SMIL

 

 

UVOD

 

 

Synchronized Multimedia Integration Language ili u prijevodu sinkronizirani multimedijalni integracijski jezik je “markup” jezik kao i HTML. Stvoren je kako bi bio jednostavan za učenje i postavljanje na Web. SMIL je stvoren kako bi rješio problem prikaza različitih multimedijalnih sadržaja na Web stranicama. Koristeči jedinstvenu vremensku liniju za sve medije na stranici njihov prikaz može biti pravilno koordiniran i sinkroniziran.

 

Jezik je razvijen i pušten od strane World Wide Web konzorcija u lipnju 1998 godine.

 

SMIL omogučuje pozicioniranje multimedijalnih elemenata gdje god to korisnik želi, sinkronizira te elemente, prikazuje: multimedijalne elemente prateći postavke koje definira korisnik, jezik, broj bitova u sekundi itd.

 

Za kreiranje SMIL dokumenta potreban je jednostavan tekst procesor.

 

SMIL je baziran na XML-u te je vrlo sličan HTML-u što ga čini jednostavnim za čitanje i razumjevanje. Također postoje razlike između SMIL-a i HTML-a.

SMIL je osjetljiv na velika i mala sova pa tako sve natuknice moraju biti napisane malim slovima. Još jedna razlika leži i u tome što je SMIL baziran na XML-u.

 

Real Networks jedan je od začetnika razvoja SMIL-a za Web, te je stvorio vlastite formate za korištenje unutar SMIL skripte.

 

 

RAZLIKE IZMEĐU SMIL 2.0 i SMIL 1.0

 

 

Kako je SMIL nastao 1998 godine do danas je razvijena i druga inačica 2.0 kojoj će u ovome tekstu i biti posvećena pažnja.

 

SMIL 2.0 ne prihvaća samo manji dio SMIL 1.0 sintakse u korist sintakse pristupačnije DOM-u.

 

DOM ili Document Object Model je platforma i prirodno jezično sučelje koje če omogućiti programima i skriptama dinamički pristup i obnavljanje sadržaja, strukture i stila dokumenta. Dokument može biti i dalje procesiran tako da se rezultati procesiranja mogu pripojiti natrag u prezentiranu stranicu.

 

Najuočljivija je promjena iz crticom spojenih imena atributa u imena atributa sa pomješanim velikim i malim slovima (npr. clip-begin clipBegin). SMIL moduli ne zahtijevaju podršku za SMIL 1.0 atribute pa tako integracijske aplikacije nisu njima opterećene. Player-i koji puštaju SMIL dokumente, aplikacije koje pružaju podršku prikazivanju SMIL dokumenata moraju podržavati SMIL 1.0 imena atributa isto kao i nova SMIL 2.0 imena “

 

 

MODULIZACIJA I PROFILIRANJE

 

 

Od objave SMIL 1.0, zainteresiranost  za integraciju SMIL koncepta sa HTML-om i drugim XML jezicima je u porastu. Također je W3C HTML radna skupina specificirala XHTML, Extensible HyperText Markup Language, te ga priprema za grupiranje, proširivanje i integriraciju s drugim jezicima. Strategija razmatrana za integraciju potrebne funkcionalnosti sa ostalim XML baziranim jezicima je bazirana na komceptima modulizacije i profiliranja.

 

Modulizacija je pristup u kojem je funkcionalnost specificirana kao set modula koji sadrže semantički vezane XML elemente, atribute i vrijednosti atributa.

 

Profiliranje je izlaz XML baziranog jezika kroz kombiniranje modula, sa svrhom pružanja fukcionalnosti tražene od dotične aplikacije.

 

Profiliranje kao koncept upznaje nas sa mogučnišću da “skrojimo” XML baziran jezik prema našim potrebama (npr. optimizacija prezentacije i interakcije sa klijentovim mogućnostima). Profiliranje također omogućuje integraciju funkcionalnih cjelina iz ostalih markup jezika, ne opterečujući programera sa specificiranjem te funkcionalne cjeline. Također profiliranje zbog dosljednosti u markup-u pruža kroz korištenje istog modela dobivanje određene funkcije. Identične konstrukcije koda olakšavaju autoriziranje, dok sa strane klijenta postoji potencijalna mogučnost ponovne upotrebe koda. Primjer je scheduler koji podržava SMIL-ovu funkciju tajmiranja i sinkronizacije i koji može biti korišten za SMIL dokumente, XHTML+SMIL dokumente i SVG dokumente.

 

Profil jezika je kombinacija modula. Moduli su kao čestice i kada su uključeni u profil jezika ne mogu biti podgrupirani. Specifikacija modula može zahtijevati skup integracijskih zahtijeva, koji govore kojim profilima jezika koji koriste taj modul on mora odgovarati.

 

Uobićajeno u jeziku postoji glavni profil koji ujedinjuje gotovo sve module pridružene jednom namespace-u. Primjer ovoga je da jezik SMIL 2.0 koristi večinu SMIL 2.0 modula. Uobičajeno je da isto ime označava i jedn i drugo (npr. SMIL 2.0).

 

 

Ostali profili jezika mogu biti specificirani kao podskupovi ili mogu biti mješavina koja uključuje module pridružene različitim namespace-vima.

SMIL 2.0 Basic je primjer prvog, XHTML+SMIL je primjer kasnijeg.

 

Specijalni modul u profilu jezika naziva se Structure Module (Strukturni Modul), te u sebi sadrži osnovni element profila jezika (<smil> ili <html>).

Bilo koji profil jezika koji sadrži module pridružene jedinstvenom namespace-u sadržavat će i Structure Module pridružem tom namespace-u.

 

Ostali moduli koji se trebaju spomenuti su oni koji karakteriziraju jezgru funkcije danu od namespace-a. Jezgra funkcije izražena je predodžbom o jeziku domaćinu i integracijskom skupu. I jezik domaćin i integracijski skup povezani su sa skupom zahtijeva za prilagođenje porofilima jezika, što uključuje zahtjev za pripojenjem barem skupa modula jezgre. Skup može biti različit za jezik domaćin i integracijski skup. Jezik domaćin mora pripojiti Structure module a integracijski set to ne mora. Također mogu postojati i druge razlike.

 

Glavni je razlog prilagođenja profila jezika povečanje operabilnosti.

Radije su, glavni moduli za prilagođenje jeziku domaćinu definirani na takav način da će bilo koji razmjenjeni dokument u prilagođenom profilu jezika dati razumljivu prezentaciju kada se dokument renderira, dok će podržavanje pridruženih glavnih modula zanemariti sve ostale elemente i atribute.

Ovdje se “razumljiva prezentacija” smatra kao nešto shvatljivo, što ne mora nužno biti odraz autorovih originalnih nakana. Za postizanje drugog, pregovor će morat biti vođen na način da se strane slože oko profila jezika koji će biti korišten za razmjenu dokuenata.

 

 

 

 

 

SMIL 2.0 MODULI

 

 

Funkcionalnost SMIL-a je podjeljena na deset funkcijskih cjelina. Unutar svake cjeline daljnja je raspodjela na module. Svi ovi moduli, i samo ovi moduli, su pridruženi SMIL namespace-u.

 

Funkcijske cjeline i njihovi odgovarajući modili su:

 

Timing

1.       AccessKeyTiming

2.       BasicInlineTiming

3.       BasicTimeContainers

4.       EventTiming

5.       ExclTimeContainers

6.       FillDefault

7.       MediaMarkerTiming

8.       MinMaxTiming

9.       MultiArcTiming

10.   RepeatTiming

11.   RepeatValueTiming

12.   RestartDefault

13.   RestartTiming

14.   SyncbaseTiming

15.   SyncBehavior

16.   SyncBehaviorDefault

17.   SyncMaster

18.   TimeContainerAttributes

19.   WallclockTiming

Time Manipulations

1.       TimeManipulations

Animation

2.       BasicAnimation

3.       SplineAnimation

Content Control

1.       BasicContentControl

2.       CustomTestAttributes

3.       PrefetchControl

4.       SkipContentControl

Layout

1.       AudioLayout

2.       BasicLayout

3.       HierarchicalLayout

4.       MultiWindowLayout

Linking

1.       BasicLinking

2.       LinkingAttributes

3.       ObjectLinking

Media Objects

1.       BasicMedia

2.       BrushMedia

3.       MediaAccessibility

4.       MediaClipping         

5.       MediaClipMarkers

6.       MediaDescription

7.       MediaParam

Metainformation

1.       Metainformation

Structure

1.       Structure

Transitions

2.       BasicTransistions

3.       InlineTransitions

4.       TransitionModifiers

 

 

Svaki ovaj modul predstavlja skup semantički vezanih elemenata, postavki, i atributa.

 

Moduli mogu biti nezavisni ili komplementarni. Na primjer SyncMaster modul zahtjeva i temelji se na na SyncBehaviour modulu, ali za razliku od njih PrefechControl i SkipContentControl moduli su nezavisni jedan od drugoga. Neki moduli čak zahtjevaju module iz drugih funkcijskih cjelina.

 

Moduli specificiraju svoje integracijske zahtjeve. Kada jedan modul zahtjeva drugi modul za osnovno funkcioniranje i kao preduvjet za integraciju, profil jezika mora sadržavati drugi modul da bi sadržavao prvi. U ovom slučaju kažemo da je prvi modul ovisan o drugom modulu. Ovisnost se može gomilati ako je mdul o kojem je ovisan drugi modul i sam ovisan.

 

 

SMIL 2.0 ANIMACIJSKI MODULI

 

Animacija je definarana kao vremenski bazirana funkcija ciljanog elementa (ili preciznije rečeno nekog atributa ciljanog elementa). Animacija definira mapiranje vremena vrijednostima za ciljani atribut. Mapiranje je temeljeno na na jednostavnoj animacijskoj funkciji f(t) koja opisuje animaciju preko jdnostavnog trajanja elementa. Svaku animaciju definira jednostavna animacijska funkcija koja daje vrijednost za ciljani atribut za bilo koje vrijeme unutar trajanja.

 

Kao jednostavan primjer uzeta je sljedeća animacija koja definira SVG pravokutnik.

<rect ...>

   <animate attributeName="width"  from="10px"  to="100px"

            begin="0s" dur="10s" />

   <animate attributeName="height" from="100px" to="10px"

            begin="0s" dur="10s" />

</rect>

Pravokutnik počinje sa širinom od 10 pixela i povečava širinu na 100 pixela kroz 10 sekundi. Kroz isto to vrijeme visina pravokutnika se smanji sa 100 pixela na 10 pixela.

 

 

 

 

SMIL 2.0 MODULI ZA KONTROLU SADRŽAJA

 

 

            BasicContentControl, sadrži elemente za selektiranje sadržaje i           predefinirane atribute za sistem test,

            CustomTestAttributes, sadrži elemente i atribute za testiranje   definirane od strane autora

            PrefetchControl, sadrži elimente i atribute za optimizaciju prezentacije

            SkipContentControl, sadrži atribute koji podržavaju selektivnu procjenu           atributa

 

Kako su svi elementi i iatributi za kontrolu sadržaja definirani u modulima, dizajneri markup jezika mogu ponovno upotrijebiti ovu funkciju na modulu sa osnovom modula kada tebaju uklopiti kontrolu sadržaja u svoj jezik.

 

 

ZAKLJUČAK

 

 

Sinkronizirani multimedijalni integracijski jezik (SMIL) sadrži snažnu funkcionalnost za različite multimedijalne servise za korisnike raznih različitih zahtjeva, poćevši od desktop PC-a pa preko različitih primjena kao što su mobilni telefoni, portabilni CD-playeri, automobilski uređaji za navigaciju, TV aparati itd. Svaka od ovih platformi ima specifične mogučnosti i zahtjeve. Jasno je da neće sve osobine SMIL 2.0 biti zahtjevane od svih platformi. Moduli SMIL-a 2.0 mogu se rekombinirati da proizvedu SMIL profil koji zadovoljava potrebe različitih zajednica. Npr, hand held ili mobitel mogu podržavati samo mali podskup SMIL 2.0 modula u svom profilu.

 

Kao takav SMIL profil omogučava SMIL korisniku implementaciju samo podskupa SMIL 2.0 standarda koje on treba, uz zadržavanje kompatibilnosti između profila uređaja koji su temeljeni na različitim potrebama.

SMIL 2.0 pruža “kostur” za definiranje familije skalabilnih profila. Skalabilni profili omogučuju korisniku širok spektar kompleksnosti za renderiranje od jednog, skalabilnog, SMIL dokumenta “skrojenog” prema mogučnostima ciljanog uređaja.

Prilagođenje SMIL osnovnom profilu pruža osnovu za garantiranu operabilnost.

 

Prednosti skalabilnih profila su:

·        Autori mogu prenamjeniti sadržaj SMIL-a ciljajući na širok spektar uređaja koji implementiraju SMIL semantiku

·        Renderiranje istog sadržaja može biti automtski unaprijeđeno kako uređaj postaje snažniji

·        Svi SMIL 2.0 dokumenti mogu dijeliti: tip dokumenta, schemu, skup definiranih namespace-va, i traženu predefiniranu xmlns deklaraciju

·        Bilo koja buduća SMIL 2.0 nadogradnja može se jednostavno integrirati u SMIL dokumente i korisničke agente

 

 

 

     Home