Meniu
Configuratia unui calculator compatibil IBMPC-ul -> config.
Aparitia si evolutia InternetuluiInternetul
XANADUXANADU
Retele de calculatoareRetele
HyperText Markup LanguageHTML
Foile de stiluri (Cascading Style Sheets)CSS
Synchronized Multimedia Integration LanguageSMIL
Java ScriptJAVA SCRIPT
Common Gateway InterfaceCGI
PHPPHP
Linkuri diverse  Resurse
Trivia BotTriviaBot
 
Free GuestBook
 
Statistici

                SMIL  

     SMIL este un limbaj pentru prezentari multimedia sincronizate pe Web.
     Pentru a crea prezentari multimedia pe Web, similare celor de la TV, Consortiul WWW a elaborat recent (în a doua jumatate a anului 1998) un limbaj de specificare nou, descendent din XML 1.0 (eXtended Markup Language, redutabil complement al binecunoscutului HTML), intitulat SMIL (Synchronized Multimedia Integration Language). SMIL ofera urmatoarele facilitati:
-descrierea comportamentului temporal al unei prezentari multimedia incluzând elemente text, audio, video, animatii;
-descrierea facila a aranjarii elementelor prezentarii în cadrul ecranului;
-asocierea de hiper-legaturi obiectelor multimedia în întregul lor sau partilor componente.
     SMIL este asemanator cu HTML, beneficiind de flexibilitatea limbajului XML (posibilitati de extindere), si împrumuta trasaturi ale foilor de stiluri specificate de CSS2 (Cascading Style Sheets level 2).

     Structura unui document SMIL:

     Asa cum este de asteptat, un document SMIL este bazat pe marcatori delimitati între < si >:

<sgml>
<head>
...
</head>
<body>
...
</body>
</sgml>

     Elementul <head> contine informatii independente de modul de desfasurare a prezentarii (sau prezentarilor) multimedia si defineste aranjamentul în pagina Web a acesteia (eventual folosind alternative de afisare a obiectelor multimedia).
     Prin intermediul marcatorului <layout> se pot specifica pozitionari ale elementelor din corpul unui document SMIL, aceste pozitionari putând fi alese eventual dintr-un set de aranjamente (definite în diferite limbaje specifice: SMIL, CSS sau DSSSL).
     Iata un exemplu care ilustreaza modul cum CSS2 poate fi utilizat ca o alternativa la aranjamentul de baza din SMIL:

<smil>
<head>
<switch> <!- defineste o alternativa ->
<layout type="text/css"> <!- definitii CSS2 ->
[ region="r1" ] { top: 20px; left: 20px; height: 200px; width: 300px }
[ region="r2" ] { top: 400px; left: 400px; height: 100px; width: 50px }
</layout>
<layout type="text/smil-basic-layout"> <!- definitii SMIL ->
<region id="r1" top="20" left="20" height="200" width="300" />
<region id="r2" top="400" left="400" height="100" width="50" />
</layout>
</switch>
</head>
<body>
<par> <!- doua obiecte multimedia evoluând în paralel ->
<video region="r1" src="videos/v1.rm" dur="30s" />
<video region="r2" src="http://www.pagina.ro/v/v2.rm" dur="2min" repeat="2" />
</par>
</body>
</smil>


     În doua zone de pe ecran vor fi afisate doua resurse: un film încarcat de pe un server aflat la distanta (care va dura 2 minute si va fi repetat de doua ori) si un film luat de pe serverul local (cu o durata de 30 de secunde).
Tag-ul <layout> poate contine definitii ale mai multor regiuni de ecran (prin <region>) sau a unui aranjament general, utilizat de toate celelalte elemente (folosind <root-layout>).
     O regiune de document poate avea fixat un fundal (cu atributul background-color), o zona de ecran, în pixeli (atributele top, left, height, width), un identificator unic (atributul obligatoriu id), o maniera de încadrare a obiectului multimedia pe care îl va contine: scalare, decupare, scrolling (atributul fit).

     Corpul unui document SMIL:

     Corpul specificat de marcatorul <body> poate avea ca sub-marcaje: <a> si <anchor> (definesc ancore, similare celor din HTML), <ref>, <animation>, <audio>, <img>, <video>, <text>, <textstream> (specifice obiectelor multimedia incluse în document), <seq> si <par> (elemente de sincronizare).

     Sincronizarea obiectelor multimedia:

     Exact ca în limbajele de programare paralela, exista doua tag-uri pentru rularea în maniera secventiala sau paralela a prezentarilor multimedia.
