SMIL - Synchronized Multimedia Markup Language


Ausarbeitung zum Vortrag von Robert König vom 07.06.2003 im Rahmen des Seminars "XML für Fortgeschrittene"
bei Oliver Becker am Institut für Informatik an der Humboldt-Universität zu Berlin.


1. Was ist Smil ?

Smil ist eine auf XML basierende Markup-Sprache, die das einfache Verwalten von interaktiven, audiovisuellen

Präsentationen erlaubt. Mit SMIL kann sowohl das Layout als auch das zeitliche Verhalten einer Multimedia Präsentation

beschrieben werden.

2. Wofür kann man SMIL benutzen ?

Folgende Einsatzszenarios denkbar:

3. Syntax von SMIL

Der nun folgende Abschnitt soll einen groben Überblick über die Syntax von SMIL und seiner Elemente und geben.

Das smil Element ist das Wurzelelement, dass alle weiteren Elemente umschließt.

Inneralb des Wurzelelements befindet sich der Dokumentenkopf

<head>...</head>

und der Dokumentenkörper.

<body>...</body>

Der Dokumentenkopf enthält Informationen über das genaue physische Layout des Mediums, in dem der SMIL-Inhalt

wiedergegeben werden soll, und bestimmte Metadaten über das Dokument, etwa, wer es geschrieben hat, wann es

geschrieben wurde etc. Desweiteren enthält er Angaben über die einzelnen Regionen der Präsentation, deren Grösse und

Gestalt. Es enthält keinerlei Informationen zur Zeitsynchronisierung der einzelnen Quellen der Präsentation.

Der Dokumentenkörper enthält alle Informationen, die zeitlich bedingt sind, sowie Verknüpfungsinformationen, die mit dem

Dokument zusammenhängen. Somit erhält man das Grundgerüst eines SMIL Dokumentes:

<smil>
<head>
<layout>
<root-layout background-color="#008000" height="500" width="500"/>
<meta name="author" content="Robert Koenig"/>
<meta name="copyright" content="(C) 2003"/>
<region id="Region1" top="50" left="150" width="200"/>
<region id="Region2" left="150" top="150" height="200" width="200" fit="fill" />
...
</layout>
</head>
<body>
...
</body>
</smil>

Nachdem die Regionen definiert wurden, werden nun die eigentlichen Quellen mit diesen verknüpft. Diese Verknüpfung übernimmt

das ref Element. Ref Elemente sind Kindelemente entweder von par ( für parallel bzw. gleichzeitig ) oder seq ( für sequenz

bzw. nacheinander ) Elementen.

Quelltextgrafik



Par-Element: Gleichzeitiger Beginn von mehreren Medien

Grafik zur Veranschaulichung des Par Elements



Seq-Element: Mehrere Medien werden nacheinander wiedergeben

Grafik zur Veranschaulichung des Seq Elements



Wie schon in den vorangegangenen Beispielen zu sehen war, können die einzelnen Elemente zusätzliche Attribute mit

entsprechenden Werten enthalten. Einen kurzen Überblick über diese Attribute, deren Bedeutung und Vorkommen

gibt die folgende Tabelle.

Attribut Wert
Bedeutung
Vorkommen der Attribute

innerhalb der Elemente

<ref>
<par>
<seq>
id
name
Eindeutige ID des Elements
x
x
x
author
name
Verfassername
x
x
x
copyright
Copyright
Urheberrechte
x
x
x
begin
h,m,s,ms
Verzögerung der normalen Clipabspielzeit
x
x
x
dur
h,m,s,ms
Abspiellänge des Clips
x
x
x
end
h,m,s,ms
Ende der Abspielzeit relativ zum Clipbeginn
x
x
x
clip-begin
h,m,s,ms
Interne Clipzeitmarke vom Clipbeginn



clip-end
h,m,s,ms
Interne Clipzeitmarke vom Clipende
x


endsync
first/last/id("id")

Beendet das Abspielen der Gruppe nach
Ende des ersten / letzten / spezifischen Clips

x
x

fill
freeze/remove
Verhalten nach Abspielen



region
Regionname
Dem Clip eine Region zuweisen
x


repeat
Anzahl
Anzahl der Wiederholungen
x
x
x
src
URL
Absolute / Relative URL der Quelle
x


Abschließend noch ein vollständiges Beispiel eines SMIL Dokuments:

Beispielquelltext



4. Integration von Smil

Im folgenden Beispiel wurde die SMIL Präsentation "test.smil" in eine HTML Seite integriert und in einem 480x640 Pixel

großen Abspielbereich angezeigt. Voraussetzung für die korrekte Anzeige der Präsentation ist allerdings, dass der

RealOne Player installiert ist.

Beispielquelltext

Da es jedoch noch an SMIL Playern und deren Verbreitung im WWW mangelt und Web Browser alleine SMIL Dokumente

nicht anzeigen können muss man sich anders behelfen. Eine Möglichkeit sie dennoch in HTML Seiten einzubetten, ist, sie wie

Real-Movies zu behandeln, da die meisten Browser über ein Realplayer Plug-in verfügen bzw.dieses einfach nachzuinstallieren

ist.

Dazu wird zunächst eine Textdatei mit der Endung .ram angelegt ( RealMovie). Diese enthält lediglich die Adresse der SMIL-Datei.

Diese wird ähnlich wie im ersten Beispiel in die HTML Seite integriert. Beim Aufruf dieser HTML-Seite wird das Real-Plug-In gestartet,

um die gewünschte Präsentation anzuzeigen.

5. Vorteile von Smil

6. Nachteile von Smil

7.1 Smil im Einsatz - Tools (Player)

Für SMIL 1.0 gab es mit HPAS im März 1998 den ersten Player überhaupt. Auch Apples Quicktime 4.1 und der Realplayer 8.0

unterstützen die erste Version von SMIL, genauso wie zahlreiche Java basierte Player wie Soja von Helio, Schmunzel von SunTREC Salzburg

und X-Smiles von TML laboratory.

Im August 2001 wird SMIL 2.0 offizielle Empfehlung des W3C ( Recommendation ). Player, die alle die komplette SMIL 2.0 Spezifikation

implementiert haben sollen sind die RealOne Platform von Realnetworks, Grins von Oratrix und RubiC von Roxia.

Da SMIL auch für Mobile Applikationen (MMS-Multimedia Messaging Service) genutzt werden kann, gibt es auch dafür eine ganze Reihe

von Playern, die diese Geräte emulieren. Ein solcher Player wäre der SMIL Player von InterObject, aber auch andere Hersteller bieten

solche Technologien.

7.2 Smil im Einsatz - Tools ( Authoring )

Programme zum Erstellen und Verändern bzw.Warten von SMIL Dokumenten gibt es seit der Empfehlung immer mehr. Teilweise sind

diese frei erhältlich wie z.B. der Tagfree 2000 SMIL Editor oder RealSlideshow Basic von Realnetworks. Doch auch kommerzielle

Software wie Adobes GoLive kommen in Frage. Doch wie gesagt, reicht auch ein ganz normaler Texteditor zum Bearbeiten aus.

Da SMIL auf XML basiert, sind XML Editoren wie XML Spy eine wertvolle Hilfe im Umgang mit großen Dokumenten.


8. Links zu SMIL

9. Quellen


Valid HTML 4.01!