SMIL og du har synkroniseret multimedier
Resumé
Af Jens Ebbe Thomsen, UNI-C02/05 2000
SMIL kan synkronisere visningen af tekst, billeder, lyd og video på Internettet.
Det er efterhånden muligt at lægge mange forskellige typer af materiale på nettet: tekst, link, billeder, lyd og video. Dette kan udnyttes, hvis man ønsker at præsentere et emne på en spændende måde. Men for at skabe det perfekte samspil mellem indhold og virkemidler skal man arbejde som en komponist: man skal have en vision, man skal kende sit emne, man skal kende instrumenterne, og endelig skal man kunne udtrykke det hele i noder, så andre er i stand til at formidle musikken.
På nettet er instrumenterne tekst, link, billeder, lyd og video. Noderne er eksempelvis HTML. Dog mangler der i HTML begrebet tid, delelementerne på en hjemmeside bliver vist i den rækkefølge, server og browser kan blive enige om. I 1998 kom standarden: Synchronized Multimedia Integration Language, som kan beskrive både layout og tidsmæssige sammenhænge mellem de forskellige elementer.
Som HTML er SMIL en tekstmæssig beskrivelse, men modsat HTML er der en meget streng syntaks for indholdet. Det betyder eksempelvis, at indholdet er opdelt med en klar markering af. at her starter en del, og her slutter den. Ligeledes kan en del være underopdelt, igen med den klare markering af start og slut. Den primære opdeling fremgår af denne skitse:
|
<smil> |
|||
|
|
<head> |
||
|
|
|
<meta /> |
|
|
|
|
Metadata er en overordnet beskrivelse af indholdet, som kan vises eller som kan bruges af søgemaskiner til at katalogisere indholdet. |
|
|
|
|
<layout> |
|
|
|
|
Beskrivelse af det layout, der skal benyttes i forbindelse med visningen. Bortset fra lyd vises alle elementerne i vinduer. Der opereres med et hovedvindue inden for hvilket der kan laves delvinduer. Disse vinduer har hver sin størrelse og placering, og i tilfælde af overlap kan man angive, hvilke vinduer der skygger for andre. |
|
|
|
|
</layout> |
|
|
|
</head> |
|
|
|
|
<body> |
|
|
|
|
|
Beskrivelse af de enkelte elementer: lyd, billeder, video og tekst samt deres tidsmæssige relationer. |
|
|
</body> |
|||
|
</smil> |
|
|
|
Når man opererer med en tidsmæssig beskrivelse, er begreber som i rækkefølge og samtidig vigtige. Derfor har man to markeringer, der kan sættes omkring et antal elementer:
- en sekvens, <seq>, som angiver at elementerne skal vises i rækkefølge,
- et parallelt forløb, <par>, som udtrykker at alle de omsluttede elementer skal vises samtidig.
Nu er det sådan at et element i sig selv kan være en <seq> eller en <par>. Forsøger man at tegne det op som en funktion af tiden, får man et billede, der ligner en banegård set fra oven.
|
<par> |
<seq> < … /> < … /> </seq> |
|
|
|
|
|
|
< … /> |
|
|
|
< … /> |
|
|
|
</par> |
|
Når man når til et rigtigt element, eksempelvis en video, er det beskrevet ved:
- en adresse, der henviser til elementet
- hvilket af de vinduer, der er beskrevet i layoutet, det skal vises i
- dets tidsmæssige relationer i forhold til den lokale tid, der er i en <seq> eller <par> del.
Indholdet af de enkelte elementer er selvstændige filer, som rummer en tekst, et billede, en videosekvens eller noget lyd. SMIL standarden udtaler sig ikke om formatet for disse elementer. Det er generelt filer, som kan findes ved hjælp af en adresse på Internettet - en URL.
Papir og blyant kan være med til at skabe et overblik over både layout og kompositionen af elementerne. Med lidt øvelse og en teksteditor kan man godt lave SMIL; men når det kommer til at regne på, om indholdet kan nå frem i forhold til en given transmissionshastighed, så bliver det svært. Den samlede fremvisning skal foregå i sand tid, og normalt har man en begrænset båndbredde til rådighed. Inden for denne skal man finde et kompromis mellem afspillerens mulighed for at hente indholdet på forhånd, brugerens tålmodighed med, hvor lang tid der må gå inden afspilningen begynder, og hvor meget sikkerhed der skal være mod, at transmissionen bliver langsommere under afspilningen.
I perioden fra 1998 er der kommet værktøjer, der kan lave en SMIL fil. Der er både gratis udgaver, f.eks. SMIL Composer SuperTool fra Sausage Software [5], og mere avancerede værktøjer, f.eks Fluition [4] fra Confluent Technologies Inc.
Det kræver en afsplller at vise SMIL. To skal nævnes: GriNS, som var den første og den, som er tilgængelig på flest systemer, og RealPlayer [3], som er den mest udbredte. Deres behandling af en SMIL beskrivelse er den samme:
- beskrivelsen læses, og det kontrolleres, at den er korrekt
- tekst, referencer, billeder, lyd og video hentes de angivne steder og på tidspunkter, der ligger lidt før, de skal bruges
- de forskellige elementer vises på de angivne steder i layoutet og på de ønskede tidspunkter
- forsinkelser håndteres
Den valgte afspiller er et selvstændigt program, som har sit eget vindue til fremvisning. Det er dog også muligt at få den til at vise SMIL i en delmængde af det vindue, som browseren bruger.
RealNetworks har udvidet SMIL på to områder:
- de understøtter deres eget komprimeringsformat til video og audio. Fordelen er, at video og audio, som kommer fra en server med RealNetworks eget programmel, dynamisk kan tilpasse sig båndbredden på nettet. Det vil sige, at et dyk i båndbredden resulterer I, at man får videoen i en dårligere kvalitet - det stopper ikke bare. Tilsvarende resulterer en forøgelse af båndbredden i en bedre kvalitet.
- de har indført, at et billede kan være mere end et billede, det kan være en sekvens af billeder med overgange imellem. På samme måde er der mulighed for flere tekster i sekvens med overgange imellem, f.eks. rulletekster som kendes fra TV.
Siden 1998 er der arbejdet videre med ideerne. Microsoft har været aktive med at skabe konkurrenten HTML+TIME, der som udgangspunkt har haft, at synkroniseringsprimitiverne skal integreres i HTML. For at tilnærme disse to initiativer til hinanden har man arbejdet med at udvikle en ny udgave af SMIL med kodenavnet SMILboston. Ideerne er i stor udstrækning de samme, så man skal ikke bruge dette som undskyldning for ikke allerede nu at bruge SMIL.
- SMIL Synchronized Multimedia Integration Language 1.0 Specification.
- JustSMIL Tutorial.
- RealPlayer basic.
- Fluition Confluent Technologies.
- Sausage SMIL Composer SuperTool. [Red: værktøjet findes tilsyneladende ikke længere hos Sausage.]

Udskriv…
Hjælp til udskrift
Om…
Nyhedsbrev
Sitemap
Teknik
Skriv til
RSS
Søg