Sub-marcatorii lui <par> se pot suprapune în timp, dar ordinea textuala a aparitiei lor nu are nici o influenta asupra modului de sincronizare a prezentarii.
     Un exemplu:

<par>
<audio id="a" begin="6s" src="audio/music.rm" />
</par>


     Acuratetea sincronizarii dintre copiii (sub-marcatori definind obiecte multimedia) unui grup paralel este dependenta de implementare (cazul unor medii continue - flux audio sau video - prezentate în paralel).
     Un navigator multimedia poate prezenta urmatoarele comportamente:
-sincronizare hard (programul de prezentare multimedia sincronizeaza copiii dintr-un <par> prin intermediul unui ceas comun);
-sincronizare soft (fiecare copil al tag-ului <par> are propriul lui ceas, care ruleaza independent de ceasurile altor copii prezenti în acelasi tag <par>).
     Intervalul de timp poate fi specificat astfel: 03:40:10 (3 ore, 40 de minute si 10 secunde), 01:33 (o ora si 33 de minute), 15min, 39s, 5ms, 0.05s etc.
     Pornirea, oprirea sau evolutia unei prezentari pot fi influentate de un eveniment ca begin, end sau valoare de timp.
     Astfel, putem specifica urmatoarele:

<par>
<audio id="voice" begin="6s" src="voce.rm" />
<video begin="id(voice)(15s)" src="interviu.rm" />
</par>


     Filmul interviului va începe cu 15 secunde mai târziu decât sonorul.
     Pentru prezentari secventiale se utilizeaza tag-ul <seq>.
     Pot fi folosite pentru ambele tag-uri <par> si <seq> atribute ca:
-begin - timpul începerii explicite a unui element,
-dur - durata unei prezentari sau a unui obiect multimedia,
-endsync - sfârsit sincronizat,
-end - sfârsitul explicit al unui element,
-region - regiunea unde se va derula prezentarea acustica sau vizuala a unui obiect,
-repeat - modul de repetare a continutului unei prezentari.
     Aceste atribute se pot regasi si în cadrul tag-urilor de specificare a fiecarei resurse multimedia incluse în documentul SMIL.
     Desigur, tag-urile <seq> si <par> pot fi imbricate, conducând la prezentari multimedia cu sincronizari complexe.

     Modelul sincronizarii:

     Pentru fiecare element implicat în sincronizare se definesc niste valori de timp de început, sfârsit si durata a rularii unui obiect multimedia:
1. fiecare element în SMIL poseda un timp de început implicit (implicit begin).
2. fiecare element poate avea asignat un timp de început explicit (explicit begin) prin atributul begin. Se considera eroare daca timpul de început explicit este mai mic decât cel implicit.
3. fiecare element are, de asemenea, un timp de sfârsit implicit (implicit end).
4. fiecare element poate, prin intermediul atributului end, sa aiba asociat un timp de sfârsit explicit (explicit end).
5. durata implicita de rulare este diferenta dintre timpii de sfârsit implicit si de început implicit.
6. fiecare element în SMIL poate avea atribuita o durata explicita prin intermediul atributului dur.
7. timpul de început dorit (desired begin) al unui element este egal fie cu timpul de început explicit (daca a fost specificat), fie cu timpul de început implicit. La fel stau lucrurile si pentru timpul de sfârsit dorit (desired end).
8. durata dorita a unui element este diferenta dintre timpul de sfârsit dorit si timpul de început dorit.
9. fiecare element are un timp de început efectiv si un timp de sfârsit efectiv (sfârsitul efectiv al unui copil nu poate surveni mai târziu decât sfârsitul efectiv al parintelui sau).
10. durata efectiva este calculata facând diferenta dintre timpul de sfârsit efectiv si cel de început efectiv.
     În specificatia SMIL se prezinta in extenso cum sunt calculati toti acesti timpi.

     Alternative de prezentare:

     Tag-ul <switch> da posibilitatea autorului unei prezentari sa specifice un set de resurse alternative dintre care doar una va fi aleasa. Exista o serie de atribute de test care, daca sunt evaluate ca ?adevarat', atunci resursa multimedia va fi încarcata, decodificata si rulata.
     Ca atribute de test se pot mentiona:
