Vorlesung 8: SMIL
...and more
Wie kommt das Video in das Web?
- Downloadlink
- Einbinden in die Webseite
- Videohoster
- Streaming Video
- Podcasting (resp. Vodcasting)
- Handy-Video
Streaming Server (1)
- QuickTime Streaming Server (kostenlos, nur Mac OS X)
- Flash Streaming Server (teuer, Linux und Windows)
- Kommerzielle Streaming Hoster
- Open Source Streaming mit lighttpd
Streaming Server (2)
Streaming Server (3)
Strato mit QuickTime Streaming Server (2)
- Erstellen des (einzeiligen) Referenzfiles (mit Endung .mov):
rtsptext rtsp://qt.strato.de/wu/wunschname.de/testmov.streaming.mov
- Dann auf das Referenzfile verlinken (mehr hier)
Pod- und Vodcasting (1)
Vodcaster: Podcasting ohne Weblog:
Pod- und Vodcasting (2)
It's always the same old story:
- (1) Mediadateien auf den Server laden
- (2) RSS-Feed mit einer geeigneten Software (Weblog, Vodcaster) erstellen
Vodcasting (3)
Vodcasting (4)
My Dream Team (2):
- Videohoster wie zum Beispiel Blip.tv sind ideale Partner für ein Vodcasting. Man kann sein Video mit Hilfe von Sevenload in (s)ein (WordPress-) Blog einbinden und gleichzeitig im RSS-Feed auf die Originaldatei(en) (MPEG 4) für den Vodcast verlinken.
Vodcasting (5)
My former Dream Team (3): Broadcast Machine und Miro: Die Zukunft des Internet-TV?
Vodcasting (6)
Mein aktuelles Dream-Team (4): Blip.TV und Miro: Solange es keinen Ersatz für die Broadcast Machine gibt…
Tube Mogul
Handy-Video (1)
Handy-Video (2)
Handy-Video: Das iPhone (1)
Handy-Video: Das iPhone (2)
- Liest »normales« Podcasting-Format (MPEG4 H.264)
- Kein Flash! (Auch die YouTube-Filme werden vorher nach H.264 gewandelt)
Adobe Media Player
Merken!
- Multimedia im Web ist nicht Texte und Bilder oder Video oder Audio oder Animationen oder …
- Multimedia im Web ist Texte und Bilder und Video und Audio und Animationen und …
- Wir werden das gleich bei SMIL noch einmal sehen…
(Vorläufiges) Fazit:
- RSS und damit auch alternative Clients wie iTunes oder Miro sind bei Multimedia im Web nicht wegzudenken (und werden in Zukunft noch eine stärkere Rolle spielen)
- Multimedia im Web ist erst dann »perfekt«, wenn man aus einem Zeitstrahl heraus in einen anderen Zeitstrahl hineinverlinken kann.
- Und da liegt die Chance für SMIL (hervorragende Überleitung für das nächste Thema) ;o)
Ausklang
Zum Ausklang noch einmal ein Filmchen
Mein drittes Video – da konnte ich schon Untertitel ;o)
Doch jetzt endlich...
SMIL
Neu! Neu! Neu!
W3C veröffentlicht SMIL 3.0
Mit Version 3.0 ist es jetzt möglich, multimediale Präsentationen zu anderen XML-Anwendungen hinzuzufügen, inklusive HTML und SVG. Außerdem soll die leichtgewichtige Variante von SMIL, SMIL Tiny, es vereinfachen, multimediale Applikationen auch auf mobilen oder anderen Embedded-Plattformen zu entwickeln. Und smilText ist jetzt endlich zum Standard erklärt worden. Jetzt müssen nur noch die Player nachschieben.
Erst einmal ein Beispiel
Was ist SMIL?
- Synchonized Multimedia Integration Language
- XML-Anwendung
- W3C-Standard (derz. Version 2.1)
Die wichtigsten Merkmale
- Spezifikation des Layouts und Synchronisation
- Anpassung an die Übertragungsbandbreite
- Auswahl verschiedener Sprachversionen
- Auswahl unterschiedlicher Clients
- Hyperlinks!
Merkmale (1)
Spezifikation des Layouts und Synchronisation
- SMIL gestattet es, die räumlichen und zeitlichen Beziehungen zwischen Medienobjekten genau zu spezifizieren. Zur zeitlichen Synchronisation von Medienobjekten werden diese auf einer gedachten Zeitachse angeordnet.
Merkmale (2)
Anpassung an die Übertragungsbandbreite
- Zur Berücksichtigung unterschiedlicher Übertragungsbandbreiten kann ein Entwickler bei der Erstellung einer SMIL-basierten Multimedia-Präsentation angeben, daß Medienobjekte in mehreren Varianten unterschiedlicher Dateigröße zur Verfügung stehen.
Merkmale (3)
Auswahl verschiedener Sprachversionen
- Medienobjekte können in unterschiedlichen Sprachversionen zur Verfügung gestellt werden. Ausgetauscht werden nur die Elemente, die dafür von Bedeutung sind (Audio, Text…)
Merkmale (4)
Auswahl unterschiedlicher Clients
- SMIL 2.x-Anwendungen können an unterschiedliche Ausgabegeräte angepaßt werden. Dazu existieren spezialisierte Subsets der Sprache, z.B. für mobile Clients
Merkmale (5)
Hyperlinks
- SMIL unterstützt Hyperlinks auf beliebige, d.h. auch externe Dokumente im WWW. Insofern kann SMIL als die erste Web-spezifische Multimedia-Sprache mit echter Interaktivität angesehen werden.
Merkmale (6)
- Theoretisch kann man auch direkt in einen Stream verlinken (z.B. die 30. Sekunde eines Audiofiles), die meisten Implemetierungen spielen dann allerdings die ersten 30 Sekunden stumm ab, so daß dies momentan noch wenig Nutzen bringt.
SMIL-Player
Ambulant (1)
Ambulant (2)
- Derzeitige Version:
1.82.0 - Vollständiger Support für
SMIL 2.13.0 - Lief bei einem ersten Test nicht auf meinem Rechner (1.8 läuft)
- (Experimentelles) PlugIn für Firefox (Windows only)
Ambulant (3)
- Bevorzugtes Videoformat: Div-X, spielt aber auch (die meisten) .mov und .avi (und einige andere)
- Audio: MP3 und Ogg Vorbis (Streamed)
- Bilder und Animationen: JPEG, PNG, GIF, SVG
RealPlayer (1)
RealPlayer (2)
- (Normalerweise) vorbildliche SMIL 2.1-Unterstützung, als Helix DNA mit einer Open Source Codebase.
- Die (aktuelle) Version ist 11.01 (unterstützt SMIL 21., aber noch nicht SMIL 3.0)
- Die Website von REAL versucht einen ständig auf die (kostenpflichtige) GOLD-Version zu locken
RealPlayer (3)
- Bevorzugte Video-Formate: MPEG-2, RealVideo (Streamed)
- Audio: MP3, RealAudio (Streamed)
- Bilder und Animationen: JPEG, PNG, GIF, Flash, SVG
Konvertierungstools für Real
- Mit dem RealProducer (in der Basic-Version kostenlos) lassen sich Audio- und Videodateien im Real-Format erstellen.
- Mit dem Real Export Plug-In für QuickTime (Mac only) lassen sich aus QuickTime heraus Real Audio- und Video-Dateien erstellen.
QuickTime
QuickTime (2)
- Nur SMIL 1.0 (mit herstellerspezifischen Erweiterungen)
- »SMILtext«: SMIL-Datei als .mov, daher Vodcast-fähig
QuickTime (3)
- Bevorzugte Videoformate: alles, was QuickTime kann, MPEG-4 für »streamed«
- Audio: AIFF und MP3
- Bilder und Animationen: JPEG, PNG, GIF, Flash
SMIL-Tutorial
Zielsetzung:
- Einfache Anwendung, ist in Ambulant und QuickTime lauffähig
- Einbindung von Bildern, Filmen und Links
- Zeitsteuerung
Aufbau einer SMIL-Datei
<smil>
- <head>: Enthält die Layout-Informationen </head>
- <body>: Enthält den zeitlichen Ablauf der Animation </body>
</smil>
Layout-Planung
HEAD-Section unseres Beispiels:
HEAD-Section: Elemente (1)
- <root-layout>: Legt die »Fenstergröße« des Players fest und enthält alle anderen Komponenten.
* Obwohl lt. Spezifikation möglich, sollte man keine Medieninhalte in das Root-Layout legen, da QuickTime damit nicht klarkommt.
- <region>: Container für die Medieninhalte
HEAD-Section: Elemente (2)
Root-Layout und Region können u.a. folgende Attribute besitzen:
- id (Identifier), left und top, width und height (immer paarweise)
- Region zusätzlich: z-index (wichtig bei überlappenden Regionen)
HEAD-Section: Elemente (region)
- Die Angabe von Koordinaten und Höhe und Weite (alternativ gehen auch Prozentwerte) ist für alle Regionen verbindlich
- Eine Ausnahme bildet die Audio-Region, da diese keine sichtbaren Inhalte besitzt
HEAD-Section: Elemente (region) (2)
- Der Z-Index legt die Sichtbarkeit bei überlappenden Regionen fest, der höhere Wert liegt »oben«.
- Ist kein Z-Index festgelegt, werden die Regionen von »unten nach oben« in der Reihenfolge ihrer Definition in der Head-Section »gestapelt«.
HEAD-Section: Elemente (3)
* <meta>: Metadaten, z.B. Autor, Titel und Copyright-Vermerk
- Vorsicht: Nicht alles, was in HTML erlaubt ist, ist in SMIL erlaubt!
Body-Section (1)
Die Planung des Ablaufs:
- (1) Startbild mit eingeblendetem Titel
- (2) Film mit Untertitel und Logo
- (3) Fehlermeldung
- (4) Ende und Credits
Body-Section: Der Code
Body-Section: Elemente (1)
- <seq>
* Sequenz 1
- …
- Sequenz n
* </seq>
Body-Section: Elemente (2)
- <par>
* Medienobjekt 1
- …
- Medienobjekt n
* </par>
Der (prinzipielle) Aufbau des Tutorials (1)
- <seq>
* <par>>
- 10 Sekunden Eingangs-Bild
- 8 Sekunden Titel (2 Sekunden verzögert)
- </par>
- …
Der (prinzipielle) Aufbau des Tutorials (2)
- …
- <par>
- Video mit Untertitel und Logo
- nach ca. 40 Sekunden erscheint eine Fehlermeldung
- </par>
- …
Der (prinzipielle) Aufbau des Tutorials (3):
- …
* Ende-Bild
* Credits
</seq>
Objekt-Container
- <img ...>: Bilder
* <video ...>: Video
* <html><b style="color:blue"><animation ...></b></html>: (vektorbasierte) Animationen (SVG, Flash)</li> * <html><b style="color:blue"><audio ...></b></html>: Audio * <html><b style="color:blue"><text ...></b></html>: Text * <html><b style="color:blue"><ref ...></b></html>: Alles (andere...)
Objekt-Container (2)
Attribute der Objekt-Container (Auswahl):
- src="": URI (Vorsicht bei relativen Links)
- Erlaubt sind http://, rtsp: und file:/ …
- region="": id einer in der Head-Section festgelegten Region, alle Objekte müssen einer Region zugeordnet werden.
Synchronisations-Attribute:
- begin="": Bezieht sich immer auf das letzte <seq>>
* dur="": Dauer
* end="": Bezieht sich immer auf das letzte <html><b style="color:blue"><seq></b></html>
Die Begin(ner)-Falle(n)
- Je <seq> darf es nur ein »begin« geben!!!
- Wenn der »end«-Wert kleiner ist als der »begin«-Wert, wird das Objekt nicht angezeigt.
Das »fill«-Attribut:
Verhalten beim Ende einer Sequenz
- fill="remove": Das letzte Media-Objekt wird entfernt, der Hintergrund des Root-Fensters wird sichtbar (in der Regel der Default-Wert).
- fill="freeze": Das letzte Media-Objekt bleibt sichtbar.
Objekt-Attribute: Der Hyperlink (1)
- Ähnelt dem Link in HTML: <a href="..." external="[true|false] show="[new|replace] ...">
- external="false" (Default) versucht den Link im aktuellen Player zu öffnen, external="true" öffnet den Link im Browser
- …
Objekt-Attribute: Der Hyperlink (2)
- show="new" öffnet ein neues Player-Fenster, show="false" läßt das Linkziel im gleichen Player-Fenster ablaufen.
- Das aus HTML bekannte <area>-Element wird ebenfalls unterstützt.
Objekt-Attribute: Der Hyperlink (3)
- Links und Anker sind nur gültig, solange das zugehörende Objekt existiert.
- Alternativ dazu können Links und Anker auch mit den Synchronisations-Attributen begin, end und dur versehen werden.
Das Ergebnis (wir erinnern uns...)
Wir switchen...
SMIL-Vodcasts: Der QuickTime-Trick (1)
- Wenn man an den Anfang einer SMIL (1.0)-Datei die 8 Buchstaben »SMILtext« (Groß- und Kleinschreibung beachten) setzt und die Dateiendung auf ».mov« festlegt, behandelt QuickTime die SMIL-Datei wie jede andere QuickTime-Datei.
- (Ich lasse die DOCTYPE-Deklaration dann weg, da SMIL 1.0 sie noch nicht kannte…)
SMIL-Vodcasts: Der QuickTime-Trick (2)
- Vorsicht! Abweichend vom Standard erkennt QuickTime relative Links nur bei Dateien im gleichen Directory…
- Also src="bild.jpg", aber nicht src="../images/bild.jpg".
SMIL-Vodcast (1)
SMIL-Vodcast (2)
SMIL-Vodcast (3)
…wie auch in Miro (Democracy):
Und sollte eigentlich mit (fast) jedem anderen Vodcast-Client (der .mov kann) auch funktionieren.
SMIL-Vodcast (4)
Nachteil:
- Da die Media-Dateien immer aktuell nachgeladen werden, ist eine »Mitnahme« auf ein mobiles Gerät (iPod) nicht sonderlich sinnvoll.
- Doch diesen Nachteil sollte der Switch zu UTMS-fähigen Geräten (und MMS-2 resp. 3GPP als SMIL (Mobile)-»Player«) bald zu einem Vorteil (ständige Aktualität) wandeln. ;o)
Weitere SMIL-Anwendungsgebiete
- Nachrichten, Internet-TV (für mobile Devices)
- Präsentationen, Kiosk-Systeme (in Ausstellungen etc.)
- …
Quellen (1)
Wenn Sie jetzt Lust bekommen haben sollten, selber mit SMIL zu experimentieren, helfen Ihnen folgende Quellen weiter:
- Dirk C.A. Bultermann, Lloyd Rutledge: SMIL 2.0 — Interactive Multimedia for Web and Mobile Devices, Berlin - Heidelberg - New York (Springer) 2008. Die ultimative Referenz zu SMIL 3.0 geschrieben von den Machern des Ambulant-Players. Ein Muß für jeden, der sich intensiver mit SMIL auseinandersetzen will.
Auch wenn ich das SMIL-Buch trotz seines Preises unbedingt empfehle, mit den folgenden frei im Netz erhältlichen Texten können Sie schon eine Menge mit SMIL anstellen. Probieren Sie es aus, es macht Spaß…
(Freie) Quellen
- Jörg Kantel: SMIL Tutorial: Vodcasting mit SMIL (Teil 1) und (Teil 2). Der 2. Teil dürfte Ihnen sehr bekannt vorkommen. ;o)
- Wolfgang von Keitz: Das SMIL 2.0 - Textbuch 2005
- Apples Inside QuickTime: QuickTime and SMIL. Hier ist der gesamte SMIL-Sprachumfang dokumentiert, mit dem QuickTime umgehen kann. Doch Vorsicht: Einige (eigentlich alle) der Spracherweiterungen versteht aber auch nur QuickTime.
Fragen?
Danke!
- Danke für Ihre Aufmerksamkeit!