-system-bitrate - specifica largimea de banda (în biti pe secunda), depinzând de conexiunea folosita. Astfel, daca o resursa (de exemplu, un video-clip) nu poate fi transferata suficient de repede, ea nu va mai fi încarcata (sau se poate furniza o locatie alternativa);
-system-captions - permite autorilor multimedia sa faca distinctia dintre textul redundant echivalent unei portiuni audio a unei prezentari (de pilda un discurs) - text destinat celor cu disfunctionalitati auditive sau celor care învata sa citeasca - si textul destinat întregii audiente;
-system-language - va fi evaluat ca adevarat daca una dintre limbile indicate de utilizator se regaseste printre cele din lista de valori ale acestui parametru. Astfel, se poate renunta la încarcarea unui speech daca el nu este rostit în limba româna:
<audio src="cuvintare.rm" system-language="ro" />
-system-overdub-or-caption - se utilizeaza pentru a recunoaste daca o resursa (audio sau video) se doreste a fi titrata sau dublata (o media se poate înlocui cu alta);
-system-screen-size - se evalueaza ca adevarat daca sistemul gazda suporta rezolutia specificata de acest atribut. În acest mod se pot concepe pagini independente de rezolutie, pentru fiecare rezolutie în parte putând fi oferita o alta prezentare;
-system-screen-depth - adâncimea paletei de culori în biti (valori tipice: 1, 8, 24 etc.). Se pot avea în vedere caracteristicile color ale calculatoarelor gazda pe care se ruleaza prezentarea (daca nu se pot suporta destule culori, nu mai are rost sa se încarce o imagine JPG cu 1 milion de culori, ci doar un GIF cu 256 de culori).
     Exemple:

<switch>
<audio src="pinkfloyd/thewall-better_quality"
system-bitrate="16000" />
<audio src="pinkfloyd/thewall-poor_quality"
system-bitrate="8000" />
</switch>
<switch>
<video src="conference/opening_fr"
system-language="fr, en, it" />
<audio src="conference/opening_ro"
system-language="ro" />
</switch>
<par>
<audio src="vangelis/spiral.rm" />
<switch>
<par system-screen-size="1280X1024" system-screen-depth="16">
<video src="vangelis_hires/" />
<img src="vangelis_hires.jpg" begin="10s" />
</par>
<par system-screen-size="640X480" system-screen-depth="8">
<img src="vangelis_lores.jpg" />
</par>
</switch>
</par>


     Pe fundalul muzicii se va proiecta si video-clipul însotit de fotografia compozitorului, numai daca rezolutia va permite acest lucru.
Hiper-legaturi
     O prezentare a unui document SMIL poate implica alte aplicatii sau extensii (non-SMIL), datorita naturii sale de integrare a unor resurse eterogene. De exemplu, un navigator SMIL poate vizualiza o pagina HTML încorporata în documentul SMIL sau, invers, un agent HTML poate utiliza o extensie (plug-in) SMIL pentru a naviga printr-un document SMIL.
     Legaturile se adreseaza prin intermediul URL-urilor, exact ca si în HTML.
Elementul <a> este foarte asemanator cu <a> din HTML 4.0, dar în SMIL este adaugat un atribut show care controleaza comportamentul temporal al sursei când se selecteaza legatura pe care o defineste. Din considerente de sincronizare, <a> nu influenteaza sincronizarea subtag-urilor sale. Un marcaj <a> nu poate fi imbricat în alt <a>.
     Atributul show poate avea urmatoarele valori:
-replace - prezentarea curenta este oprita si este înlocuita de resursa destinatie a legaturii definite de <a>. Daca navigatorul are implementat un mecanism de istoric, prezentarea sursa va fi pornita din nou atunci când utilizatorul se reîntoarce la ea;
-new - prezentarea resursei destinatie începe într-un nou context, fara a afecta prezentarea curenta (ambele se desfasoara independent);
-pause - prezentarea curenta este oprita si prezentarea destinatie (nou încarcata) este începuta într-un nou context. La terminarea acesteia din urma, prezentarea initiala îsi va continua rularea.
     Un exemplu:
     Prezentarea A

<a href="http://www.undeva.ro/prezentareaB#next">
<video src="video.rm" />
</a>

     Prezentarea B

<seq>
<video src="video.rm" />
<par>
<video src="videos/1" region="window1" />
<video src="videos/2" region="window2" id="next" />
<a href="http://www.altundeva.ro" show="pause">
<text src="title.html" region="titles" />
</a>
</par>
</seq>


     În acest exemplu, observam ca prezentarea A are o legatura în mijlocul prezentarii B. Daca legatura este urmata de catre navigator, atunci prezentarea va debuta de la timpul de început efectiv al elementului cu identificatorul next (în acest caz, un video-clip).
     Functionalitatea lui <a> este limitata la asocierea unei legaturi catre un obiect multimedia în întregul lui. Tag-ul <anchor> ofera în plus:
-asocierea unei legaturi la o sub-parte temporala sau spatiala a unui obiect multimedia, prin atributul href;
-crearea unei sub-parti a unui obiect multimedia utilizând atributul id;
-împartirea în sub-parti spatiale a unui obiect, prin atributul coords;
-divizarea în cuante de timp a unui obiect, folosind atributele begin si end (valorile acestora sunt relative la începutul obiectului respectiv)
     Iata un exemplu în care durata unui film este împartita în doua sub-intervale de timp, câte o legatura diferita fiind asociata fiecarui sub-interval:

<video src="http://www.adresa.ro/opening">
<anchor href="http://www.adresa.ro/discurs.txt"
begin="0s" end="50s" />
<anchor href="http://www.adresa.ro/traducere.txt"
begin="51s" end="2min" />
</video>


     Utilizând aceasta facilitate, pot fi create imagini senzitive (ca hartile de coordonate din HTML) si legaturi temporale (dinamice).

     Obiecte multimedia:

     Obiectele multimedia constituie actorii unei prezentari multimedia, fiind incluse prin referinte folosindu-se URL-uri. Mai general, sunt utilizate URI-uri (Uniform Resource Identifiers).
     Exista doua tipuri de obiecte:
-cu durata intrinseca (video, audio), numite obiecte multimedia continue
-fara durata intrinseca (text, imagine) - obiecte multimedia discrete.
     Autorii unei prezentari multimedia pot încadra fiecare obiect într-una din categoriile: animatie, audio, imagine, video, text sau flux text, specificate de tag-urile <animation>, <audio>, <img>, <video>, <text>, <textstream> respectiv.      Când sunt în dubiu, autorii pot folosi <ref>, tag generic desemnând orice element multimedia (lasa deschideri pentru alte tipuri de media, de exemplu lumi virtuale 3D).
     Fiecare tag multimedia poate avea si urmatoarele atribute:
-alt - descrierea alternativa a unui obiect, vizibila în cazul în care agentii utilizator nu-l pot afisa;
-author - autorul respectivului obiect multimedia;
-copyright - specifica drepturile de autor;
-type - tipul obiectului (valori MIME. De exemplu: image/jpeg; text/plain);
title - titlul asociat fiecarui obiect multimedia.

     Implementari:


     Cu toate ca SMIL este un limbaj de specificare foarte tânar si în continua dezvoltare, deja exista implementate unelte de creare a documentelor SMIL: CWI Grins, TAG Editor 2.0, VEON, plus agenti utilizator (navigatoare): CGI Grins, Helio Barbizon, HPAS, Real Networks G2, Productivity, Works Lp player. Validarea unui document SMIL se poate realiza cu Validator.

     Utilizare:

     SMIL ar putea fi solutia pentru prezentari multimedia sofisticate si chiar pentru a realiza corespondentul Web al unor emisiuni TV, prin mecanismul de sincronizare si integrare unitara a resurselor multimedia distribuite. SMIL ofera premisele televiziunii la cerere (TV on demand) sau TV web-ului.
     Autorii documentelor SMIL îsi pot scrie prezentarile tinând cont de resursele fizice de care dispun utilizatorii (largime de banda, rezolutie, posibilitati color), de preferintele lor lingvistice sau anumite handicapuri, oferind astfel alternative pentru fiecare categorie în parte.
     Cred ca în curând va fi inclus în limbaj si suportul pentru realitatea virtuala (conectivitate cu VRML) si o interactivitate mai larga cu utilizatorul (via Java, probabil).





Search

 
pe web
aici
 
 
Horoscop zilnic
 
Curs valutar
Marti Miercuri
 $ 2,7932 2,7971
  3,5062 3,5010
 
Vremea
Click for Bucharest, Romania Forecast
 
Voteaza
63%
16%
21%
Reusit
Dragut
Banal

parerea ta despre acest site
 
Votati
Voteaza-ne in Top-Site.ro!
 
Useri Online
Online: 1

  Felicitari | Free GuestBook | Forum | GuestBook | Contact | Home
Horoscop -> Berbec | Taur | Gemeni | Rac | Leu | Fecioara |
Balanta
| Scorpion | Sagetator | Capricorn | Varsator | Pesti
 
© Copyright 2006 www.extreme-design.info e-mail: ovidiuweb@as.ro
Partener cu binarythunder.com si funzone.binarythunder.com