84
Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE TECHNISCHE UNIVESITÄT, COTTBUS STUDIENGANG INFORMATIONS- UND MEDIENTECHNIK eingereicht von: Volkmar Kantor Matrikel-Nr.: 22 07 880 Betreuer: Professor Dr. Gerd Wagner Spremberg, 12. September 2005

Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

Die Multimedia-Integrationssprache SMIL:

Sprachdefinition, Tools und

Anwendungsbeispiele

Bachelorarbeit

BRANDENBURGISCHE TECHNISCHE UNIVESITÄT, COTTBUS

STUDIENGANG

INFORMATIONS- UND MEDIENTECHNIK

eingereicht von: Volkmar Kantor Matrikel-Nr.: 22 07 880 Betreuer: Professor Dr. Gerd Wagner Spremberg, 12. September 2005

Page 2: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

Eidesstattliche Erklärung Ich, Volkmar Kantor, erkläre hiermit an Eides statt, dass ich die vorliegendeBachelorarbeit selbstständig und ohne unerlaubte Hilfe angefertigt habe, andere alsdie angegebenen Quellen und Hilfsmittel nicht benutzt und die den benutztenQuellen wörtlich und inhaltlich entnommenen Stellen als solche kenntlich gemachthabe. Spremberg, 12. September 2005

Page 3: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE
Page 4: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

Inhaltsverzeichnis1. Einleitung .....................................................................................................................12. Geschichtliche Entwicklung von SMIL und Einordnung in die allgemeineEntwicklung .....................................................................................................................2

2.1. Entwicklung von SMIL .....................................................................................22.2. Das W3-Konsortium .........................................................................................32.3. Beziehung zwischen SVG und SMIL ...............................................................42.4. Beziehung zwischen XML und SMIL ..............................................................42.5. Streaming ..........................................................................................................5

3. Beschreibung der SMIL-Struktur ................................................................................63.1. Zur SMIL-Version ............................................................................................63.2. Der modulare Aufbau des SMIL Frameworks ..................................................63.3. Grundlegender Aufbau einer SMIL Datei ........................................................7

3.3.1. <smil> ....................................................................................................83.3.2. <head> ...................................................................................................93.3.3. <body> ...................................................................................................9

3.4. Head Elemente ................................................................................................103.4.1. Primäre Head Elemente .......................................................................10

3.4.1.1. <customAttributes> ..................................................................103.4.1.2. <layout> ....................................................................................103.4.1.3. <meta> ......................................................................................113.4.1.4. <metadata> ................................................................................123.4.1.5. <transition> ...............................................................................13

3.4.2. Untergeordnete Head Elemente ...........................................................143.4.2.1. <region> ....................................................................................143.4.2.2. <root-layout> ............................................................................153.4.2.3. <topLayout> ..............................................................................153.4.2.4. <regPoint> ................................................................................163.4.2.5. <customTest> ............................................................................17

3.5. Body Elemente ................................................................................................173.5.1. Primäre Body Elemente .......................................................................17

3.5.1.1. <par> .........................................................................................173.5.1.2. <seq> .........................................................................................183.5.1.3. <excl> .......................................................................................183.5.1.4. Medienobjekte ...........................................................................19

3.5.1.4.1. <img> .............................................................................213.5.1.4.2. <ref> ...............................................................................213.5.1.4.3. <audio> ..........................................................................213.5.1.4.4. <video> ..........................................................................213.5.1.4.5. <text> .............................................................................213.5.1.4.6. <textstream> ..................................................................223.5.1.4.7. <animation> ...................................................................233.5.1.4.8. <brush> ..........................................................................23

3.5.1.5. <a> ............................................................................................233.5.1.6. <switch> ....................................................................................24

3.5.1.6.1. Das "switch"-Element im "head"-Element ....................243.5.1.6.2. Das "switch"-Element im "body"-Element ....................25

3.5.1.7. Animation Modu-Elemente ......................................................253.5.1.7.1. <animate> ......................................................................26

IV

Page 5: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

3.5.1.7.2. <animateColor> .............................................................273.5.1.7.3. <animateMotion> ...........................................................273.5.1.7.4. <set> ...............................................................................27

3.5.1.8. <prefetch> .................................................................................283.5.2. Untergeordnete Body-Elemente ...........................................................28

3.5.2.1. <anchor> ...................................................................................283.5.2.2. <area> .......................................................................................283.5.2.3. <param> ....................................................................................303.5.2.4. <priorityClass> .........................................................................31

3.6. Attribute ..........................................................................................................323.6.1. Universalattribute .................................................................................32

3.6.1.1. id ...............................................................................................323.6.1.2. class ...........................................................................................323.6.1.3. skip-content ( "true" / "false" ) ..................................................323.6.1.4. xml:lang ....................................................................................333.6.1.5. xmlns .........................................................................................33

3.6.2. Farbattribute .........................................................................................333.6.3. Timing- und Synchronisation-Attribute ...............................................33

3.6.3.1. Syntax von Zeitangaben ............................................................333.6.3.2. begin ..........................................................................................353.6.3.3. end .............................................................................................353.6.3.4. dur .............................................................................................353.6.3.5. max ............................................................................................353.6.3.6. min ............................................................................................353.6.3.7. repeatCount ...............................................................................353.6.3.8. repeatDur ...................................................................................363.6.3.9. restart .........................................................................................363.6.3.10. restartDefault ...........................................................................363.6.3.11. fill ............................................................................................363.6.3.12. fillDefault ................................................................................363.6.3.13. endsync ...................................................................................373.6.3.14. syncBehavior ...........................................................................373.6.3.15. syncBehaviorDefault ...............................................................373.6.3.16. syncTolerance .........................................................................383.6.3.17. syncToleranceDefault .............................................................383.6.3.18. syncMaster ..............................................................................38

3.6.4. Testattribute .........................................................................................383.6.4.1. systemAudioDesc .....................................................................393.6.4.2. systemBitrate .............................................................................393.6.4.3. systemCaptions .........................................................................393.6.4.4. systemComponent .....................................................................393.6.4.5. systemCPU ................................................................................393.6.4.6. systemLanguage ........................................................................393.6.4.7. systemOperatingSystem ............................................................403.6.4.8. systemOverdubOrSubtitle .........................................................403.6.4.9. systemRequired .........................................................................403.6.4.10. systemScreenDepth .................................................................403.6.4.11. systemScreenSize ....................................................................40

3.7. Änderungen in der SMIL Version 2.1 ............................................................403.7.1. Überarbeitete und neu erstellte Module ...............................................413.7.2. Überblendeffekte (im Animation-Modul) ............................................41

3.7.2.1. Vollbildüberblenden .................................................................413.7.2.2. Zusätzliche Effekte ...................................................................41

Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools undAnwendungsbeispiele

V

Page 6: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

3.7.3. Das zusätzliche Element "paramGroup" ..............................................413.7.4. Subregionen .........................................................................................413.7.5. Das "BackgroundTilingLayout"-Modul ..............................................423.7.6. Das "AlignmentLayout"-Modul ...........................................................42

4. Software für Wiedergabe und Bearbeitung ................................................................434.1. Wiedergabegeräte ...........................................................................................43

4.1.1. Ambulant Player 1.4 ............................................................................434.1.2. RealPlayer 10 von RealNetworks ........................................................434.1.3. Grins Player von Oratrix ......................................................................444.1.4. QuickTime von Apple ..........................................................................444.1.5. X-Smiles ..............................................................................................444.1.6. Browserplugins ....................................................................................444.1.7. Internet Explorer (XHTML + SMIL) ..................................................464.1.8. Inria PocketSMIL 2.0 ...........................................................................47

4.2. Editoren ...........................................................................................................474.2.1. Adobe GoLive CS2 ..............................................................................474.2.2. Grins Pro Editor ...................................................................................484.2.3. Limsee 2 ...............................................................................................494.2.4. Oxygen .................................................................................................50

5. Komplexbeispiele ......................................................................................................535.1. Einleitung ........................................................................................................535.2. Demonstration von par,seq und animate (par-seq-animate.smil) ...................535.3. Testdatei für Überblendeffekte - "transition_test.smil" ..................................535.4. Anzeige von Flash-Movies und länderspezifische Ausgaben (animation.smil).................................................................................................................................545.5. Beispiel zu den Fähigkeiten des Exklusiven Zeitcontainers (excl.smil) .........555.6. XHTML- + SMIL-Beispiele (xhtml_test.smil) ..............................................56

6. Zusammenfassung und abschließende Bemerkungen ...............................................57A. ....................................................................................................................................59

A.1. Abkürzungsverzeichnis und Begriffserklärung .............................................59A.2. Literaturverzeichnis .......................................................................................59A.3. Arten von "transition" und die benötigten Attribute ......................................61A.4. Länder-Sprachcodes .......................................................................................71

Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools undAnwendungsbeispiele

VI

Page 7: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools undAnwendungsbeispiele

VII

Page 8: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

Abbildungsverzeichnis3.1. Grafische Darstellung des Beispiels zum "layout"-Element ..................................103.2. Ausgabe des obigen Anwendungsbeispiels (Player: RealPlayer 10) ......................163.3. Darstellung des zeitlichen Ablaufs .........................................................................183.4. Zeitablaufdiagramm "linear" ..................................................................................263.5. Zeitablaufdiagramm "discrete" ...............................................................................263.6. Zeitablaufdiagramm "paced" ..................................................................................263.7. Grafische Darstellung der Verlinkung durch "area" ...............................................293.8. Grafische Darstellung des Beispiels .......................................................................344.1. Screenshot von Adobe GoLive CS2 (Testversion) .................................................484.2. Screenshot vom Grins Editor (Testversion) ............................................................494.3. Screenshot von Limsee 2 ........................................................................................504.4. Screenshot von Oxygen ..........................................................................................525.1. Präsentation mit der Playereinstellung "English" (im RealPlayer) .........................55A.1. "leftToRight" (1) [default] .....................................................................................61A.2. "topToBottom" (2) .................................................................................................61A.3. "topLeft" (3) [default] ............................................................................................62A.4. "bottomRight" (5) ..................................................................................................62A.5. "topCenter" (23) .....................................................................................................62A.6. "bottomCenter" (25) ...............................................................................................62A.7. "topRight" (4) .........................................................................................................62A.8. "bottomLeft" (6) .....................................................................................................62A.9. "rightCenter" (24) ..................................................................................................62A.10. "leftCenter" (26) ...................................................................................................62A.11. "cornersIn" (7) [default] .......................................................................................62A.12. "cornersOut" (8) ...................................................................................................62A.13. "vertical" (21) [default] ........................................................................................62A.14. "diagonalBottomLeft" (45) ..................................................................................62A.15. "horizontal" (22) ..................................................................................................62A.16. "diagonalTopLeft" (46) ........................................................................................62A.17. "topLeft" (41) [default] ........................................................................................63A.18. "topRight" (42) .....................................................................................................63A.19. "vertical" (43) [default] ........................................................................................63A.20. "horizontal" (44) ..................................................................................................63A.21. "doubleBarnDoor" (47) [default] .........................................................................63A.22. "doubleDiamond" (48) .........................................................................................63A.23. "down" (61) [default] ...........................................................................................63A.24. "up" (63) ...............................................................................................................63A.25. "left" (62) .............................................................................................................63A.26. "right" (64) ...........................................................................................................63A.27. "down" (65) [default] ...........................................................................................63A.28. "up" (67) ...............................................................................................................63A.29. "left" (66) .............................................................................................................63A.30. "right" (68) ...........................................................................................................63A.31. "leftToRight" (71) [default] .................................................................................64A.32. "topToBottom" (72) .............................................................................................64A.33. "vertical" (73) [default] ........................................................................................64A.34. "horizontal" (74) ..................................................................................................64A.35. "rectangle" (101) [default] ...................................................................................64A.36. "diamond" (102) ...................................................................................................64

VIII

Page 9: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

A.37. "up" (103) [default] ..............................................................................................64A.38. "down" (105) ........................................................................................................64A.39. "right" (104) .........................................................................................................64A.40. "left" (106) ...........................................................................................................64A.41. "up" (107) [default] ..............................................................................................64A.42. "down" (109) ........................................................................................................64A.43. "right" (108) .........................................................................................................64A.44. "left" (110) ...........................................................................................................64A.45. "up" (111) [default] ..............................................................................................65A.46. "down" (112) ........................................................................................................65A.47. "horizontal" (113) [default] ..................................................................................65A.48. "vertical" (114) .....................................................................................................65A.49. "circle" (119) [default] .........................................................................................65A.50. "vertical" (121) .....................................................................................................65A.51. "horizontal" (120) ................................................................................................65A.52. "horizontal" (122) [default] ..................................................................................65A.53. "vertical" (123) .....................................................................................................65A.54. "horizontal" (124) [default] ..................................................................................65A.55. "vertical" (125) .....................................................................................................65A.56. "fourPoint" (127) [default] ...................................................................................65A.57. "sixPoint" (129) ....................................................................................................66A.58. "fivePoint" (128) ..................................................................................................65A.59. "heart" (130) [default] ..........................................................................................66A.60. "keyhole" (131) ....................................................................................................66A.61. "clockwiseTwelve" (201) [default] ......................................................................66A.62. "clockwiseSix" (203) ...........................................................................................66A.63. "clockwiseThree" (202) .......................................................................................66A.64. "clockwiseNine" (204) .........................................................................................66A.65. "twoBladeVertical" (205) [default] ......................................................................66A.66. "fourBlade" (207) .................................................................................................66A.67. "twoBladeHorizontal" (206) ................................................................................66A.68. "clockwiseTop" (221) [default] ...........................................................................66A.69. "clockwiseBottom" (223) .....................................................................................67A.70. "clockwiseTopLeft" (241) ....................................................................................67A.71. "clockwiseBottomRight" (243) ............................................................................67A.72. "clockwiseRight" (222) ........................................................................................66A.73. "clockwiseLeft" (224) ..........................................................................................67A.74. "counterClockwiseBottomLeft" (242) .................................................................67A.75. "counterClockwiseTopRight" (244) ....................................................................67A.76. "centerTop" (211) [default] ..................................................................................67A.77. "top" (231) ............................................................................................................67A.78. "bottom" (233) .....................................................................................................67A.79. "centerRight" (212) ..............................................................................................67A.80. "right" (232) .........................................................................................................67A.81. "left" (234) ...........................................................................................................67A.82. "fanOutVertical" (213) [default] ..........................................................................67A.83. "fanInVertical" (235) ...........................................................................................68A.84. "fanOutHorizontal" (214) ....................................................................................67A.85. "fanInHorizontal" (236) .......................................................................................68A.86. "parallelVertical" (225) [default] .........................................................................68A.87. "oppositeVertical" (227) ......................................................................................68A.88. "parallelDiagonalTopLeft" (245) .........................................................................68A.89. "parallelDiagonal" (226) ......................................................................................68

Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools undAnwendungsbeispiele

IX

Page 10: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

A.90. "oppositeHorizontal" (228) ..................................................................................68A.91. "parallelDiagonalBottomLeft" (246) ...................................................................68A.92. "top" (251) [default] .............................................................................................68A.93. "bottom" (253) .....................................................................................................68A.94. "left" (252) ...........................................................................................................68A.95. "right" (254) .........................................................................................................68A.96. "right" (261) [default] ..........................................................................................68A.97. "vertical" (263) .....................................................................................................69A.98. "up" (262) .............................................................................................................68A.99. "horizontal" (264) ................................................................................................69A.100. "topLeftHorizontal" (301) [default] ...................................................................69A.101. "topLeftDiagonal" (303) ....................................................................................69A.102. "bottomRightDiagonal" (305) ............................................................................69A.103. "topLeftVertical" (302) ......................................................................................69A.104. "topRightDiagonal" (304) ..................................................................................69A.105. "bottomLeftDiagonal" (306) ..............................................................................69A.106. "topLeftClockwise" (310) [default] ...................................................................69A.107. "bottomRightClockwise" (312) ..........................................................................69A.108. "topLeftCounterClockwise" (314) .....................................................................69A.109. "bottomRightCounterClockwise" (316) .............................................................70A.110. "topRightClockwise" (311) ................................................................................69A.111. "bottomLeftClockwise" (313) ............................................................................69A.112. "topRightCounterClockwise" (315) ...................................................................69A.113. "bottomLeftCounterClockwise" (317) ...............................................................70A.114. "verticalTopSame" (320) [default] .....................................................................70A.115. "verticalTopLeftOpposite" (322) .......................................................................70A.116. "horizontalLeftSame" (324) ...............................................................................70A.117. "horizontalTopLeftOpposite" (326) ...................................................................70A.118. "diagonalBottomLeftOpposite" (328) ................................................................70A.119. "verticalBottomSame" (321) ..............................................................................70A.120. "verticalBottomLeftOpposite" (323) ..................................................................70A.121. "horizontalRightSame" (325) .............................................................................70A.122. "horizontalTopRightOpposite" (327) .................................................................70A.123. "diagonalTopLeftOpposite" (329) .....................................................................70A.124. "twoBoxTop" (340) [default] .............................................................................70A.125. "twoBoxLeft" (342) ...........................................................................................71A.126. "fourBoxVertical (344) ......................................................................................71A.127. "twoBoxBottom" (341) ......................................................................................70A.128. "twoBoxRight" (343) .........................................................................................71A.129. "fourBoxHorizontal" (345) ................................................................................71A.130. "verticalLeft" (350) [default] .............................................................................71A.131. "horizontalLeft" (352) ........................................................................................71A.132. "verticalRight" (351) ..........................................................................................71A.133. "horizontalRight" (353) ......................................................................................71

Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools undAnwendungsbeispiele

X

Page 11: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

Tabellenverzeichnis3.1. Eine Auflistung einiger möglicher Werte für "name" und "content" .....................113.2. Unterstütze Bildformate und deren Elemente (für den RealPlayer 10) ..................203.3. Grafische Darstellung des Attributes "calcMode" ..................................................253.4. Alle möglichen Werte von endsync und ihre Bedeutung: ......................................373.5. AudioTransitions .....................................................................................................41A.1. Arten von "transition" ............................................................................................61A.2. Auszug aus den Länder Sprachcodes .....................................................................71

XI

Page 12: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

Beispiele2.1. Einige einfache Codebeispiele zur "Scalable Vector Graphic" ................................42.2. SMIL-Datei mit Referenz auf den Livestream des Radiosenders "Radio 1" ............53.1. Schematischer Aufbau einer SMIL-Datei .................................................................83.2. Beispiel zum Einbinden eines erweiterten Namensraumes ......................................83.3. Beispiel zum Gebrauch des Elementes "layout": ....................................................103.4. Mittels CSS kann eine Region so beschrieben werden: ..........................................103.5. Beispiel zur Beziehung von "layout" und "switch" ................................................113.6. Beispiel zum Gebrauch von <meta> .......................................................................123.7. Beispiel zur Anwendung von "transition" und dem Gebrauch von "transIn" .........133.8. Beispiel zum Gebrauch des Elementes "region" ....................................................143.9. Anwendungsbeispiel zum Element "regPoint" .......................................................163.10. Beispiel zur Schachtelung von "seq" und "par" ....................................................183.11. Beispiel zum Gebrauch von "excl" zum Erstellen von interaktiven Untertiteln ..193.12. Beispiel für den Aufbau einer RealText-Datei .....................................................223.13. Beispiel für den Aufbau einer RealText-Datei mit dem Typ "Tickertape" ..........223.14. Beispiel zur Anwendung des "switch"-Elementes ................................................253.15. Beispiel zum Gebrauch von "animate" .................................................................273.16. Beispiel zum Gebrauch von "animateColor" ........................................................273.17. Beispiel zum Gebrauch von "area" zur Verlinkung von Teilflächen ...................283.18. Beispiel zur Gebrauch von "area" zur zeitabhängigen Verlinkung ......................293.19. Beispiel zum Gebrauch von "area" als Sprungziel ...............................................293.20. Beispiel zum Gebrauch von "param" ....................................................................303.21. Einige Beispiel zur Angabe von Zeitwerten .........................................................333.22. Anwendung von Timing-Attributen im Element "par" ........................................343.23. Beispiel für den Einsatz von "systemCaptions" als "inline"-Attribut ...................384.1. Einbetten für RealPlayer .........................................................................................454.2. Einbetten für Quicktime ..........................................................................................454.3. Schematischer Aufbau eines XHTML + SMIL Dokumentes für den IE 5.5 .........464.4. Beispiel zum Gebrauch von XHTML + SMIL Elementen .....................................46

XII

Page 13: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

1Quelle: Selfhtml zum Thema Flash [http://de.selfhtml.org/intro/technologien/flash.htm] (vom 09.08.2005)2Quelle: W3C Pressemeldung [http://www.w3c.de/Press/uaag10-pressrelease1.html]

Kapitel 1. EinleitungBeim Erstellen von multimedialen Präsentationen ergeben sich anfangs immer einigegrundlegende Fragestellungen. "Welches Programm soll genutzt werden?" und in diesemZusammenhang auch "In welchem Dateiformat werde ich das Projekt abspeichern können?"oder "Inwieweit lässt sich das Projekt mit anderen Programmen weiterverarbeiten?". ImZeitalter des World Wide Web's kommen noch zusätzliche Fragen hinzu, wie z.B. "Unterwelchen Umständen kann ich eine multimediale Präsentation meines Unternehmes imInternet veröffentlichen?".

Eine mögliche Variante die verschiedensten Medien miteinander zu verknüpfen undchronometrisch anzuordnen ist die "Synchronized Multimedia Integration Language" (kurzSMIL - gesprochen wie das englische Wort "smile"). SMIL-Präsentationen können mitverschiedenen grafischen Editoren erstellt werden oder mit Hilfe eines einfachen Texteditor.

SMIL entstand aus dem Gedanken heraus ein offenes XML-basiertes Format zu entwickelnmit dem eine barrierefreie Anordnung und Organisation von Multimediainhalten möglich ist.Die Sprache sollte XML-konform, der HTML-Syntax ähnlich und leicht zu erlernen sein. Siesollte es erlauben interaktive Medieninhalte zu erstellen, zu gruppieren, zu animieren undzeitlich exakt zu positionieren. Als konkrete Einsatzgebiete wurden das Internet und mobileGeräte angesehen.

Bei der Entwicklung von SMIL stand im Vordergrund, dass es sich um ein Format handelt,welches unter Führung des W3C, des World Wide Web Consortiums, weiterentwickelt wird.Durch seine medialen Eigenschaften steht das SMIL-Format auch in Konkurenz zu Flash.Das Flash-Format dient ebenfalls der Darstellung von multimedialen Inhalten und ist etwasälter als SMIL. Es begann sich gerade durchzusetzen als die erste SMIL-Version entwickeltwurde. Flash ist ein proprietäres Format, d.h. die Weiterentwicklung bleibt der FirmaMacromedia vorbehalten. Es bleibt der Firma selbst überlassen ob und in welcher Art undWeise ihr Produkt weiterentwickelt wird oder ob sie die Entwicklung einstellt. Die Zukunftvon Flash hängt somit maßgeblich von der Firma Macromedia ab. Eine solche Abhängigkeitkann unter Umständen nachteilig sein. Darüber hinaus bietet Flash bis heute keine effektivMöglichkeit Informationen barrierefrei darzustellen.1

Unter einem barrierefreiem Internet versteht man Angebote, die sowohl von Menschen mitBehinderungen, Menschen mit altersbedingten Schwächen (wie Hör- oder Sehschwächen),aber auch von automatischen Suchprogrammen uneingeschränkt genutzt werden können. DieMittel bereitzustellen um Barrierefreiheit zu schaffen ist eines der grundlegenden Ziele desW3C.2 Von daher ist es nur selbstverständlich, dass bereits bei der Entwicklung der erstenSMIL-Version darauf geachtet wurde die Webzugänglichkeit für alle Nutzer zu unterstützen.

Diese Bachelorarbeit hat ihren primären Focus auf die Anwendbarkeit von SMIL im Internet.In Kapitel 2 wird näher auf die Entwicklung von SMIL eingegangen. Das darananschließende Kapitel befasst sich mit dem SMIL-Framework, der Syntax und der Semantik.Hier werden die Elemente und Attribute erklärt, durch die eine Präsentation ermöglicht wird.In Kapitel 4 werden die gebräuchlichsten Editoren und Abspielgeräte vorgestellt undbewertet. Das danach folgende Kapitel verdeutlicht in einigen Beispiele die Interaktion derElemente und Attribute innerhalb von komplexen Präsentationen. Abschließend wird im 6.Kapitel eine Zusammenfassung der Ergebnisse gegeben.

1

Page 14: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

1Quelle: W3C - erster Arbeitsentwurf zu SMIL [http://www.w3.org/TR/WD-smil-971109]2Quelle: W3C SMIL Version 1.0 [http://www.w3.org/TR/1998/REC-smil-19980615/]3Quelle: W3C SMIL Boston Spezifikation[http://www.w3.org/1999/08/WD-smil-boston-19990803/Introduction/introduction.html]4Quelle: W3C Beschreibung des Basic Profils[http://www.w3.org/TR/2001/REC-smil20-20010807/smil-basic.html#smilBasicNS-Basic]

Kapitel 2. Geschichtliche Entwicklung von SMILund Einordnung in die allgemeine Entwicklung

2.1. Entwicklung von SMILDie Arbeiten an der Multimediasprache begannen bereits im Jahre 1997. Der ersteveröffentlichte Arbeitsentwurf wurde am 09.11.1997 von der "Synchronized MultimediaWorking Group" (SYMM WG) ins Internet gestellt. Als "SYMM WG" wird dieAutorengruppe bezeichnet, die sich mit der Weiterentwicklung von SMIL beschäftigt. Sieumfasste anfangs gerade einmal 12 Personen. Bereits damals beteiligt waren RealNetworks,Microsoft und Netscape.

Im ersten Arbeitsentwurf sind viele Elemente, Attribute und Vorgänge beschrieben, wie sieauch in der Version 1.0 vorkommen. Es werden sowohl Elemente wie z.B. "par", "seq", "ref","audio" und "text" im Gebrauch erklärt als auch der Einsatz von Testattributen und dasSetzen von Timing- und Synchronisationsparametern. Der Aufbau von Elementen wird nochvorrangig über "BNF's" erklärt anstatt, wie in der späteren Empfehlung, textuell.1

Circa ein dreiviertel Jahr später, am 15.07.1998 wird die erste Empfehlung derMultimediasprache SMIL 1.0 veröffentlicht. Die Größe der Autorengruppe ist inzwischen auf25 Personen angestiegen. Mit Version 1.0 sind grundsätzliche Präsentationen möglich, esfehlen jedoch noch Module, die z.B. das Animieren von Bewegungen und das Anwenden vonÜberblendeffekte ermöglichen. Auch die Möglichkeiten der Interaktivität sind nochbeschränkt.2

Zwei Jahre nach erscheinen der Version 1.0 erscheint der erste Arbeitsentwurf zur Version2.0. Am SMIL-Standard wurde aber auch schon vorher weitergearbeitet. Die sogenannteBoston Spezifikation befasste sich seit 1999 damit SMIL in Modulen aufzubauen, die besserwiederverwendbar sind. Außerdem wird es möglich Animationen zu integrieren und dieInteraktivität wird durch das "Document Object Modul" (DOM) erweitert. SMIL-Bostonwurde nur bis zum Status Arbeitsentwurf entwickelt, danach flossen die Ergebnisse derArbeit in die Spezifizierung von SMIL 2.0 ein.3

Die Version 2.0 erhielt am 07.08.2001 den Status "Empfehlung" und istRückwärtskompatibel zu SMIL 1.0. Die Spezifikation umfasst 45 Module die zusammen dasSMIL Sprach Profil (engl. "SMIL Language Profil") ausmachen. Speziell für den Einsatz aufmobilen Endgeräten gibt es eine reduzierte Version, die nicht den komplettenFunktionsumfang enthält. Das Basic Language Profil umfasst nur 10 der 45 Module.Bekanntestes Anwendungsbeispiel des Basic Language Profils ist der MMS-Dienst imMobilfunkbereich, der auf Basis dieser Module realisiert wird. An der Version wirkten 20Personen aus den Firmen RealNetworks, Oratrix, Intel, Macromedia, RealNetworks, W3C,INRIA, IBM, Panasonic, Microsoft, CWI und Philips mit. Viele dieser Unternehmen botensehr schnell Abspiel- bzw. Editorprogramme an.4

Fast vier Jahre nach Erscheinen von SMIL 2.0 veröffentlichte das W3-Konsortium im Januardiesen Jahres (2005) die "SMIL 2.0 Second Edition". Hierbei handelt es sich nicht um eineneue SMIL-Version sondern um die überarbeitete SMIL 2.0 Version. Wie nach jederEmpfehlung wurde auch hier nach und nach eine Liste von Fehlern gefunden. Die Fehlerliste

2

Page 15: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

5Quelle: W3C Fehlerliste zu SMIL 2.0 [http://www.w3.org/2001/07/REC-SMIL20-20010731-errata]6Quelle: W3C Informationen zur SMIL 2.0 Second Edition [http://www.w3.org/TR/2005/REC-SMIL2-20050107/]7Quelle: W3C Beschreibung zu SMIL 2.1 [http://www.w3.org/TR/2005/CR-SMIL2-20050513/]8Quellen: Die freie Enzyklopädie Wikipedia über das W3C [http://de.wikipedia.org/wiki/W3c] (09.08.2005)9Quellen: W3C Informationen zur Organisation [http://www.w3c.de/info.html] (09.08.2005)10Quellen: W3C Informationen zur Organisation [http://www.w3c.de/about/overview.html] (09.08.2005)

enthält 54 Einträge und umfasst sowohl Fehler in der W3C-Beschreibung, als auch in der"DTD" von SMIL. In der "Second Edition" wurden die Fehler behoben und somit ersetztdiese Version die vorhergehende, daher auch die Bezeichnung.56

SMIL 2.0 wird derzeit gerade zur Version 2.1 überarbeitet. Das Dokument steht kurz vor derVollendung und hat derzeit den Status Empfehlungskandidat. In der neuen Version werdeneinige wenige Module überarbeitet, außerdem kommen neue Sprachprofile für mobileAbspielgeräte hinzu. Der Großteil des SMIL 2.0 Standards bleibt jedoch in der Version 2.1erhalten.7

2.2. Das W3-KonsortiumDas W3-Konsortium, ist ein Gremium zur Standardisierung von Techniken die das "WorldWide Web" betreffen. Es wurde 1994 gegründet und besteht aus circa 60 eigenenMitarbeitern und vielen Vertretern großer Softwarehäuser, die im BereichInternettechnologien tätig sind. Gründer und heutiger Vorsitzender der Organisation ist TimBerners-Lee, der Erfinder des "World Wide Web". Das Ziel ist es, in Zusammenarbeit mitden Firmen, einheitliche Spezifikationen, Richtlinien, Software und Tools für das Arbeitenund Präsentieren im "WWW" zu entwickeln und so eine Durchdringung vonIndividualtechnologien einzelner Firmen zu vermeiden. Darüber hinaus soll das Internet fürjeden Menschen uneingeschränkt nutzbar sein. Das Konsortium strebt daher stark nachBarrierefreiheit und Sicherheit für alle Nutzer.8

Das W3C hat sich folgende fünf vorrangige Aufgabengebiete gesetzt.• Architecture Domain ("DOM", "Jigsaw", "XML", "XML Protocol", "URI")• Document Formats Domain ("HTML", "Style Sheets", "Math", "Grafik",

"Internationalisierung", "Amaya")• Interaction Domain (Device Independence, synchronisierte Multimediaanwendungen,

Voice Browser)• Technology and Society Domain (Digitale Signaturen, Metadaten, elektronisches Geld,

Datenschutz und Datensicherheit)• WAI - Web Accessibility Initiative (Webzugänglichkeit)

Die Ergebnisse der Arbeit werden im Internet veröffentlicht und zur Diskussion freigegeben.Dabei wird unterschieden nach dem Status des Ergebnisses. Folgende Stadien werdendurchlaufen: Working Draft (Arbeitsentwurf), Last Call (letzter Aufruf), CandidateRecommendation (Empfehlungskandidat), Proposed Recommendation(Empfehlungsvorschlag) und schließlich Recommendation, die finale Empfehlung.

Bisher wurden circa 80 Empfehlungen in verschiedenen Bereichen erstellt. Zu denbekanntesten Spezifikationen im Bereich der Dateidefinitionen gehören "CSS", "HTML","XHTML", "XML", "SMIL", "PNG", "SVG" und "MathML".910

Geschichtliche Entwicklung von SMIL und Einordnung in die allgemeine Entwicklung

3

Page 16: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

11Quelle: Die freie Enzyklopädie Wikipedia zum Thema SVG [http://de.wikipedia.org/wiki/Scalable_Vector_Graphics](am 09.08.2005)12W3C Empfehlung des SVG-Formates (1.1) [http://www.w3.org/TR/2003/REC-SVG11-20030114/]13W3C Empfehlung des SVG-Formates (1.2) [http://www.w3.org/TR/2005/WD-SVG12-20050413/]14Quelle: Wikipedia zum Thema "Scalable Vector Graphic" [http://de.wikipedia.org/wiki/Scalable_Vector_Graphics]15Auszug aus Wikipedia über XML [http://de.wikipedia.org/wiki/Xml] (07.08.2005)

2.3. Beziehung zwischen SVG und SMILNeben SMIL wurde im W3C unter anderem auch an einem vektorbasierten Grafikformat mitdem Namen "Scalable Vector Graphics", kurz SVG, gearbeitet. Dieses Format soll esermöglichen komplexe Vektorgrafiken im "XML"-Format zu speichern. GrundlegendeElemente sind Pfade, also Gruppen von Vektoren, welche eine Linie oder Form beschreiben.SVG ermöglicht aber auch auf vorgegebene Formen wie Rechtecke, Kreise, Ellipsen,Polylinien, Polygone und Text zurückzugreifen. Der erste Arbeitsentwurf zu SVG wurde am11.02.1999 veröffentlicht. Die aktuelle Version 1.1 hat am 14.01.2003 den Status"Empfehlung" erhalten und derzeit wird an der Version 1.2 gearbeitet, welche bisher aber nurals Arbeitsentwurf vorliegt. SVG arbeitet bei der Darstellung von Animationen mit einemSMIL-Modul. Durch die Möglichkeit der Animationen und die Darstellung der Interaktivität,gilt SVG als Alternative zu "Flash", wenn auch SVG bisher im "WWW" kaum kommerziellgenutzt wird.111213

Beispiel 2.1. Einige einfache Codebeispiele zur "Scalable Vector Graphic"14

<circle cx="100" cy="100" r="50" /><!--Kreis--><rect x="100" y="100" width="100" height="200" /><!--Rechteck--><line x1="100" y1="100" x2="200" y2="200" /><!--Linie-->

<!--Absolut beschriebener Pfad--><path d="M 10 10 L 20 20 18 22 C 24 28 14 25 10 40 Q 20 45 15.33 60" />

Von Seiten des W3C ist vorgesehen SVG zu einem späteren Zeitpunkt innerhalb von SMILverwenden zu können. Es ist denkbar den SVG-Code durch eine"XML"-Namespace-Erweiterung direkt in die SMIL-Datei zu schreiben. Alternativ ließe sicheine externe Datei über das Referenzelement "ref" in die SMIL-Datei einbinden. Die zweiteVariante ist bereits jetzt möglich. Allerdings existiert derzeit noch kein Programm, welchesSVG innerhalb einer SMIL-Datei wiedergeben könnte.

2.4. Beziehung zwischen XML und SMILDie "Extensible Markup Language", abgekürzt "XML", ist ein Standard zur Erstellungmaschinen- und menschenlesbarer Dokumente in Form einer Baumstruktur. "XML" definiertdabei die Regeln für den Aufbau solcher Dokumente. Für einen konkreten Anwendungsfall("XML-Anwendung") müssen die Details der jeweiligen Dokumente spezifiziert werden. Diesbetrifft insbesondere die Festlegung der Strukturelemente und ihre Anordnung innerhalb desDokumentenbaums. "XML" ist damit ein Standard zur Definition von beliebigen, in ihrerGrundstruktur jedoch stark verwandten Auszeichnungssprachen. "XML" ist eine vereinfachteTeilmenge von "SGML".15

SMIL wird in "XML"-Syntax geschrieben d.h. auch die Elemente von SMIL werden in einerBaumstruktur organisiert und abgespeichert.

Geschichtliche Entwicklung von SMIL und Einordnung in die allgemeine Entwicklung

4

Page 17: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

16Quelle: Goetz, Frank, SMIL - Multimedia im Internet mit dem Realsystem G2, Addison-Wesley, Freiburg 2000, S. 40317Quelle: Livestream des Radiosenders "Radio 1" [http://www.radio1.de/_/live.smil]

2.5. StreamingUnter Streaming versteht man einen kontinuierlichen Datenstrom, d.h. das beständige Sendenbzw. Empfangen von Daten. Im Normalfall werden die Daten bei Erhalt nicht gespeichert,sondern sofort weiterverarbeitet. Durch die Streaming-Technologie wurde die Wiedergabevon Mediendateien im Internet revolutioniert, da der Nutzer die Datei nicht komplettherunterladen muss, sondern dies Stück für Stück passiert. Dadurch werden die Ladezeitenumverteilt und man kann sich die Datei bereits ansehen bzw. -hören obwohl die Datei nochnicht komplett geladen ist.

SMIL selbst unterstützt Streaming insoweit, dass es Möglichkeiten der Kontrolle bereitstellt.Mit dem Element "prefetch" lässt sich einstellen, wie viel der Bandbreite für das Streameneines Objektes zur Verfügung gestellt werden soll oder wie viel des Objektes gebuffertwerden soll. Über die "Timing- und Synchronisationsattribute" lässt sich darüber hinauseinstellen, was passieren soll, wenn zu einem Objekt noch nicht genügend Daten vorhandensind um es weiter abspielen zu können.

Ob und wie gut der Streamingprozess vollzogen wird hängt aber nicht von SMIL, sondernvon dem benutzten Wiedergabeprogramm ab. Hat dieses überhaupt kein Streamingimplementiert, so wird die Datei zwangsläufig mit all ihren referenzierten Medienobjektenkomplett geladen.

Ein Praxisbeispiel für die Anwendung ist die Übertragung von Radio-Livesendungen viaRealserver und SMIL. Hierzu liegt auf dem Webserver des Radiosenders eine kleine SMIL-Datei, die eine Realmedia-Audiodatei von einem Realserver einbindet. Der Realserver isteine Serversoftware der Firma RealNetworks mittels der sich gespeicherte aber auch aktuelllaufende Mediendateien bereitstellen und streamen lassen. Die Datei die in der SMIL-Dateireferenziert wird, enthält die aktuellen Livestreamdaten. Beim Öffnen der SMIL-Datei wirdder Realplayer geöffnet, der daraufhin mit dem Streamen der Datei beginnt. Die RBB-("Rundfunk Berlin-Brandenburg")-Radiosender "Fritz" und "Radio 1" bieten auf diese Weiseihren Livestream an.16

Beispiel 2.2. SMIL-Datei mit Referenz auf den Livestream des Radiosenders "Radio 1"17

<smil><head></head><body><par><audio src="rtsp://stream1.rbb-online.de/broadcast/radioeins-live.ra" /></par></body></smil>

Analog zur Bereitstellung von Live-Audiodateien könnten auch Live-Videodateien angebotenwerden.

Geschichtliche Entwicklung von SMIL und Einordnung in die allgemeine Entwicklung

5

Page 18: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

1Link zu W3C SMIL 2.0 Second-Edition [http://www.w3.org/TR/2005/REC-SMIL2-20050107/]2Link zu W3C SMIL 2.0 Candidate Recommendation [http://www.w3.org/TR/2005/CR-SMIL2-20050513/]3Auflistung aller Elemente [http://www.w3.org/TR/2005/REC-SMIL2-20050107/elements.html]4Auflistung aller Attribute [http://www.w3.org/TR/2005/REC-SMIL2-20050107/attributes.html]

Kapitel 3. Beschreibung der SMIL-Struktur

3.1. Zur SMIL-VersionDie aktuelle (18.07.2005) letzte freigegebene Empfehlung ist eigentlich die Version SMIL2.0 [Second Edition], welche am 07.01.2005 den Status "Recommendation" (Empfehlung)erhalten hat. Die Analyse der SMIL Struktur bezieht sich auf diese letzte Empfehlung.1

Derzeit existiert allerdings bereits eine neue Version SMIL 2.1, die am 13 Mai 2005 denStatus "W3C Candidate Recommendation" bekommen hat, also neuer Empfehlungkandidatist und somit kurz vor der Fertigstellung steht. Im Abschnitt "Änderungen in der SMILVersion 2.1", werden Änderungen, die nach der SMIL 2.0 [Second Edition] gemacht wurden,aufgeführt.2

In Punkt 4 und 5 dieses Kapitels werden die Elemente der Body- und Head-Elementeaufgeführt. Dazu werden zu jedem Element eine Beschreibung, sowie die wichtigstenAttribute aufgelistet und alle Kindelemente aufgelistet. In Punkt 6 werden noch einmal einigeAttribute aufgelistet, welche in mehreren Elementen zulässig sind. Eine Liste aller Elementeund Attribute lässt sich auf der SMIL W3C Seite finden.34

3.2. Der modulare Aufbau des SMIL FrameworksSeit SMIL Version 1.0 bestand das Interesse Komponenten, die in SMIL Verwendung fandenauch in anderen XML-Sprachen wie z.B. XHTML oder SVG zu benutzten. Da dieEntwicklung von XML-Sprachen und den zugehörigen DTD's mitunter viel Zeit beansprucht,lässt sich durch einen modularen Ansatz und das Einbinden und Erweitern von XML-Sprachen Zeit und Entwicklungsarbeit einsparen. Die Boston-Spezifikation befasste sichvorrangig damit einen modularen Aufbau zu erreichen.

Um einen modularen Aufbau zu gewährleisten werden die Strategien Modularization undProfiling genutzt. Unter Modularization versteht man das Gruppieren von semantischverwandten Elementen und Attributen. Es werden Module zu bestimmten Problemstellungenbzw. Schwerpunkten erstellt. Das Einbinden und Zusammenstellen von Modulen zu einerneuen XML-Sprache oder einer Erweiterung nennt man Profiling. Dadurch könnenbestimmte Teilbereiche der Funktionalität einer neuen XML-Sprache auf denSprachelementen einer bestehenden XML-Sprache aufgebaut werden.

Im Aufbau des SMIL Gesamtframeworks besteht zwischen einigen der Module funktionaleAbhängigkeiten, d.h. einige Module benötigen andere Module um korrekt zu funktionieren.Insgesammt existieren innerhalb von SMIL 2.0 45 atomare, also grundlegende, Module.Diese werden in verschiedene Modulgruppen geschachtelt.

Die Modularisierung von SMIL in viele Teile hat auch innerhalb der SMIL-SpezifikationVorteile, denn so war es möglich ein Basis-Sprachprofil zu bilden. Dieses "Basic LanguageProfil" enthält wesentlich weniger Module als der komplette Sprachraum und ist für denressourcensparenden Einsatz auf mobilen Endgeräten gedacht. Das Basis-Sprachprofil

6

Page 19: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

5Quelle: W3C Beschreibung der SMIL Module[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-modules.html#smilModulesNSIntroduction]6Quelle: W3C Beschreibung der SMIL Module[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-modules.html#smilModulesNSIntroduction]7Quelle: W3C Spezifikation des XHTML + SMIL Profils[http://www.w3.org/TR/2002/NOTE-XHTMLplusSMIL-20020131/]8Quelle: W3C SVG 1.1 Recommendation [http://www.w3.org/TR/2003/REC-SVG11-20030114/]9Quelle: Scalable Vector Graphics - Animationen mit SVG [http://www.about-svg.de/ani.htm]

umfasst zehn Module und enthält beispielsweise kein Transition- und Animation-Modulgruppe da für die korrekte Darstellung solcher Effekte wesentlich mehr Rechenleistungerforderlich ist als für das einfache Anzeigen von Bildern und Text.5

In der XHTML-Erweiterung XHTML + SMIL werden die Modulesammlungen "animation","content control", "media objects", "timing and synchronization", and "transition effects"verwendet. Somit ist in dem Sprachprofil XHTML + SMIL fast die gesamte Funktionalitätvon SMIL enthalten. Das Inkludieren so vieler Module war notwendig um auf einerXHTML-Seite die gleichen Präsentationen zu ermöglichen wie in einer normalen SMIL-Präsentation. Fehlende SMIL-Module sind z.B. das Linking-Modul. Da XHTML bereitseigene Linking-Elemente mitbringt, ist ein Einbinden dieses Moduls jedoch nichtnotwendig.67Das XML-Grafikformat SVG benutzt das Animation-Modul des SMIL-Frameworks um Transformationen, Positionsänderungen und Änderungen in Sichtbarkeit,Farbe und Größe realisieren zu können. Die dazu verwendeten Elemente sind "animate","animateMotion", "animateColor" und "set". Neben diesen auch in SMIL vorhandenenElementen wird in SVG ein zusätzliches Element definiert: "animateTransform" zumRotieren, Skalieren und Verzerren. Das Animationsmodul wird sehr effektiv eingesetzt.Durch die Möglichkeit innerhalb von SVG Pfade zu setzen, lässt sich z.B. sehr einfach einObjekt entlang einer geschwungenen Linie verschieben. Die folgenden drei Zeilendemonstrieren wie einfach eine Animation entlang eines Pfades innerhalb von SVG zurealisieren ist.

<animateMotion dur="6s" rotate="auto" ><mpath xlink:href="#path1"/>

</animateMotion>

Um die Animation auf ein Zeichenelement anzuwenden muss die Animation als Kindelementdefiniert werden. Das "animateMotion" Element selbst, enthält als Kindknoten eine Referenzauf den Pfad an dem das Element entlanggleiten soll. Zu beachten ist, dass das Animation-Modul fest in dem SVG-Gesamtframework integriert ist. Das SMIL-Modul ist somit, keineErweiterung, die durch einen XML-Namensraum eingebunden werden muss, sondern sie istfester Bestandteil der SVG-DTD.89

3.3. Grundlegender Aufbau einer SMIL DateiBei einer SMIL-Datei handelt es sich um eine Textdatei mit der Endung "smil" oder "smi".Der Inhalt der Textdatei muss den Anforderungen einer XML-Datei entsprechen. In der Smil-Datei stehen sämtliche Anweisung zum Aufbau und Ablauf der gewünschten Multimedia-Präsentation. Nicht enthalten sind die eigentlichen Daten, wie z.B. Bilder und Texte. Dadurchwird eine Entkopplung und Modularisierung von Aufbau und Daten der Präsentationvorgenommen. Die Daten befinden sich in separaten Dateien. Innerhalb der Smil-Datei wird

Beschreibung der SMIL-Struktur

7

Page 20: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

10Spezifikation einer SMIL-Datei (siehe 13.3.2 Unterpunkt 5)[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil20-profile.html#SMILProfileNS-ConformingDocuments]11Quelle: W3C Beschreibung zum Gebrauch von "xmlns"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-basic.html#BaseGuideNS-BasicUserAgent]

zum Einbinden eine Referenz auf diese Dateien gesetzt.

Eine SMIL-Datei besteht ähnlich einer HTML-Datei aus einem Head- und einem Body-Bereich. Daraus ergibt sich folgender schematischer Aufbau.Beispiel 3.1. Schematischer Aufbau einer SMIL-Datei

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE smil PUBLIC "-//W3C//DTD SMIL 2.0//EN"

"http://www.w3.org/2001/SMIL20/SMIL20.dtd"><smil xmlns="http://www.w3.org/2001/SMIL20/Language"><head><!--Kommentar--><!--Angaben die in das "head" Element geschrieben werden--></head><body><!--Angaben die in das "body" Element geschrieben werden--></body></smil>

In Zeile 1 stehen allgemeinen Angaben zur XML-Datei nach welcher XML-Version die Dateigeschrieben ist und welcher Zeichensatz verwendet wird.

Um die XML-Datei und die darin enthaltenen Elemente validieren zu können, lässt sichoptional eine DTD (Document Type Definition) angeben. DTD's enthalten Angaben zurStruktur einer XML-Datei. Stimmt der Inhalt der XML-Datei nicht mit den Angaben in derDTD überein, so ist die XML-Datei fehlerhaft und kann nicht wiedergegeben werden.

In Zeile 4 wird das Root-Element jeder SMIL-Anwendung, das "smil"-Element, geöffnet.Das "smil"-Element hat die beiden Kindelemente "head" und "body", welche hier im Beispielals einzigen Inhalt Kommentare enthalten. Kommentare können nach der Zeichenfolge "<!--"gesetzt werden. Abgeschlossen wird ein Kommentar mittels der Zeichenfolge "-->".

3.3.1. <smil>Das Wurzelelement einer Smil-Datei heißt "smil". In das Wurzelelement können maximal diebeiden Elemente "head" und "body" eingehangen werden. Im "smil"-Element wird der XML-Namensraum definiert. Diese Angabe ist zwingend, wobei der Parameter je nach SMIL-Version unterschiedlich sein kann. Der Standard-Namensraum für die SMIL-Datei ist imobigen Programmlisting angegeben. Natürlich ist es auch möglich noch weitereNamensräume hinzuzufügen um die SMIL-Spezifikation zu erweitern. Der XML-Namensraum kann je nach SMIL-Version unterschiedlich heißen.10

• xmlns - Das Attribut wird benötigt um den verwendeten XML-Namensraum zudefinieren. Außerdem kann der normale Namensraum durch das Attribut erweitertwerden.Beispiel 3.2. Beispiel zum Einbinden eines erweiterten Namensraumes11

<smil xmlns="http://www.w3.org/2001/SMIL20/Language"xmlns:smil30="http://www.example.org/2002/SMIL30/">

<smil30:foo>...

</smil30:foo></smil>

Das Beispiel zeigt das Setzen des SMIL 2.0 Namensraumes. Durch'xmlns:smil30="..."' wird der SMIL 2.0 Namensraum um einen fiktiven SMIL 3.0

Beschreibung der SMIL-Struktur

8

Page 21: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

12W3C Beschreibung zum Element "head"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/structure.html#edef-head]13W3C Beschreibung zum Element "body"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/structure.html#edef-body]

Namensraum erweitert. Jegliche Elemente müssen nun mit dem Präfix, hier "smil30",kenntlich gemacht werden. Im Beispiel zu sehen mit dem Element "foo".

Zulässige Kindelemente

• head• body

3.3.2. <head>Das "head"-Element enthält alle Informationen, die nicht mit dem zeitlichen Programmablaufzusammenhängen, also beispielsweise Informationen zum Layout und Metadaten.12

Zulässige Kindelemente

• customAttributes• layout• meta• metadata• switch• transition

3.3.3. <body>"body" enthält alle Elemente, die visuell oder auditiv angezeigt werden sollen. Das Elementhat dabei in Hinblick auf den zeitlichen Ablauf der Kindelemente die gleichen Eigenschaftenwie das "seq"-Element.13

Zulässige Kindelemente

• par• seq• excl• audio• video• text• img• textstream• ref• brush• animate• animateColor• animateMotion• switch• prefetch• a• animation• set

Beschreibung der SMIL-Struktur

9

Page 22: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

14W3C Beschreibung zum Element customAttributes[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-content.html#edef-customAttributes]15W3C Beschreibung zum Element layout [http://www.w3.org/TR/2005/REC-SMIL2-20050107/layout.html#edef-layout]

3.4. Head Elemente

3.4.1. Primäre Head ElementeIn diesem Abschnitt werden alle Elemente vorgestellt, welche direkt als Kindknoten von"head" agieren können.

3.4.1.1. <customAttributes>

"customAttributes" ist Trägerelement eines oder mehrerer Elemente von "customTest" mittelsdem sich benutzerdefinierte Test-Attribute erstellen lassen.14

zulässige Kindelemente

• customTest

3.4.1.2. <layout>

Das "layout"-Element stellt das Elternelement für eine Reihe von Elementen dar, mittelsderer das audiovisuelle Präsentationslayout gestaltet werden kann. Durch das Attribut typekann definiert werden durch welche Sprache das Layout definiert werden soll.15

Beispiel 3.3. Beispiel zum Gebrauch des Elementes "layout":

...<head><layout><region id="regionId" top="5" left="5" height="100" widht="200"></layout></head>...

Abbildung 3.1. Grafische Darstellung des Beispiels zum "layout"-Element

Der Standardtyp für das "type"-Attribut ist "text/smil-basic-layout". Es ist jedoch auchmöglich das Layout mittels CSS zu definieren; dann ist der korrekte Parameter "text/css".Beispiel 3.4. Mittels CSS kann eine Region so beschrieben werden:

<layout type=“text/css“>[region=“regionId“] {

top: 5px;left: 5px;height: 100px;width: 200px;

}</layout>

Beschreibung der SMIL-Struktur

10

Page 23: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

16W3C Beschreibung zum "meta"-Element[http://www.w3.org/TR/2005/REC-SMIL2-20050107/metadata.html#edef-meta]

Das "layout"-Element darf nur verwendet werden wenn im "head" auf derselben Ebene kein"switch"-Element gebraucht wird. Ist ein "switch" gesetzt kann das "layout"-Element jedochmehrmals als Kind von "switch" gesetzt werden. Es ist jedoch zu beachten, dass es jeweilsnur eine Definition einer Region geben darf (die ID einer Region muss dokumentweiteindeutig sein), wodurch der Einsatz der switch - layout Kombination erheblicheingeschränkt wird.Beispiel 3.5. Beispiel zur Beziehung von "layout" und "switch"

...<head><layout></layout><!--Fehler - "layout" auf gleicher Ebene mit "switch"--><switch><layout xml:lang="de"><!--zulässig: Layout für deutschen Sprachraum--></layout><layout xml:lang="en"><!--zulässig: Layout für englischen Sprachraum--></layout><switch>...

wichtigste Attribute

• type - "type" bestimmt optional den Typ des beinhaltenden Layoutelements (Default:text/smil-basic-layout)

Zulässige Kindelemente

• region• root-layout• topLayout• regPoint

3.4.1.3. <meta>

Das "meta"-Element dient dazu einem Dokument nähere Informationen hinzuzufügen, sogenannte Metainformationen. Diese Informationen beeinflussen nicht die Anzeige des Films,sondern definieren z.B. den Inhalt, den Autor oder einige Stichwörter für Suchmaschinenoder das benutzte Präsentationsprogramm. Für jede Information, die man dem Filmhinzufügen will, benötigt man ein "meta"-Element. 16

Die Attribute "content" und "name" definieren gemeinsam eine Information. Dabei wird mitdem Attribut "name" festgelegt, welche Eigenschaft des Films beschrieben werden soll."content" legt dann den zugehörigen Wert zum Namen fest. Wenn ein "meta" definiert wirdsind die Attribute "content" und "name" Pflichtattribute. Das "meta"-Element ist leer, es hatkeine weiteren Kindelemente.Tabelle 3.1. Eine Auflistung einiger möglicher Werte für "name" und "content"

"name" umschriebener Inhalt für "content"

base Legt die absolute URL-Basis fest, damit relative benannte URL-Adressen gefunden werden können.

title Legt den Titel der Präsentation fest.

"pics-label" oder"PICS-Label"

PICS steht für "Platform for Internet Content Selection". Mit dieserEinstellung können gültige Einstufungen (rating label) für dasDokument gesetzt werden. Mittels PICS ist es möglich den Inhalt vonSeiten zu zertifizieren und so z.B. nicht jugendfreie Inhalte für den

Beschreibung der SMIL-Struktur

11

Page 24: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

17Quelle: Die freie Enzyklopädie Wikipedia über RDF [http://de.wikipedia.org/wiki/RDF]18W3C Beschreibung zum "metadata"-Element[http://www.w3.org/TR/2005/REC-SMIL2-20050107/metadata.html#edef-meta]19siehe: W3C Beispiel zum Gebrauch von "meta" und "metadata"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/metadata.html#smilMetadataNS-example]

"name" umschriebener Inhalt für "content"

Nutzer unzugänglich zu machen.(http://de.selfhtml.org/html/kopfdaten/meta.htm#pics)

copyright Gibt Auskunft über die Rechte an dem Film.

author Legt den Autor bzw. den Verantwortlichen für den Inhalt einerPräsentation fest.

keywords Schlüsselwörter die den Inhalt der Präsentation wiedergeben. DieserEintrag ist vor allem für Suchmaschinen relevant.

description Hier kann eine Inhaltsbeschreibung des Films eingetragen werden.

Date Datum der letzten Änderung des Films im Format "YYYY-MM-DD"

Publisher Legt den Verleger fest.

Es gibt noch viele weitere mögliche Werte für "name". Sie entsprechen denen die auch beiden Metaangaben von html-Seiten angewandt werden. Das folgende Beispiel soll denGebrauch von "meta" demonstrieren.

Beispiel 3.6. Beispiel zum Gebrauch von <meta>

...<meta name="author" content="Volkmar Kantor"><meta name="base" content="http://www.meine-homepage.de"><meta xml:lang="de" name="description"

content="Meine neue Homepage, mit vielen Infos"><meta xml:lang="en" name="description"

content="My new homepage, with a lot of informations">...

Das Beispiel zeigt den Gebrauch von "Test-Attributen" zur selektiven Auswertung derMetadaten. Hier wurden Metainformationen durch "xml:lang" für zwei unterschiedlicheSprachregionen bereitgestellt.wichtigste Attribute

• name - Zum Definieren der Art der Metainformation.• content - Zum Definieren der Metainformation.Zulässige Kindelemente

• Keine Kindelemente zulässig.

3.4.1.4. <metadata>

Mittels "metadata" lassen sich ebenfalls Metaangaben zum Film definieren.Die Informationwird jedoch nicht direkt im Element definiert. "metadata" ermöglicht vielmehr das Schreibender Metadaten in Form der XML-Sprache RDF.17

Es ist möglich innerhalb von "metadata" RDF-Elemente zu setzen, unter der Bedingung, dassdiese vorher als Namespace definiert wurden.1819

Zulässige Kindelemente

• Keine Kindelemente zulässig (einbinden von RDF in das metadata-Tag nur mittels neuemXML-Namespace möglich).

Beschreibung der SMIL-Struktur

12

Page 25: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

20W3C Beschreibung zu "transition"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-transitions.html#TransitionEffects-TransitionElement]

3.4.1.5. <transition>

Mittels "transition" lassen sich Effekte definieren, die auf bestimmte Bilder, Videos undRegionen angewendet werden können. "transition" lautet übersetzt "Übergang". Durch diesesElement ist es möglich Überblendeffekte, welche aus dem Fernsehen bekannt sind, in derPräsentation zu realisieren. Ohne solche Effekte würden alle aufeinander folgenden visuellenMedien mit einem "Cut" also einem "harten Schnitt" wechseln. Das Element ist im"BasicTransitions Module" definiert.20

Die Art des Übergangs lässt sich durch die Attribute "type" und "subtype" festlegen. Wird zueinem "type" kein "subtype" definiert, so wird der default-Wert des zugehörigen "type"angenommen. Werte für diese Attribute und grafische Veranschaulichungen der Effekte sindim Anhang aufgelistet.

Übergänge lassen sich in die Elemente "ref", "animation", "audio", "img", "text","textstream" und "video" einbinden. Um den Elementen im Body eine "transition"zuzuweisen ist das Attribut "id" notwendig, mit welchem dem Übergang ein Namezugewiesen wird. Die Attribute "transIn" und "transOut" werden in den Body-Elementenangewandt, welche eine "transition" aufnehmen sollten, sie enthalten die "id" der "transition".Der Übergang einer "transition", die mittels "transIn" und "transOut" aufgerufen wird, istdabei immer linear von 0% (0.0) bis 100% (1.0).

Beispiel 3.7. Beispiel zur Anwendung von "transition" und dem Gebrauch von "transIn"

...<head>

<layout><root-layout background-color="white" width="300" height="100"/>

</layout><transition id="user_fade" dur="3s" type="fade"/>

</head><body>

<seq><text src="1.txt" dur="2" fill="transition"></text><text src="2.txt" dur="5" transIn="user_fade"></text>

</seq></body>

...

Im Beispiel wird dem zweiten Textobjekten ein Überblendeffekt zugewiesen. DasTextelement mit der Referenz auf "1.txt" wird 2 Sekunden angezeigt. Nach dem Beenden deraktiven Zeit des Elementes wird es jedoch, aufgrund des Setzens von 'fill="transition"',weiterhin angezeigt bis der Effekt des nachfolgenden Elementes abgeschlossen ist. Dadurchkommt es zu einem sogenannten Crossfade. Die Länge des Einblendens wird im "transition"Element mit 3 Sekunden festgelegt. Diese Zeitdauer gehört bereits mit zur Anzeigezeit desElementes weshalb das Element nach Ablauf des Effektes nur noch 2 Sekunden vollständigzu sehen ist.wichtigste Attribute

• id - Das Attribut ist zwingend erforderlich damit eine Referenz von einem Medienobjektauf den Überblendeffekt vorgenommen werden kann.

• type - Definiert den Typ der Überblendung.• subtype - Präzisiert optional die Angabe des Attribut "type".• dur - Definiert die Dauer des Effektes.• startProgress - Definiert den Anfangspunkt des Effektes. Zulässige Werte sind

Fließkommawerte im Bereich 0.0 bis 1.0. Wird "startProgress" z.B. auf 0.5 gesetzt, sowird lediglich die zweite Hälfte des Effektes gezeigt. Voreingestellt ist 0.

Beschreibung der SMIL-Struktur

13

Page 26: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

21W3C Beschreibung zum Element "region"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/layout.html#edef-region]

• endProgress - Analog zu "startProgress". Definiert den Endpunkt des Effektes;voreingestellt ist 1.

• direction - Definiert die Richtung in die der Effekt abgespielt wird (vorwärts oderrückwärts). Zulässige Werte sind "forward" (default) und "reverse".

• fadeColor - Lediglich relevant wenn "type" den Wert "fade" und "subtype" den Wert"fadeToColor" oder "fadeFromColor" annimmt. "fadeColor" definiert die Farbe auf diebzw. von der geblendet wird. Defaultwert ist die jeweilige Hintergrundfarbe der Regionin dem sich das Objekt befindet und auf das sich der Effekt bezieht.

Zulässige Kindelemente

• Keine Kindelemente zulässig.

3.4.2. Untergeordnete Head ElementeIn diesem Abschnitt werden alle Elemente vorgestellt, die nicht als Kindknoten von "head"sondern in der Baumstruktur weiter hinten angesiedelt sind.

3.4.2.1. <region>

Mittels "region" lässt sich ein Bereich für die Ausgabe eines Medientyps definieren. EinBereich ist ein zweidimensionales grafisches Feld in dem visuelle Medienelementeausgegeben werden können. Das Element ermöglicht die Positionierung, Größe undSkalierung eines Medienbereichs. Das Region-Element lässt sich auch dazu nutzen mehrereMedienobjekte zu einer Gruppe zusammenzufassen.21

Neben der pixelgenauen oder der relativen Position der Region, können auch die Ausmaßedefiniert werden. Außerdem lässt sich einstellen, was passiert wenn ein Element zu groß oderzu klein für die Region ist. Regionen können beliebig viele Regionen enthalten, d.h."region"-Elemente können beliebig viele "region"-Kindelemente enthalten. "region" hat sonstkeine weiteren möglichen Kindelemente. Region enthält das Attribut "id" welches denNamen der Region definiert. Um ein Element im Body einer Region zuzuordnen wird dasAttribut "region" benutzt. Dieses Attribut enthält dann die ID der Region in der das Elementangezeigt werden soll. Auf diese Weise wird ein Element zugeordnet.

Beispiel 3.8. Beispiel zum Gebrauch des Elementes "region"

...<head><layout><region id="r1" width="100" height="100" /></layout></head><body><img src="files/sonne.jpg" top="10" left="10" region="r1" dur="10s"></body>...

Im Beispiel wird eine Region "r1" definiert. Der Region wird im Body ein Bild zugewiesen.Das Bild wird 10 Pixel vom oberen und linken Rand der Region eingerückt.wichtigste Attribute

• id - Das Attribut ist zwingend erforderlich um Medienobjekt zu einer bestimmten Regionzuzuweisen.

• width - Breite der Region.• height - Höhe der Region.• top / left / right / bottom - Jedes dieser vier Attribute bestimmt den Abstand zur

Beschreibung der SMIL-Struktur

14

Page 27: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

22W3C Beschreibung des Elementes "root-layout"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/layout.html#edef-root-layout]23W3C Beschreibung zum Element "topLayout"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/layout.html#edef-topLayout]

"Elternregion".• backgroundColor - Bestimmt die Hintergrundfarbe der Region.• showBackground - Bestimmt, ob die Hintergrundfarbe einer Region immer angezeigt

werden soll oder nur wenn der Inhalt der Region gerade aktiv ist. Zulässige Werte sind"always" (default) und "whenActive". Bei dem Parameter "always" wird der Hintergrundimmer angezeigt. Wenn "whenActive" ausgewählt wurde, wird der Hintergrund nurangezeigt wenn die enthaltenen Medienobjekte aktiv sind.

• z-index - Bestimmt in welcher Ebene eine Region angezeigt wird. So ist es möglichmehrere Ebenen überlappend darzustellen.

Eine Region a liegt über einer Region b wenn der z-index von a größer als dem von b ist.Liegen die beiden Regionen in der Gleichen z-Ebene wird die Region, die auf derZeitachse eher erscheint , unter der anderen Region liegen. Falls die Regionen zurgleichen Zeit erscheinen wird die Region, die in der SMIL-Datei eher definiert wurdeunter der anderen Region liegen.

• soundLevel - Das Attribut setzt die Lautstärke der der Region zugehörigenMedienobjekte. Es sind prozentualer Werte ab 0% zugelassen. Der Defaultwert ist 100%.Bei diesem Wert wird mit normaler Lautstärke abgespielt.

Zulässige Kindelemente

• region

3.4.2.2. <root-layout>

Das "root-layout"-Element bestimmt die Layout-Eigenschaften des Anzeigefensters. EinDokument kann lediglich ein "root-layout" Element besitzen. Wird kein "root-layout"definiert, so ergibt sich die Größe des Anzeigefensters aus den Regionen bzw. wenn keineRegionen gesetzt wurden, aus den Medienobjekten im Body.22

wichtigste Attribute

• backgroundColor - Definiert die Farbe der Hintergrundebene. Der Defaultwert ist"transparent".

• width - Setzt die Breite des Anzeigefensters.• height - Setzt die Höhe des Anzeigefensters.Zulässige Kindelemente

• Keine Kindelemente zulässig.

3.4.2.3. <topLayout>

Ab SMIL Version 2.0 existiert neben dem "root-layout" zusätzlich das "topLayout"-Element,welches die gleichen Eigenschaften besitzt. Das "topLayout" Element definiert dabei jedochnicht die Größe des eigentlichen Wiedergabefensters, sondern öffnet ein neues Fenster, ein sogenanntes "top level window" (ein Fenster im Layout des Betriebssystems ohne weitereMenüs - umgangssprachlich "Popup"). Es ist möglich mehrere Fenster über das Setzenmehrerer "topLayout" Elemente zu erstellen.23

wichtigste Attribute

• backgroundColor - Definiert die Farbe der Hintergrundebene. Der Defaultwert ist"transparent".

• width - Setzt die Breite des Anzeigefensters.• height - Setzt die Höhe des Anzeigefensters.

Beschreibung der SMIL-Struktur

15

Page 28: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

24W3C Beschreibung zum Element "regPoint"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/layout.html#edef-regPoint]

• open - Der Parameter bestimmt wann das Popup geöffnet wird. Zulässige Werte sind"onStart", welcher das Fenster beim Start der Präsentation öffnen lässt, und "whenActive"wodurch sich das Fenster erst kurz vor der Anzeige eines Medienobjektes öffnet. DerDefaultwert ist "onStart".

• close - Der Parameter bestimmt wann das Popup geschlossen wird. Zulässige Werte sind"onRequest" und "whenNotActive". "onRequest" bewirkt das das Fenster geöffnet bleibt,bis der Benutzer das Fenster schließt. "whenNotActive" lässt das Fenster schließen sobaldkeine Medien mehr in eine der enthaltenen Regionen angezeigt werden. Der Defaultwertist "onRequest".

Zulässige Kindelemente

• region

3.4.2.4. <regPoint>

Mittels "regPoint" lassen sich Elemente innerhalb einer Region genauer positionieren."regPoint" definiert dafür einen eindeutigen Punkt der relativ (durch Prozentualangaben) oderabsolut (durch Pixelabstand) festgelegt werden kann. Das Element sollte nur als Kind von"layout" gebraucht werden.24

Das "regPoint" Element kann in Body-Elementen über das Attribut "regPoint" referenziertwerden. Das "regPoint"-Attribut enthält dann die ID des "regPoint"-Elementes.

Beispiel 3.9. Anwendungsbeispiel zum Element "regPoint"

<smil xmlns="http://www.w3.org/2001/SMIL20/Language"><head><layout><root-layout width="100" height="100" backgroundColor="red"/><region id="region_1" left="20" /><regPoint id="regP_1" top="10"/></layout></head><body><par><img src="files/sonne.jpg" regPoint="regP_1"/><brush color="blue" region="region_1"

regPoint="regP_1" width="50" height="50"/></par></body></smil>

Das Beispiel zeigt wie derselbe Region-Point "regP_1" auf verschiedene Regionenangewendet wird. Das Bild wird nur mit Hilfe des Region-Point positioniert. Implizitbeziehen sich diese Punkte immer auf die darüberliegende Region, also hier die Region diedurch das "root-layout"-Element definiert wurde.

Abbildung 3.2. Ausgabe des obigen Anwendungsbeispiels (Player: RealPlayer 10)

In der Ausgabe ist deutlich zu erkennen, dass das eingefügte Bild, welches nur mit dem

Beschreibung der SMIL-Struktur

16

Page 29: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

25Quelle: W3C CustomTestAttribute Modul Overview[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-content.html#ContentControlNS-Overview-UserGroups]

Region-Point positioniert wurde, lediglich vom oberen Rand abgesetzt ist (nämlich genau 10Pixel). Das "brusch"-Element ist durch die Region "region_1" 20 Pixel vom linken Randabgesetzt. Der regPoint rückt nun das "brush"-Element innerhalb der Region noch zusätzlichum 10 Pixel von oben ab.

wichtigste Attribute

• top / left / bottom / right - Definiert den Abstand des "regPoint" nach oben / links / unten /rechts. Erlaubt sind nicht negative Zahlen als Pixelangaben und prozentuale Angaben.

• regAlign - Bestimmt die Ausrichtung des Elements zum regPoint. Zulässige Werte sind"topLeft" (Defaultwert), "topMid", "topRight", "midLeft", "center", "midRight","bottomLeft", "bottomMid" und "bottomRight". Der erste Teil des Parameters definierthierbei die vertikale; der zweite Teil die horizontale Ausrichtung.

Zulässige Kindelemente

• Keine Kindelemente zulässig.

3.4.2.5. <customTest>

Mittels "customTest" lässt sich der Name für ein benutzerdefiniertes Testattribut definieren.Benutzerdefinierte Testattribute können über das "customTest" Attribut in Zeitcontainern undMedienobjekten eingebunden werden. Das Element, das ein Testattribut beinhaltet, wirdstandardmäßig immer dann dargestellt, wenn die Aussage des Testattributes wahr ist.25

• defaultState - Setzt den Standardwert für das Attribut. Es kann lediglich die Werte "true"und "false" annehmen. Wird "defaultState" nicht definiert wird der Wert "false" für dasAttribut angenommen.

• override - Das "override"-Attribut legt fest ob es dem Nutzer möglich sein soll den Wertdes Tests in den Einstellungen des Wiedergabeprogramms festzulegen. Wenn "override"nicht definiert wird oder der Wert auf "hidden" gesetzt wird, werden dem Nutzer keineEinstellungsmöglichkeiten gegeben. Ist das Attribut mit dem Wert "visible" gesetzt, sosoll eine Einstellungsmöglichkeit im Abspielprogramm oder über das SMIL-DOMgewährleistet werden.

• uid - Als Wert für "UID" lässt sich eine URI angeben, die auf den benutzerdefiniertenTest verweist. Die Einbindung des Tests bleibt der Laufzeitumgebung des jeweiligenProgramms überlassen.

3.5. Body Elemente

3.5.1. Primäre Body ElementeIn diesem Abschnitt werden alle Elemente vorgestellt, die direkt als Kindknoten von "body"agieren können.

3.5.1.1. <par>

Mittels "par" ist es möglich mehrere Medienobjekte parallel ablaufen zu lassen. Auf dieZeitliche Abfolge kann durch die Timing- und Synchronisation-Attribute Einfluss genommenwerden. Innerhalb des "par"-Zeitcontainers beginnen alle Elemente zeitgleich (falls nicht

Beschreibung der SMIL-Struktur

17

Page 30: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

26W3C Beschreibung des Elementes "par"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-timing.html#edef-par]27W3C Beschreibung des Elementes "seq"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-timing.html#edef-seq]

weiter durch die Timing- und Synchronisations-Attribute spezialisiert). Dadurch ist z.B. daszeitgleiches Abspielen eines Bildes und eines Audiobeitrages möglich.26

wichtigste Attribute

• endsync - Mit diesem Attribut lässt sich einstellen mit welchem Objekt ein Zeitcontaineraus mehreren Objekten beendet wird. Da das Attribut in mehreren Elementen zulässig ist,wird es an anderer Stelle näher erklärt. LINK

zulässige Kindelemente

• alle zulässigen Kindelemente von "body"

3.5.1.2. <seq>

Das "seq"-Element erstellt eine Sequenz von aufeinanderf olgenden Elementen. Kindelementwerden dabei in der Reihenfolge angezeigt in der sie in das "seq"-Element eingesetzt werden."seq" kann auch Elemente wie "par" oder "excl" als Kindelemente haben, wodurch Elemente,die sich Beispielsweise im "par"-Element befinden parallel ablaufen, wohingegen dasgesamte "par"-Element sequenziell vor oder nach den anderen Kindelementen von "seq"abgearbeitet wird.27

Beispiel 3.10. Beispiel zur Schachtelung von "seq" und "par"

<seq><img src="1.jpg"/><par><video src="2.rm"/><img src="2.jpg"/></par><img src="3.jpg"/></seq>

Abbildung 3.3. Darstellung des zeitlichen Ablaufs

Zum Strukturieren des zeitlichen Ablaufes der Sequenz sowie ihrer Kindelement können dieTiming- und Synchronisation-Attribute benutzt werden, allerdings nur in eingeschränktemUmfang. Beispielsweise werden Anweisungen wie "begin="image1.end-2s"" nichtausgeführt. Kindelemente können auch zeitlich nicht vor dem Beginn der Sequenzangeordnet werde, dass bedeutet z.B. es kann dem ersten Kindelement nicht der Wert "begin"mit "-2s" zugewiesen werden.zulässige Kindelemente

• alle zulässigen Kindelemente von "body"

3.5.1.3. <excl>

Beschreibung der SMIL-Struktur

18

Page 31: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

28Quelle: Knowledgebase der Düsseldorfer FH zu SMIL[http://www.medien.fh-duesseldorf.de/html/knowledgebase/public/papers/smil/groups.html]29W3C Beschreibung des "excl" Elementes[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-timing.html#edef-excl]30Quelle: W3C Beschreibung zum "excl" Element[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-timing.html#edef-excl]

Mit diesem Element können beinhaltende Medienobjekte exklusiv abgespielt werden. Übereine interaktive Auswahl kann dem Nutzer die Möglichkeit gegeben werden eines derMedienobjekte auszuwählen. Wird eines der Medienobjekte gestartet, stoppt automatisch dasgerade abgespielte "excl" Kindobjekt. Die interaktive Auswahl muss separat z.B. über Maus-oder Tastaturereignisse realisiert werden.28

Mit dem "excl"-Objekt sind unterschiedliche Anwendungsszenarien denkbar. Das Szenario"interaktive playlist" (interaktive Abspielliste) ermöglicht aus einer Liste vonMedienobjekten eines auszuwählen, welches dann abgespielt wird. Mit "audio descriptions"(Audiobeschreibungen) kann man visuell beeinträchtigten Personen die Möglichkeit gebeneine Audiobeschreibung nach einem eben dargestellten visuellen Beitrag abzuspielen. Einweiteres Anwendungsbeispiel sind "interactive video sub-titles" (Interaktive Video-Untertitel). Es besteht die Möglichkeit unabhängig von Test Attributen Untertitel inverschiedenen Sprachen anzubieten. Diese könnten per Maus- oder Tastaturereignis ausgelöstwerden. Durch das "excl"-Element wird sichergestellt, dass immer nur eine Spracheangezeigt wird.29

Beispiel 3.11. Beispiel zum Gebrauch von "excl" zum Erstellen von interaktiven Untertiteln30

<par endsync="vid1"><video id="vid1" .../><excl dur="indefinite">

<par begin="englishBtn.activateEvent" ><audio begin="vid1.begin" src="english.au" />

</par><par begin="frenchBtn.activateEvent" >

<audio begin="vid1.begin" src="french.au" /></par><par begin="swahiliBtn.activateEvent" >

<audio begin="vid1.begin" src="swahili.au" /></par>

</excl></par>

Im Beispiel wird parallel zu einem Video eine Audioaufnahme ausgegeben. Der Nutzer kannüber einen Button auswählen (Programmcode nicht im Beispiel enthalten) in welcher Sprachedie Audiodatei abgespielt werden soll.wichtigste Attribute

• dur - Wird "dur" mit dem Wert "indefinite" besetzt, so hat "excl" keine Anzeigedauer. Indiesem Fall entscheiden die Kindelemente von "excl" wie lang das "excl"-Element aktivist, d.h. die Anzeigedauer von "excl" entscheidet sich über die Anzeigedauer aktivenKindelementes.

• endsync - Mit diesem Attribut lässt sich einstellen mit welchem Objekt ein Zeitcontaineraus mehreren Objekten beendet wird. Da das Attribut in mehreren Elementen zulässig ist,wird es an anderer Stelle näher erklärt. LINK

zulässige Kindelemente

• alle zulässigen Kindelemente von "body"• priorityClass

3.5.1.4. Medienobjekte

Die folgenden Elemente sind die Basis-Medienelemente ("Basic Media Modul"). Durch diese

Beschreibung der SMIL-Struktur

19

Page 32: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

31Quelle: SMIL Tutorial der Hochschule der Medien Stuttgart[http://www.hdm-stuttgart.de/streamingmedia/SMILTextbuch/Layoutobjekte.htm]

Elemente lassen sich grundlegende Mediendateien in eine SMIL-Präsentation einbinden. Dienachfolgende Tabelle zeigt alle Objekte, die Referenzen enthalten können, deren zugehörigenElementnamen und die Formate, die unterstützt werden sollten an. Bei den Videoformatensollte darauf geachtet werden, dass es zu einer Dateiendung Codec's in verschiedenenVersionen geben kann, welche nicht alle zwangsläufig auf jedem Rechner vorhanden seienmüssen. Es kann auch zu Komplikationen kommen, wenn die Abspielsoftware bestimmteCodec's nicht akzeptiert oder nicht innerhalb der SMIL-Präsentation unterstützt.Tabelle 3.2. Unterstütze Bildformate und deren Elemente (für den RealPlayer 10)31

Objekt - Clip Element Format

Bild <img /> gif, jpeg

Text <text /> txt

Realtext-Textstrom <textstream /> rt

Audio <audio /> rm, wav, aif, mov, mp3

Video <video /> rm, avi, mov, asf, viv, mpeg

Animation <animation /> swf

wichtigste Attribute aller Medienobjekte

• src - Das Attribut dient der Angabe der eigentlichen Datei. Es kann eine relative oderabsolute URL übergeben werden.

• alt - Mit "alt" kann ein Alternativtext angezeigt werden sollte das Element nicht angezeigtwerden können oder das Laden des Elementes etwas länger dauern.

• longdesc - "longdesc" erweitert die Kurzbeschreibung die im "alt" Attribut gemachtwerden kann. Es kann eine längere Beschreibung in einer Datei hinterlassen werden. DieURL der Datei wird dann in "longdesc" angegeben.

• region - Zuordnung des Objektes zu einer Region. Parameter ist die ID des zugehörigen"region" Elementes.

• regPoint - Zuordnung des Objektes zu einem "regPoint". Parameter ist die ID deszugehörigen "regPoint" Elementes.

• Timing- und Synchronisation-Attribute zum Steuern der zeitlichen Eigenschaften desObjektes, wie z.B. Anzeigedauer und Anzahl der Wiederholungen.

• fit - Das Attribut legt fest, was mit dem Medienobjekt passiert wenn es größer als dieRegion ist in die es gerendert wird.

• clipBegin - Mit diesem Attribut lässt sich der Anfang der Wiedergabe eines Mediumsverschieben. Es kann ein Zeitwert angegeben werden um den der Anfang des Mediumsbeschnitten wird. Auf diese Weise kann z.B. eine Audiodatei erst ab der 10. Sekunde derGesamtdatei beginnen.

• clipEnd - Mit dem Attribut lässt sich analog zu "clipBegin" das Ende des Mediumsverschieben.

zulässige Kindelemente aller Medienobjekte

• anchor• animate• animateColor• animateMotion• area• param• set• switch

Beschreibung der SMIL-Struktur

20

Page 33: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

Das "fit" Attribut legt fest, was passiert wenn das Objekt in einen Bereich hineinreicht indem es nicht mehr dargestellt werden kann bzw. was passiert wenn ein Objekt größer als dieRegion ist der es zugewiesen wurde. Zulässige Werte sind "fill", "hidden", "meet", "scroll"und "slice".• fill - Zerrt das Medienobjekt so, dass die gesamte Region ausgefüllt wird. Dabei kann es

zur Verformung des Medienobjektes kommen.• hidden - Stellt das Medienobjekt in normaler Größe dar. Wenn das Objekt kleiner als die

Region ist wird der übrigbleibende Platz mit der Hintergrundfarbe gefüllt. Ist das Objektgrößer, so werden über die Region stehende Bereiche des Objektes abgeschnitten undnicht angezeigt. "hidden" ist der Defaultwert für das "fit" Attribut.

• meet - Das Medienobjekt wird proportional skaliert und so in die Region eingefügt, dasskeine Teilbereiche abgeschnitten werden müssen, und das Medienobjekt möglichst großdargestellt werden kann. Übrigbleibender Platz wird mit der Hintergrundfarbe gefüllt.

• scroll - Stellt das Medienobjekt in normaler Größe dar. Sollte ein Teil des Objektes imnicht sichtbaren Bereichen verschwinden, erscheint eine Scrollleiste mit einemScrollbalken womit die verdeckten Flächen erreicht werden können.

• slice - Das Medienobjekt wird in seiner Größe auf die Region eingepasst. DieProportionen bleiben dabei erhalten. Beim Einpassen kommt es zu Überständen wenn dieRegion nicht um ein x-faches kleiner des Medienobjektes ist. Da das Medienobjekt in deroberen linken Ecke der Region positioniert wird, werden Überstände am rechten oder amunteren Rand abgeschnitten.

Es folgt eine Kurzvorstellung aller Medienobjekte.

3.5.1.4.1. <img>

Das Element dient der Anzeige von Bilddateien. Gängige Formate sind JPG-, GIF- und PNG-Bilder. Der RealPlayer, als am meist verbreitester Player für SMIL Präsentationen, unterstütztPNG in 4 Kanälen, kann also auch die mit dem PNG-Format mögliche Transparenzebenekorrekt darstellen. Die korrekte Wiedergabe ist allerdings nicht bei allen Playern gegeben.Beispielsweise stellt der Ambulant Player (Version 1.4.5) PNG-Bilder mit einem Alphakanalnicht dar.

3.5.1.4.2. <ref>

Das Element bietet die Möglichkeit Medien aller Art einzubinden, sofern die Formate von derAbspielsoftware in der SMIL-Präsentation unterstützt werden. Es ist die Grundlage für alleanderen speziellen Medienelemente.

3.5.1.4.3. <audio>

Element zum Einbinden von Audiodateien.

3.5.1.4.4. <video>

Erlaubt das Einbinden von Videodateien.

3.5.1.4.5. <text>

Element zum Darstellen von Texten. Zulässiges Dateiformat ist "*.txt". Beim Setzen vonZeilenumbrüchen ist darauf zu achten, dass diese in unterschiedlichenWiedergabeprogrammen unterschiedlich interpretiert werden. Im RealPlayer wird derZeilenumbruch normal dargestellt. Im QuickTimePlayer wird kein Zeilenumbruch vollzogen,

Beschreibung der SMIL-Struktur

21

Page 34: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

32Quelle: Real Text Authoring Guide von Real [http://service.real.com/help/library/guides/realtext/realtext.htm]

stattdessen werden die einzelnen Zeilen einzeln dargestellt. Die Zeilen werden auf dieGesamtanzeigezeit des Textes gleichmäßig verteilt.

Es gibt eine Methode Text innerhalb des "text"-Elementes zu definieren. Dazu wird das"src"-Attribut in folgender Weise benutzt.

<text src="data:,Der%20Text" dur="5s"/>

Innerhalb des "src"-Attributes kann nach der "data:,"-Sequenz ein Text definiert werden.Leerzeichen müssen dabei durch die Zeichenfolge "%20" ersetzt werden. Diese"inline"-Schreibweise wird in der offiziellen W3C-Beschreibung nicht erwähnt, gehört alsonicht zum offiziellen Standard. Aus diesem Grund sollte man vorsichtig mit dieserSchreibweise umgehen. Sowohl der QuickTimePlayer als auch der RealTimePlayerunterstützen diese Schreibweise, wobei beim QuickTimePlayer eine "%20"-Kodierung nichtzwingend notwendig ist da er die Zeichenfolge auch normal darstellen kann. Ambulant 1.4stellt die Leerzeichen normal dar, erkennt aber das "%20"-kodierte Leerzeichen nicht undstellt es als normalen Text dar, so das die gesamte Zeichenkette nur noch schwer lesbar ist.

Mittels einer Textdatei lassen sich keine Angaben zum Layout des Textes festlegen.

3.5.1.4.6. <textstream>

Das Element ist eine Erweiterung des normalen Textelementes. "textstream" verweist aufeine Datei des Typs "*.rt". Das Dateiformat nennt sich RealText und ist in seiner Syntax starkan HTML angelehnt. RealText wurde entwickelt um Lauftexte, zeitabhängige Texte undNews kompakter und gut strukturiert speichern zu können. RealText ermöglicht auch eineFormatierung des enthaltenen Textes.32

Beispiel 3.12. Beispiel für den Aufbau einer RealText-Datei

<window><font face="Arial">Überschrift / Titel des Textes<br/><time begin="3"/>erste Einblendung nach 3 Sekunden<br/><time begin="6"/>zweite Einblendung nach 6 Sekunden<br/><time begin="9"/>usw.<br/><time begin="12"/><clear/>jetzt wurde der vorhergehende Text mit "clear" gelöscht</font></window>

Das Wurzelelement einer RealText-Datei heißt "window". In das Wurzelelementes werdenwie bei SMIL alle Anweisungen eingefügt. Mittels "font" wird wie bei HTML dieSchrifteigenschaft definiert. Im oberen Beispiel zu sehen ist wie die Schriftart vomDefaultwert auf die Schriftart Arial umgestellt wird. Das Element "time" lässt den Text erstnach der im Attribut "begin" angegeben Zeit in Sekunden erscheinen. Mittels "br" lassen sichZeilenumbrüche setzen und das "clear" Element löscht die bisherige Ausgabe.Beispiel 3.13. Beispiel für den Aufbau einer RealText-Datei mit dem Typ "Tickertape"

<window type="tickertape" width="400" loop="true"><b><tu color="red"><a href="http://www.w3c.org">W3C</a></tu><tl color="white">Gremium zur Standardisierung des World Wide Web</tl><tu color="red">SMIL</tu><tl color="white">Synchronized Multimedia Integration Language</tl><tu color="red">XHTML 2.0</tu><tl color="white">neue Version des XHTML Standards erschienen</tl></b>

Beschreibung der SMIL-Struktur

22

Page 35: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

33W3C Beschreibung des Elementes "a"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/extended-linking.html#edef-a]

</window>

Über das Attribut "type" lassen sich verschiedene Anzeigearten der Textdatei realisieren. DerParameter "tickertape" bewirkt ein Abspielen des Textes als Börsenticker. Weiter möglicheWerte sind der Defaultwert "generic", "marquee", "scrollingnews", "teleprompter". DieElemente "tl" und "tu" bewirken das der Text hochgestellt ("tu" - text up) bzw. tiefgestellt("tl" - text low). Mit dem "a"-Element wird im ersten hochgestellten Text ein Link auf dieURL "http://www.w3c.org" gesetzt. Alle Textelemente im Beispiel werden vom "b"-Elementeingeschlossen, welches den Text fett darstellt.

Das Element "textstream" bietet eine gute Möglichkeit Funktionalität aus der eigentlichensmil-Datei auszulagern, da es ein eigenes Modul zur zeitlichen Beeinflussung der Teiltextehat. Um immer aktuelle News anzeigen zu können, könnte man die RealText-Datei außerdemdynamisch erzeugen lassen. Mittels PHP oder Java Server Pages kann man aktuelle Daten auseiner Datenbank auslesen lassen und aus diesen dann eine RealText-Datei oder normaleTextdatei (für das Element "text") erstellen.

3.5.1.4.7. <animation>

Mit dem "animation"-Element können flash-Animationen eingebunden werden.

3.5.1.4.8. <brush>

Das "brush"-Element ist ein sehr einfaches Element mit dem sich eine rechteckige Flächedarstellen lässt. Es dient primär als Platzhalter. Das "src"-Attribut kann vernachlässigtwerden, stattdessen existiert das Attribut "color" mit dem die Farbe des Elementes definiertwerden kann.erweiterte Attribute

• color - Definiert die Farbe des "brush"-Elementes. Wird keine Farbe gesetzt, so wird dasElement mit schwarz gefüllt.

3.5.1.5. <a>

Die Funktionalität des "a"-Elementes ist stark verwandt mit dem gleichnamigen Element inder HTML-Syntax. Das Element ermöglicht es Verknüpfungen auf absolute und relativeAdressen zu erstellen. Ziele der Referenz können sowohl andere Präsentationen, andereDateien, als auch Regionen und Zeitpunkte innerhalb der Präsentation sein.

Das Element das als Link fungieren soll, muss dabei ein Kindelement von "a" sein. Es istzulässig mehrere Elemente innerhalb eines Links zu setzen.33

wichtigste Attribute

• href - "href" ist ein Pflichtattribut. Es kann eine URL angegeben werden, die danngeöffnet wird.

• sourceLevel - Das Attribut legt die relative Lautstärke des Mediums fest aus demverwiesen wird. Die Angabe erfolgt in Prozent und darf nicht negativ sein. Sind in denRegionen bereits Lautstärkereglungen mittels "soundLevel" gesetzt worden, sosummieren sich die Werte auf. Der Standardwert von sourceLevel ist 100%, er behält dienormale vorgegebene Lautstärke bei.

• destinationLevel - Das Attribut legt die relative Lautstärke des Mediums fest auf dasverwiesen wird. Gebrauch, siehe "sourceLevel"

• sourcePlaystate - Durch "sourcePlaystate" wird festgelegt was mit der laufenden

Beschreibung der SMIL-Struktur

23

Page 36: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

34W3C Beschreibung des Elementes "switch"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-content.html#edef-switch]

Präsentation passiert aus der heraus referenziert wird. Wird "play" eingesetzt so läuft diePräsentation weiter. Wird "pause" eingesetzt so wird die Präsentation angehalten, siekann aber an der gleichen Stelle weiterlaufen. Wird "stop" definiert so wird diePräsentation angehalten und beendet.

Der Standardwert von "sourcePlaystate" hängt vom Attribut "show" ab. Wird in "show"der Wert "new" definiert so ist der Defaultwert von "sourcePlaystate" "play". Wird in"show" der Wert "replace" oder "pause" definiert so ist der Defaultwert von"sourcePlaystate" "pause". Der Defaultwert von "show" ist "replace".

• destinationPlaystate - Durch das Attribut wird festgelegt wie sich die Präsentation bzw.das Medium verhalten soll auf das verwiesen wird. Der Wert "play" lässt die referenziertePräsentation normal abspielen, "play" ist der Standardwert für das Attribut. Wird derWert auf "pause" gesetzt so wird das Medium an dem Punkt, an den das Mediumreferenziert wird, angehalten.

• show - "show" definiert was mit dem aktuellen Stand der Quellpräsentation passiert,wenn der Link aktiviert wird. Wird "show" mit "new" initialisiert so öffnet sich diereferenzierte Präsentation in einem neuem Fenster, wobei die Quellpräsentationweiterläuft. Wird der Wert "pause" gesetzt so wird die Quellpräsentation zum Zeitpunktder Aktivieren des Links angehalten. Wird der Wert "replace" gesetzt so wird dasReferenzierte Medium im selben Fenster angezeigt wie die Quellpräsentation. DieQuellpräsentation ist dann nicht mehr zu sehen. "replace" ist der Standardwert von"show".

• accesskey - Mit diesem Attribut lässt sich wie in HTML 4 eine Tastenkombination zurAktivierung des Links setzen.

• tabindex - "tabindex" wird in gleicher Weise verwendet wie in HTML 4. Das Attributkann einen Zahlenwert enthalten, der die Reihenfolge bei Auswahl des Links über dieTabulatortaste festlegt. Kleine Zahlen werden dabei eher ausgewählt als große.

• target - Über das "target" Attribut kann das Zielfenster bzw. die Zielregion des Linksgesetzt werden. Als Wert wird dabei die ID bzw. der Name der Zielregion genutzt. Wennsowohl das "target" als auch das "show" Attribut definiert wurden, wird das "target"Attribut verwendet.

• external - Das Attribut definiert ob das Ziel des Links im aktuellen Wiedergabeprogrammoder einem vom System für diesen Dateityp festgelegtem Programm geöffnet werdensoll. Zulässige Werte sind "true" und "false". Durch das Setzen von "true" wird dasöffnen in einem externen Programm erlaubt. Der Defaultwert ist "false".

zulässige Kindelemente

• Alle zulässigen Kindelemente von "body" mit Ausnahme des "a"-Elementes selbst.

3.5.1.6. <switch>

Das "switch"-Element erlaubt es mehrere alternative Elemente anzugeben. Ein Kindelementvon "switch" wird genau dann ausgewählt wenn es den Anforderungen der imAbspielprogramm gemachten Einstellungen genügt. Es wird immer das erste zutreffendeKindelment angezeigt, bei der die benutzten Testattribute wahr werden.34

"switch" ist sowohl im "body"- als auch im "head"-Element erlaubt.

3.5.1.6.1. Das "switch"-Element im "head"-Element

Mit dem "switch" im "head" lassen sich beispielsweise unterschiedliche Layoutbereichedefinieren in Abhängigkeit davon ob Untertitel angezeigt werden sollen oder nicht. Siehe

Beschreibung der SMIL-Struktur

24

Page 37: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

dazu, das "layout"-Element.

3.5.1.6.2. Das "switch"-Element im "body"-Element

Wie das "switch"-Element im "body" zum Einsatz kommt, zeigt das folgende Beispiel.

Beispiel 3.14. Beispiel zur Anwendung des "switch"-Elementes

...<switch><video src="high_quality.rm" systemBitrate="500000" /><video src="medium_quality.rm" systemBitrate="128000" /><video src="low_quality.rm" systemBitrate="56000" /></switch>...

Die Videos im Beispiel sind in verschiedenen Qualitätsstufen abgespeichert worden.Innerhalb des "switch" Elementes werden alle mit dem Testattribut "systemBitrate"angeboten. Die Abspielsoftware wählt nun das erste Element bei dem das Testattribut mit denEinstellungen des Programmes bezüglich der Bandbreite übereinstimmt. Liegt beispielsweiseeine ISDN-Verbindung mit 128K Übertragungsrate vor, so wird das erste Video verworfen.Für das erste Video ist eine Bandbreite von 500K notwendig was in etwa einer DSLVerbindung entspricht. Beim zweiten Video ist die Überprüfung erfolgreich und das Elementwird abgespielt. Das dritte Element wird nicht überprüft. Solche Überprüfungen derBandbreite müssen daher immer absteigend sein, da sonst sofort das erste Element abgespieltwird.

3.5.1.7. Animation Modu-Elemente

Es gibt vier Tags mit denen Animationen an Objekten durchgeführt werden können."animate","animateColor","animateMotion" und "set". Die Elemente sind eng miteinanderverwandt, so das die Attributliste in etwa übereinstimmt.

Die Animationselemente ändern zur Laufzeit die Attribute der Medienobjekte auf die sieangewendet werden. Beispielsweise kann mit "animateColor" auf einfache Weise die Farbedes Elementes geändert werden. Zu Beachten ist dabei, dass die Animationen nichtfunktionieren können wenn das zu verändernde Attribut nicht gesetzt wurde. Wird z.B. mitdem "animate" Elemente eine Änderung von "left" vorgenommen, so sollte das Attribut "left"im Medienobjekt gesetzt werden um ein problemlose Anzeige zu gewährleisten.wichtigste Attribute

• attributeName - Definiert den Namen des Attributes das geändert werden soll. ZulässigeWerte sind beispielsweise "top", "left", "bottom", "top", "width", "height","color" und"backgroundColor". Die zulässigen Werte sind je nach Element unterschiedlich. Das"animateColor" Element kann z.B. nur effektiv mit "color" und "backgroundColor"umgehen.

• from - Legt fest von welchem Wert die Animation des in "attributeName" festgelegtenAttributes gestartet werden soll.

• to - Legt fest auf welchen Wert das Attribut animiert werden soll.• by - Legt fest um welchen Wert das Attribut verändert werden soll.• values - Definiert eine Liste von Werten, die die Animation durchlaufen soll.• Sehr nützlich sind auch die Elemente des Timing- und Synchronisations-Modul um z.B.

die Animation zeitlich zu begrenzen oder zu definieren was passiert wenn sie beendet ist.• calcMode - Das Attribut legt fest in welcher Art die einzelnen Werte von "values"

abgearbeitet werden. Zulässige Werte sind "linear" (Defaultwert), "discrete" und "paced".Tabelle 3.3. Grafische Darstellung des Attributes "calcMode"35

Beschreibung der SMIL-Struktur

25

Page 38: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

35Quelle: W3C Beschreibung von "calcMode"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/animation.html#adef-calcMode]

<animate dur="30s" values="0; 6; 5; 11; 10; 16" calcMode="[...]" />

Abbildung 3.4. Zeitablaufdiagramm"linear"

calcMode="linear"

Die Punkte werden in gleichmäßigen Zeitabständenabgearbeitet. Zwischenwerte werden interpoliert undebenfalls angezeigt.

Abbildung 3.5. Zeitablaufdiagramm"discrete"

calcMode="discrete"

Die Punkte werden in gleichmäßigen Zeitabständenabgearbeitet. Zwischenwerte werden nicht interpoliert.

Abbildung 3.6. Zeitablaufdiagramm"paced"

calcMode="paced"

Die Punkte werden zeitlich gestaffelt abgearbeitet.Zwischenwerte werden interpoliert und dargestellt.

• accumulate - Definiert ob die Animation kumulativ ist. Ist der Wert auf "sum" gesetzt, sosetzt bei mehreren Wiederholungen die Animation auf den jeweiligen Endwert dervorhergehenden Wiederholung auf.

• additive - Definiert ob die Animation additiv ist, d.h. ob die Werte des Elementattributesund Animationen mit niedrigerer Priorität überschrieben werden. Zulässige Werte sind"sum" und "replace". "sum" bewirkt ein Aufsetzen auf den bisherigen Eigenschaften."replace" überschreibt die bisherigen Eigenschaften von Elementen oder Animationen.

• targetElement - Mittels "targetElement" lässt sich ein Element bestimmen auf das dieAnimation angewendet wird.

zulässige Kindelemente

• Es sind keine Kindelemente zulässig.

3.5.1.7.1. <animate>

Beschreibung der SMIL-Struktur

26

Page 39: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

36W3C Beschreibung von "animate" [http://www.w3.org/TR/2005/REC-SMIL2-20050107/animation.html#edef-animate]37W3C Beschreibung zum "animateColor" Element[http://www.w3.org/TR/2005/REC-SMIL2-20050107/animation.html#edef-animateColor]38W3C Beschreibung zum Element "animateMotion"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/animation.html#edef-animateMotion]39W3C Beschreibung zu "set" [http://www.w3.org/TR/2005/REC-SMIL2-20050107/animation.html#edef-set]

Das "animate"-Elemente ist ein grundlegendes Element mit dem sich anhand von AttributenAnimationen realisieren lassen. Die anderen drei Elemente "animateColor", "animateMotion"und "set" sind Abwandlungen dieses Elementes. Das Element hat keine Kindelemente.36

Zur Anwendung kommt das Element als Kindelement von Medienobjekten. Die Animationbezieht sich dann auf das jeweilige Medienobjekt. Wichtigstes Attribut dabei ist"attributeName" mit dem der Parameter ausgewählt werden kann, welcher animiert werdensoll. Über die Attribute "from", "to", "by" und "values" können dann Änderungen an denEigenschaften des Medienobjektes vorgenommen werden.Beispiel 3.15. Beispiel zum Gebrauch von "animate"

<img fit="meet" id="img" src="files/sonne.jpg"top="10" region="r1" dur="15s">

<animate attributeName="top" to="30" dur="1s" fill="freeze"/></img>

3.5.1.7.2. <animateColor>

Mittels "animateColor" ist es möglich Vorder- und Hintergrundfarben zu animieren.Beispiel 3.16. Beispiel zum Gebrauch von "animateColor"

<animateColor id="a1" targetElement="timedElement"attributeName="backgroundColor"begin="0" dur="5s"by="#0000ff" fill="freeze"/>

<animateColor id="a2" targetElement="timedElement"attributeName="backgroundColor"begin="5" dur="5s"to="#ff0000" fill="freeze"/>

Durch die beiden Animationen wird die Hintergrundfarbe des Zielelementes zuerst soanimiert das der Blauanteil des RGB-Wertes durch das Attribut "by" auf 100% ansteigt. DerRot- und Grünanteil bleibt erhalten. Die zweite Farbanimation die gleich danach folgt ändertden bisherigen Farbwert komplett auf "#ff0000" also Rot. Durch fill="freeze" bleibt derFarbwert nach der Animation erhalten.37

3.5.1.7.3. <animateMotion>

Mittels "animateMotion" soll es möglich sein die Position eines Elementes entlang einesPfades zu ändern. Es ist möglich ein Koordinatenpaar in die Attribute "from", "to" oder "by"einzusetzen. Die zweite Möglichkeit ist eine Liste von Koordinaten durch Semikolon getrenntin das Attribut "values" einzutragen. Koordinaten haben die Syntax "x-Koordinate,y-Koordinate".38

3.5.1.7.4. <set>

Mit dem "set"-Element lassen sich Attribute eines Medienobjektes temporär ändern. "set"ändert die Werte nicht permanent. Das Animationsobjekt kann alle Elementattributeanimieren inklusive String- und Boolwerten. Trotzdem ist das "set"-Element stärkereingeschränkt als "animate", es kann keine additiven oder kumulativ Animationenausführen.39

Beschreibung der SMIL-Struktur

27

Page 40: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

40W3C Beschreibung des "prefetch"-Elementes[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-content.html#edef-prefetch]41W3C Beschreibung des Elementes "anchor"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/extended-linking.html#edef-anchor]42W3C Beschreibung des Elementes "area"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/extended-linking.html#edef-area]

3.5.1.8. <prefetch>

Mittels "prefetch" ist es möglich Medienobjekte in den Streamingbuffer zu laden.Normalerweise werden die Medienobjekte durch das jeweiligen Abspielprogramm oderPlugin automatisch gestreamt. Das "pretetch"-Element ermöglicht nun eine zusätzlicheKontrolle zu welchem Zeitpunkt das Buffern durchgeführt werden soll.40

wichtigste Attribute

• mediaSize - Definiert wie viel des Mediums gebuffert werden soll in Bezug auf dieSpeichergröße des Mediums. Zulässige Werte sind Zeiteinheiten und prozentuale Werte.Der Defaultwert ist "100%".

• mediaTime - Definiert wie viel des Mediums gebuffert werden soll in Bezug auf dieLänge des Gesamtmediums. Zulässige Werte sind Zeiteinheiten und prozentuale Werte.Der Defaultwert ist "100%". Wird "mediaSize" und "mediaTime" definiert, so wirdlediglich das "mediaTime" Attribut durch das Abspielprogramm genutzt.

• bandwidth - Das Attribut legt fest wie viel der verfügbaren Bandbreite für das Bufferngenutzt werden soll. Zulässig sind Angaben der Bandbreite als Integerzahlen oder eineprozentuale Angabe wie viel der Bandbreite genutzt werden darf. Der Defaultwert ist"100%".

zulässige Kindelemente

• Es sind keine Kindelemente zulässig.

3.5.2. Untergeordnete Body-ElementeUntergeordnete "body"-Elemente sind Elemente, die nicht direkt als Kindelement von "body"vorkommen dürfen.

3.5.2.1. <anchor>

Das "anchor" Element stammt noch aus der SMIL 1.0 Version. Ab Version SMIL 2.0 gehörtes nicht mehr zum offiziellen Sprachstandard. Es wird empfohlen stattdessen das "area"-Element zu verwenden.41

3.5.2.2. <area>

Beim "a"-Element lässt sich lediglich ein gesamtes Medienobjekt verlinken. Das"area"-Element ermöglicht es, Teilflächen des Mediums zu verlinken. Das "area"-Elementwird dabei als Kind des zu verlinkenden Mediums gesetzt. Das "area"-Element selbst kannkeine Kindelemente aufnehmen.

Sollen auf einem Medium mehrere Teilflächen verlinkt werden, so müssen mehrere"area"-Elemente als Kindknoten angelegt werden. Mittels "area" lassen sich dreiAnwendungsszenarien realisieren.42

Erstens kann es genutzt werden um die Teilfläche eines Mediums zu verlinken. Dabei könnensowohl absolute als auch relative Größenangaben genutzt werden. Relative Angaben habendabei den Vorteil, dass die Links bei einer Skalierung des Mediums an der gleichen Stellebleiben.Beispiel 3.17. Beispiel zum Gebrauch von "area" zur Verlinkung von Teilflächen

Beschreibung der SMIL-Struktur

28

Page 41: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

43Quelle: W3C Beschreibung des "area"-Elementes[http://www.w3.org/TR/2005/REC-SMIL2-20050107/extended-linking.html#edef-area]

...<img src="files/sonne.jpg"><area href="excl.smil" coords="0%,0%,100%,50%"/><area href="1.smil" coords="0%,50%,100%,100%"/></img>...

Abbildung 3.7. Grafische Darstellung der Verlinkung durch "area"

Ein zweiter Anwendungsbereich ergibt sich im zeitabhängigen Verlinken von Medien. DurchTiming-Attribute wie "dur" und "begin" lassen sich Medien zu verschiedenen Zeitenunterschiedlich verlinken.Beispiel 3.18. Beispiel zur Gebrauch von "area" zur zeitabhängigen Verlinkung

...<video src="files/PIC_0010.rm" id="video"><area href="excl.smil" begin="0s" dur="10s"

title="erster Link"/><area href="1.smil" begin="10s" end="video.end"

title="zweiter Link"/></video>...

Mit dem "area"-Attribut ist es außerdem möglich Sprungziele zu setzen. Diese Sprungzielekönnen zeitabhängig sein, d.h. es ist z.B. möglich einen Link auf eine SMIL Präsentation zusetzen, die ein Video abspielt, wobei das Video durch "area" zeitlich aufgeteilt wurde. DerLink startet dann die Präsentation nicht vom Anfang, sondern ab der Stelle ab der die "area"beginnt. Um das "area" Attribut referenzieren zu können, muss ihm eine ID zugewiesenwerden. Die Referenzierung geschieht wie in HTML mit dem Linkanhang "#". Der Aufbaudes Links ist also wie folgt: "URL#ID".Beispiel 3.19. Beispiel zum Gebrauch von "area" als Sprungziel43

Presentation A:...<a href="http://www.example.org/mm/presentationB#tim">

<video id="graph" src="rtsp://www.example.org/graph.imf"region="l_window"/>

</a>...

Presentation B:...<video src="http://www.example.org/CoolStuff"><area id="joe" begin="0s" end="5s"/><area id="tim" begin="5s" end="10s"/>

</video>...

wichtigste Attribute

Beschreibung der SMIL-Struktur

29

Page 42: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

44Quelle: W3C Beschreibung des Attribut "nohref"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/extended-linking.html#adef-nohref]45Quelle: W3C Beschreibung des Elementes "param"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/extended-media-object.html#edef-param]

• zulässig sind alle Attribute des "a"-Elementes• id - Das Attribut dient dazu das Element eindeutig zu benennen. Im Zusammenhang mit

dem "area"-Element wird es vorrangig als Ziel für eine Referenz benutzt.• nohref - "nohref" legt fest, dass das Medium keinen Link enthält, auch wenn andere

"area"-Element dies versuchen. Das Attribut wird mit dem Wert "nohref" gesetzt.44

• shape - Mittels "shape" kann die Form der Linkfläche definiert werden. Zulässige Wertesind "rect" (Rechteck - Defaultwert), "circle" (Kreis), "poly" (Polygon), "default".

• coords - "coords" dient der Angabe der Koordinaten der Linkfläche. Die Angabe erfolgtin x-y-Koordinatenpaaren. Wenn "shape" auf "rect" steht, werden die Koordinaten z.B.im Format "x-Koordinate-links, y-Koordinate-links, x-Koordinate-rechts, y-Kooridate-rechts" angegeben.

Wenn "shape" auf "circle" gestellt wurde, wird ein Koordinatenpaar und der Radiusverlangt, z.B. 'coords="50%,50%,20"'. Diese Werte zeigen die Angaben für eine mittigplatzierte Kreislinkfläche mit einem Radius von 20 Pixeln.

zulässige Kindelemente

• Keine Kindelemente zulässig.

3.5.2.3. <param>

Mittels "param" lassen sich benötigte Informationen bzw. Laufzeitparameter füreingebundene Medien bereitstellen.Beispiel 3.20. Beispiel zum Gebrauch von "param"45

<ref src="http://www.example.com/herbert.face"><param name="mood" value="surly" valuetype="data"/><param name="accessories"

value="baseball-cap,nose-ring"valuetype="data"/>

</ref>

Vergleichbar ist das Element mit dem gleichnamigen Element im HTML-Standard. Dortlassen sich durch "param" nähere Informationen zu einem mit "object" eingebundenen Objekterstellen. Beispielsweise ob bei der Wiedergabe einer SMIL-Datei die Navigationselementedes Players im Browser angezeigt werden sollen oder nicht.wichtigste Attribute

• name - Definiert den Namen des eingebundenen Laufzeitparameters.• value - Definiert den Wert des Laufzeitparameters.• valuetype - Definiert den Type von "value". Zulässige Werte sind "data", "ref" und

"object".

"data" ist der Defaultwert und weist darauf hin, das der Laufzeitparameter direkt in"value" eingegeben wurde.

"ref" weist darauf hin das der Laufzeitparameter an der in "value" übergebenen URL zufinden ist.

Wird "object" übergeben so ist der Wert von "value" die ID eines im selben Dokumentvorkommenden Objektes. Der Laufzeitparameter ist dann identisch mit dem desreferenzierten Objektes.

• type - Das Attribut kann eingesetzt werden wenn das "value"-Attribut ein Referenz aufein externe Datei beinhaltet. In diesem Fall gibt es den Typ des Dokumentes im MimeFormat an. Zulässige Werte sind z.B. "text/html", "image/png", "image/gif", "video/mpeg", "text/css", and "audio/basic".

zulässige Kindelemente

Beschreibung der SMIL-Struktur

30

Page 43: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

46W3C Beschreibung des Elementes "priorityClass"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-timing.html#edef-priorityClass]

• Es sind keine Kindelemente zulässig.

3.5.2.4. <priorityClass>

"priorityClass" gruppiert "excl"-Kindelementen und bestimmt deren Eigenschaften in Bezugauf Pausen und Unterbrechungen. Das "priorityClass"-Element kann nur als Kindelement von"excl" verwendet werden. Wird ein "priorityClass"-Element verwendet, so müssen auch alleanderen Kindelemente von "excl" innerhalb von "priorityClass"-Elementen geschriebenwerden. Enthält ein "excl"-Element mehrere "priorityClass"-Elemente so ergibt sich nach derReihenfolge des Aufführens eine Prioritätsreihenfolge. Das bedeutet, das"priorityClass"-Element, welches als erstes innerhalb des "excl"-Element aufgeführt ist, hatdie höchste Priorität, das darauffolgende Element hat die nächstniedrigerer Priorität, usw.

"priorityClass" hat keinen Einfluss auf den zeitlichen Ablauf, d.h. Kinder von"priorityClass"-Elementen verhalten sich in der zeitlichen Abfolge wie Kinder von "excl".46

wichtigste Attribute

• peers - Das Attribut legt fest, was passiert wenn ein Element b das aktiv laufende Elementa unterbricht. Der Defaultwert ist "stop". Er bewirkt, dass das unterbrochene Element agestoppt und beendet wird.

Durch setzen von "pause" wird das aktuell laufende Element a unterbrochen und dasElement b wird abgespielt. Das Element a wird in eine Pausen-Liste eingetragen. Wenndas Element b beendet wurde, werden die Elemente der Pausenliste nacheinander ab demZeitpunkt ihrer Unterbrechung abgespielt.

Bei Verwendung von "defer" wird das aktuell laufende Element nicht unterbrochen. Dasunterbrechende Element b wird nach Ablauf des aktiven Durchlaufes von awiedergegeben.

Durch das Setzen von "never" wird das neue Element ignoriert, das laufende Elementwird nicht unterbrochen.

• higher - Das Attribut entscheidet darüber wie Elemente mit höherer PrioritätKindelemente dieser "priorityClass" unterbrechen. Der Defaultwert ist "pause". Durchsetzen von "pause" wird das aktiv laufende Element durch ein Element höherer Prioritätunterbrochen und erst fortgesetzt wenn das unterbrechende Element beendet ist.

Durch das Setzen von "stop" wird das aktiv laufende Element durch das Element höhererPriorität unterbrochen und beendet.

• lower - Das Attribut entscheidet darüber wie Elemente mit niedrigerer PrioritätKindelemente dieser "priorityClass" unterbrechen dürfen. Der Defaultwert ist"defer".Durch setzen von "defer" wird das aktive Element nicht unterbrochen. Dasunterbrechende Element wird in eine Liste eingefügt. Nach Ablauf des aktiv laufendesElementes werden die Elemente aus der Liste wiedergegeben.

Durch setzen von "never" wird das neue Element ignoriert; das laufende Element wirdnicht unterbrochen.

• pauseDisplay - Mit dem Attribut wird definiert was passiert, wenn ein Element gestopptwird, daher ist der Gebrauch nur sinnvoll wenn "peers" oder "higher" den Wert "pause"annehmen.

Der Wert "disable" bewirkt, dass das Element ausgegraut wird und nicht mehr anwählbarist. Außerdem reagiert es nicht mehr auf Mouseevents.

Wird das Attribut auf "hide" gesetzt, so werden eventuell laufende Effekte nicht mehrangezeigt.

Beschreibung der SMIL-Struktur

31

Page 44: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

47W3C Beschreibung des Attributes "id" [http://www.w3.org/TR/SMIL/structure.html#adef-id]48W3C Beschreibung des Attributes "class" [http://www.w3.org/TR/SMIL/structure.html#adef-class]

Wird das Attribut auf "show" gesetzt, so wird das Element normal (mit allen Effekten)angezeigt. "show" ist der Defaultwert.

zulässige Kindelemente

• alle zulässigen Kindelemente von "body"

3.6. AttributeViele Elemente unterstützen nicht nur ihre Standardattribute, d.h. Attribute, die sich direktauf die Funktionalität beziehen, sondern auch eine Reihe anderer Attribute. Die im folgendenAbschnitt aufgelisteten Attribute erheben nicht den Anspruch auf Vollständigkeit. Vielmehrsoll ein Überblick über häufig gebrauchte und wichtige Attribute geschaffen werden.Attribute, die bereits bei den Elementbeschreibungen veranschaulicht wurden, werden hier inder Regel nicht mehr aufgeführt.

3.6.1. Universalattribute

3.6.1.1. id

Mit dem "id"-Attribut kann einem Element ein dokumentweit eindeutiger Namen vergebenwerden. Der Name wird dann zur Identifikation des Elementes genutzt. Beispielsweise ist esnur möglich ein SMIL-Medienobjekt einem "region"-Element zuzuweisen wenn man dessenID kennt. Der Name der ID muss konform der XML-Anforderung für Namen sein, d.h. essind lediglich Buchstaben, Ziffern und die Zeichen "_" (Unterstrich), "-" (einfacherBindestrich), "." (Punkt) sowie ":" (Doppelpunkt) verfügbar. Außerdem darf das ersteZeichen keine Zahl sein; es wird empfohlen einen Buchstaben zu verwenden. Leerzeichensind genausowenig erlaubt wie die Buchstabenkombination "xml" am Anfang einesNamens.47

3.6.1.2. class

Das Attribut weist dem Element eine oder mehrere Klassen zu, die dann für das Elementgültig sind. Werden mehrere Klassen angegeben, so müssen sie durch Leerzeichen getrenntwerden. Das Vergeben von Klassen erlaubt den Einsatz von CSS-Formatierungen. Da dasFormatieren mittels CSS in SMIL-Dateien aber mehr zur Ausnahme als zur Regel gehört,wird dieses Attribut selten benötigt.48

3.6.1.3. skip-content ( "true" / "false" )

Mit dem "skip-content"-Attribut kann gesteuert werden was passiert wenn neuere Elemente,als die in der Spezifikation enthaltenen, eingebunden werden. In der Anwendung werdenzwei Fälle unterschieden.• Angenommen es wird in einer späteren SMIL-Version ein Element eingeführt, was bis

dato noch nicht existiert, so kann das "skip-content"-Attribut steuern, was mit denzulässigen Kindelementen passieren soll, wenn es in einem SMIL 2.0 Playerwiedergegeben wird. Wird "skip-content" mit "true" gesetzt, so werden die Kindelementedes neuen Elementes ignoriert. Wird "false" angegeben werden die Kindelementeangezeigt, dadurch können eventuell Fehler bei der Wiedergabe auftreten.

• Erhält ein, in dieser SMIL-Version, leeres Element in einer kommenden VersionKindelemente so kann "skip-content" steuern ob die Elemente ignoriert werden wenn ein

Beschreibung der SMIL-Struktur

32

Page 45: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

49Quelle: W3C Beschreibung zum "skip-content"-Attribut[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-content.html#adef-skip-content]50W3C Beschreibung des Attributes "xml:lang" [http://www.w3.org/TR/SMIL/structure.html#adef-xml:lang]51Quelle: W3C, CSS2 Spezifikation von Farbwerten [http://www.w3.org/TR/REC-CSS2/syndata.html#color-units]

SMIL 2.0 Player verwendet wird. Ist der Wert auf "true" gesetzt, so werden Kindelementenicht angezeigt. Ist der Wert auf "false" gesetzt werden Kindelemente angezeigt, dadurchkönnen Syntaxfehler auftreten.

Der vorgegebene Wert von "skip-content" ist "true".49

3.6.1.4. xml:lang

"xml:lang" definiert die Sprache eines Elementes. Das Attribut ist nicht konform zu demTest-Attribut "systemLanguage", da es die Sprache des Elementes festlegt, aber die Ausgabedes Dokumentes nicht verändert. Wohingegen Elemente in denen "systemLanguage"definiert wurde nur angezeigt werden, wenn der Player diese Sprache ausgeben soll.50

3.6.1.5. xmlns

Mit dem Attribut kann der XML-Namensraum des Elementes definiert werden.

3.6.2. FarbattributeMit den Attributen "color" und "backgroundColor" ist es möglich die Farbe bzw.Hintergrundfarbe eines Objektes festzulegen. Diese Attribute werden bei einer SMIL-Animation vorrangig im "brush"- und im "region"-Element angewandt. Die zulässigen Wertesind dabei CSS2 konform. Zulässig sind z.B. "red", "#f00", "#ff0000", "rgb(255,0,0)" und"rgb(100%, 0%, 0%)". Alle als Beispiel genannten Werte stellen die gleiche Farbe dar,nämlich ein Rot ohne Grün oder Blauanteile.51

3.6.3. Timing- und Synchronisation-AttributeMit den Attributen kann die zeitliche Steuerung von Medienobjekten und Elementen wiebeispielsweise Mediencontainern, Animationen und Effekten konfiguriert werden.

3.6.3.1. Syntax von Zeitangaben

SMIL bietet umfangreiche Möglichkeiten der Formatierung von Zeitangaben. EinfacheZeitangaben lassen sich grob in drei Bereiche einteilen. Die volle Zeitdarstellung (engl. "fullclock value") erfolgt nach dem folgenden Schema "Stunden : Minuten : Sekunden" wobeioptional noch eine dreistellige Millisekundenanzahl angegeben werden kann. DieMillisekundenzahl wird mit einem Punkt (" . ") an die Zeitdarstellung angehängt. Dieverringerte Zeitdarstellung (engl. "partial clock value") enthält lediglich Minuten, Sekundenund den optionalen Millisekundenanteil. Als dritte Darstellung existiert dieZeitlängenanzeige (engl. "timecount value"). Hier wird der Wert nur in einer Zeitgrößeangegeben. Zur Kennzeichnung der Zeitgröße werden die Kürzel "h" für Stunden, "min" fürMinuten, "s" für Sekunden und "ms" für Millisekunden verwendet. Es ist möglich auchgebrochene Zeitangaben zu benutzen. Die Angabe beruht dann auf der zehner-, hunderter-oder tausender-Basis.Beispiel 3.21. Einige Beispiel zur Angabe von Zeitwerten

Full clock values:02:30:03 = 2 hours, 30 minutes and 3 seconds50:00:10.25 = 50 hours, 10 seconds and 250 milliseconds

Beschreibung der SMIL-Struktur

33

Page 46: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

52siehe: Date and Time Formats (W3C Note) [http://www.w3.org/TR/1998/NOTE-datetime-19980827]53Quelle: W3C Beschreibung der "Wallclock Synchronisation"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-timing.html#Timing-WallclockSyncValueSyntax]

Partial clock value:02:33 = 2 minutes and 33 seconds00:10.5 = 10.5 seconds = 10 seconds and 500 milliseconds

Timecount values:3.2h = 3.2 hours = 3 hours and 12 minutes45min = 45 minutes30s = 30 seconds5ms = 5 milliseconds12.467 = 12 seconds and 467 milliseconds

Neben den Zeitangaben zur Darstellung einer Zeitdauer ist es möglich mit dem"wallclock"-Wert eine Uhrzeit zur Synchronisation zu benutzen. Das Format der Uhrzeitentspricht der Datetime - Definition, einer Notiz52 des W3C, welche wiederum auf der ISONorm 8601 basiert.

Das folgende Beispiel demonstriert den Einsatz des "wallclock"-Wertes für den 28.07.199015.30 Uhr US Pazifische Zeitzone.

begin="wallclock( 1990-07-28T15:30-08:00 )"

Die "wallclock"-Angabe für 8.00 Uhr des aktuellen Tages in der jeweiligen Zeitzone lautet:53

begin="wallclock( 08:00 )"

Mittels dem "Dynamic Object Model", kurz DOM, ist es möglich Zeitpunkte an den Start-und Endpunkten von anderen Elementen auszurichten. Dazu ist es notwendig das Objekte,die als Start- oder Endpunkt genutzt werden sollen, eine zugewiesene ID besitzen. Nach demID-Wert steht durch einen Punkt getrennt das Ereignis, das als Zeitpunkt benutzt werden soll.Nun kann noch durch arithmetisches Hinzufügen einer Zeitlänge ein Offset zum gewünschtenWert erstellt werden.

<id-value>.<event> (+ | - <Zeitangabe>)image2.begin + 3min

Beispiel 3.22. Anwendung von Timing-Attributen im Element "par"

...<par><img id="image1" begin="0s" dur="5s"

src="files/sonne.jpg" transOut="crossfade_2s"/><img id="image2" begin="image1.end-2s" dur="5s"

src="files/mond.jpg" /></par>

...

Abbildung 3.8. Grafische Darstellung des Beispiels

Im "par"- und "excl"-Zeitcontainer kann mittels der ID und einem Event der Zeitpunktdefiniert werden. Im "seq"-Zeitcontainer sind Angaben der ID nicht erlaubt. Offsetwerte alsnegative Startzeiten sind jedoch zulässig, wenn sie nicht im ersten Objekt gesetzt werden. Die

Beschreibung der SMIL-Struktur

34

Page 47: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

54siehe: DOM Level 2 Events Specification [http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/]

Offsetwerte im "seq" Zeitcontainer beziehen sich immer auf das vorher angezeigte Element.

Erst durch den Gebauch von Timing- und Synchronisation-Attributen sind Überblendungenvon einem Bild auf ein anderes möglich, da dazu das Bild zu dem übergeblendet wird imHintergrund liegen muss. Das obige Beispiel verdeutlicht eine solche Überblendungzwischen zwei Bildern. Durch das Setzen von "begin="image1.end-2s"" beginnt das zweiteBild zwei Sekunden bevor das erste nicht mehr angezeigt wird. Der hinzugefügteÜberblendeffekt im ersten Imageobjekt soll einen 2 Sekunden andauernder Crossfade sein.So wird vom einen Bild auf das andere Übergeblendet.

Der DOM-Zugriff erlaubt auch noch weitere Ereignisse an denen ein Zeitpunkt ausgerichtetwerden kann. Sie werden in der W3C Empfehlung der "Document EventModel"-Spezifikation definiert. 54Einige Werten die in SMIL häufig gebraucht werden sind:• <id-value>.begin - Der Wert ermöglicht das Setzen eines Zeitpunktes anhand des

Startzeitpunkt eines anderen Objektes.• <id-value>.end - Der Wert ermöglicht das Setzen eines Zeitpunktes anhand des

Endzeitpunkt eines anderen Objektes.• <id-value>.click - Der Zeitpunkt wird anhand des Mausklicks auf ein Objekt gesetzt.• <id-value>.repeat(x) - Der Zeitpunkt ist auf den Beginn der x-ten Wiederholung des

Elementes gesetzt.

3.6.3.2. begin

Mit "begin" kann der Startzeitpunkt eines Objektes festgelegt werden. Wichtig ist dabei dasder Startzeitpunkt nicht vor dem Startpunkt des Zeitcontainers liegt in dem das Objektangezeigt wird. Z.B. kann innerhalb eines "par"-Elementes ein "img"-Element nicht mit'begin="-10s"' beginnen, da der Beginn vor dem Anzeigen des gesamten "par"-Zeitcontainers liegen würde.

3.6.3.3. end

Das Attribut definiert den Endzeitpunkt des Objektes. Besonders wirkungsvoll ist dasAttribut um Objekte in der Länge ihrer Anzeige zu synchronisieren.

3.6.3.4. dur

"dur" bestimmt die Länge der Anzeige eines Medienobjektes.

3.6.3.5. max

Definiert die maximal aktive Zeit eines Elementes. Der Defaultwert von "max" ist"indifinite", d.h. der Defaultwert definiert keine maximale Zeit für das Element. Das Elementkann sinnvoll sein wenn die maximale Zeit eines Elementes nicht feststeht, da z.B. aufEreignisse gewartet wird. Treten die Ereignisse nicht ein kann die Präsentation an andererStelle fortgesetzt werden.

3.6.3.6. min

Definiert, analog zu "max" die minimale aktive Zeit eines Elementes. Auch bei diesemAttribut ist der Defaultwert "indifinite".

3.6.3.7. repeatCount

Beschreibung der SMIL-Struktur

35

Page 48: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

55Beschreibung des Attributes "restart"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-timing.html#adef-restart]

Das Attribut bestimmt die Anzahl der Wiederholungen eines Medienobjektes oder einerSequenz. Zulässige Werte sind Fließkommazahlen größer 0. Die Genauigkeit der Zahl ist aufden Zehntelstellen-Bereich begrenzt.

3.6.3.8. repeatDur

"repeatDur" legt die Zeit fest, die ein Medienobjekt aktiv sein soll. Ist die Zeit einereinfachen Wiedergabe verstrichen, wird das Objekt oder die Sequenz solange wiederholt, bisdie "repeatDur"-Zeit abgelaufen ist.

3.6.3.9. restart

Das "restart"-Attribut legt fest, wann das wiederholte Abspielen eines Objektes passierendarf. Ein wiederholtes Abspielen kann z.B. durch mehrere definierte Startzeitpunkte, daswiederholte Abspielen eines synchronisierten Startobjektes oder ein DOM-Eventhervorgerufen werden.55

• always - Der Wert legt fest, dass das Objekt jederzeit neu gestartet werden darf.• whenNotActive - Mit dieser Einstellung kann ein Objekt nur neu gestartet werden, wenn

es derzeit nicht aktiv ist.• never - Das Objekt darf beim Setzen von "never" nicht neu gestartet werden.• default - Die Neustarteinstellungen hängen von den Einstellungen im "restartDefault"-

Attribut ab. Dies ist der Standardwert des "restart" Attribut.

3.6.3.10. restartDefault

Das Attribut definiert die Defaulteinstellung von "restart". Wird dokumentweit keineEinstellung für "restartDefault" getroffen, so wird "always" für alle Elemente gesetzt.• always - Der Wert legt fest, dass das Objekt jederzeit neu gestartet werden darf.• whenNotActive - Mit dieser Einstellung kann ein Objekt nur neu gestartet werden, wenn

es derzeit nicht aktiv ist.• never - Das Objekt darf beim Setzen von "never" nicht neu gestartet werden.• inherit - Wird "inherit" gesetzt so wird die die "restartDefault"-Einstellung des

Elternelementes übernommen. Dieser Wert ist der Defaultwert von "restartDefault".

3.6.3.11. fill

Mit dem "fill"-Attribute wird bestimmt, was nach Ablauf eines Medienobjektes geschieht.• remove - Der Wert bewirkt, dass das Medienobjekt von der Anzeigefläche verschwindet.• freeze - Das Medienobjekt wird nach Ablauf seiner Aktivität gestoppt, es bleibt jedoch

sichtbar.• hold - Hat den gleichen Effekt wie "freeze". Bei Präsentationen mit Layern wird das

Medienobjekt jedoch neu gerendert wenn einen neues überlagerndes Layer gesetzt wird.• transition - Hat den gleichen Effekt wie "freeze". Das Medienobjekt wird aber erst

ausgeblendet wenn der Überblendeffekt des nachfolgenden Elementes angewandt wurde.• auto - Wenn eines der Attribute "dur", "end", "repeatDur" oder "repeatCount" gesetzt

wurde, verhält sich das Objekt so als wäre "remove" gesetzt worden. Andernfalls verhältes sich so als ob "freeze" ausgewählt wurde.

• default - Der Wert von "fill" hängt vom gesetzten Wert von "fillDefault" ab.

3.6.3.12. fillDefault

Beschreibung der SMIL-Struktur

36

Page 49: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

56W3C Beschreibung des Attributes "syncBehavior"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-timing.html#adef-syncBehavior]

"fillDefault" hat bis auf "default" dieselben Wertemöglichkeiten wie "fill". Zusätzlich kann"fillDefault" mit "inherit" definiert werden. Dadurch wird der "fillDefault"-Wert desElternelementes genutzt. Ist im obersten Knoten kein "fillDefault"-Wert definiert so ist er mit"auto" definiert. Somit erhalten auch alle "fill"-Attribute mit Standardwert den "auto"-Wertzugewiesen.

3.6.3.13. endsync

Mit diesem Attribut lässt sich einstellen, mit welchem Objekt ein Zeitcontainer aus mehrerenObjekten beendet wird. Besonders nützlich ist "endsync" bei Medienobjekten mitunbestimmter Länge. Das "endsync"-Attribut darf nur in den Elementen "par" und "excl",sowie in Medienelementen mit zeitlich gesteuerten Kindobjekte (wie z.B. "animate" oder"area") verwendet werden.Tabelle 3.4. Alle möglichen Werte von endsync und ihre Bedeutung:

Wert Bedeutung

first Der Zeitcontainer endet nachdem das (zeitlich) erste Kindelement beendetwurde.

last Endet nachdem alle Objekte die gestartet wurden, oder einen festgelegtenStartzeitpunkt haben, ihre aktive Phase beendet haben. Wenn ein Objektkeinen festgelegten oder impliziten Startzeitpunkt hat, wird es nichtberücksichtigt. In den Elementen "par" und "excl" ist "last" der Defaultwertvon "endsync".

all Endet nachdem alle Objekte ihre aktive Phase hinter sich haben. Ist esvorgesehen das z.B. ein Objekt durch ein Mouseevent gestartet wird, sowird der Zeitcontainer erst beendet nachdem das Ereignis eingetreten unddas Objekt abgespielt wurde.

media Wird "media" gesetzt so bestimmt das Ende des als Zeitcontainers wirkendeMedienobjekt wann der Zeitcontainer beendet ist. In Medienobjekten ist"media" der Defaultwert von "endsync".

ID-value Der Container wird beendet wenn die aktive Zeit des Elementes abgelaufenist dessen ID als Parameter angegeben wurde. Beispiel:'endsync="video_1"'

3.6.3.14. syncBehavior

Mit diesem Attribut lassen sich mehrere Elemente synchronisieren. Der Wert "canSlip"bewirkt ein Gleiten des Elements um die Zeitdauer des Ladens auszugleichen. "locked"zwingt das Element sich streng an die Zeitdauer des Elternelementes zu halten auch wenndadurch Pausenzeiten entstehen. "independent" bewirkt, dass die Zeitlinie des Elementsunabhängig vom Elterncontainer gesetzt wird. Wird "default" gewählt oder das"syncBehavior"-Attribut nicht gesetzt, so wird der Wert über "syncBehaviorDefault"definiert.56

3.6.3.15. syncBehaviorDefault

"syncBehaviorDefault" legt den Standardwert für "syncBehavior" fest. Zulässig sind dieAngaben "canSlip", "locked" und "independent" welche bereits im Abschnitt zum"syncBehavior" Attribut definiert werden. Zusätzlich kann der Wert "inherit" definiert

Beschreibung der SMIL-Struktur

37

Page 50: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

57W3C Beschreibung des Attributes "syncBehaviorDefault"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-timing.html#adef-syncBehaviorDefault]58W3C Beschreibung des Attributes "syncTolerance"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-timing.html#adef-syncTolerance]59W3C Beschreibung des "syncToleranceDefault" Attributes[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-timing.html#adef-syncToleranceDefault]

werden. Dies ist gleichzeitig der Standardwert des Attributes. "inherit" bewirkt, dass der"syncBehaviorDefault" Wert von der "syncBehaviorDefault"-Einstellung des Elternelementabhängt.57

3.6.3.16. syncTolerance

Wenn "syncBahavior" den Wert "locked" annimmt, kann mit "syncTolerance" eine Zeitdauerfestgelegt werden, die als Toleranzzeitraum gilt. Sollte ein Element noch nicht soweit geladenworden sein, wird erst die angegebene Dauer gewartet bis das Element zum Überspringengezwungen wird. Wird "syncTolerance" mit "default" initiiert, wird der Wert des"syncToleranceDefault"-Attributes genutzt.58

3.6.3.17. syncToleranceDefault

"syncToleranceDefault" legt den Standardwert für "syncTolerance" fest. Zulässig sindZeitangaben und der Wert "inherit". Wird "inherit" ausgewählt oder das Attribut nichtverwendet, so wird der "syncToleranceDefault" Wert des Elternelementes benutzt.59

3.6.3.18. syncMaster

Das Attribut kennzeichnet das Element nach dem sich alle anderen Elemente, die sich imgleichen Zeitcontainer befinden sychronisieren sollen. Der Defaultwert des Attributes ist"false". Wird das Attribut mit "true" initialisiert, werden die Element auf dieses Elementsynchronisiert.

3.6.4. TestattributeMittels Testattributen lassen sich Medienobjekte anhand von technischen Voraussetzungenoder benutzerdefinierte Einstellungen ausblenden. Testattribute werden oft in Zusammenhangmit dem "switch"-Element gebraucht, da dieses die Möglichkeit bietet eindeutigeAlternativen zu definieren. Es ist jedoch auch möglich die Attribute ohne den Einsatz von"switch", als "inline"-Attribut zu benutzen.

Besonders praktisch ist der Einsatz bei der Begrenzung der Bandbreite mittels"systemBitrate". Auf diese Weise ist es erst möglich für unterschiedlich schnelleInternetzugänge unterschiedliche Präsentationenqualitäten zu realisieren, ohne den Nutzermit der Auswahl einer geeigneten Qualität zu belasten. Ein weiteres sehr nützlichesTestattribut ist das "systemLanguage"-Attribut, mit welchem je nach Länderkennungunterschiedliche Medien genutzt werden können.Beispiel 3.23. Beispiel für den Einsatz von "systemCaptions" als "inline"-Attribut

...<seq><par><audio src="audio.rm"/><video src="video.rm"/><textstream src="closed-caps.rtx" systemCaptions="on"/>

</par></seq>...

Beschreibung der SMIL-Struktur

38

Page 51: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

60W3C Beschreibung von "systemComponent"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-content.html#adef-systemComponent]

Das Beispiel zeigt den Einsatz des Attributes "systemCaptions", welches steuert ob Untertitelangezeigt werden sollen oder nicht. Das "textstream"-Element wird angezeigt wenn in denEinstellungen des Abspielprogrammes eingestellt wurde, dass Untertitel angezeigt werdensollen.

3.6.4.1. systemAudioDesc

Zulässige Werte sind "on" und "off". Der Parameter definiert ob eine Audiobeschreibung dergerade sichtbaren Bildschirmereignisse abgespielt werden soll.

3.6.4.2. systemBitrate

Zulässige Werte sind Integerzahlen größer 0. Der Parameter definiert die minimaleBandbreite in "bits per Second", die notwendig ist, um das Element anzuzeigen. Mittelsdieser "Geschwindigkeitsbegrenzung" lassen sich Präsentationen mit unterschiedlicherQualität für unterschiedliche Bandbreiten gestalten.

3.6.4.3. systemCaptions

Zulässige Werte sind "on" und "off". Dieses Attribut erlaubt es (optional durch den Benutzer)gewünschte Untertitel anzuzeigen um z.B. auch Hörgeschädigten die Informationen ausauditiven Medien zu ermöglichen. Der Gebrauch dieses Attributs ist daher nur mit denElementen "text" und "textstream" bzw. "img", also mittels visueller Medien sinnvoll.

Das Element wird angezeigt wenn der Parameter "on" ist und in der Abspielsoftware dieEinstellungen auf "Untertitel anzeigen" gestellt ist.

3.6.4.4. systemComponent

Das Attribut definiert eine Liste von Komponenten, die zur Anzeige des Objektes benötigtwerden. Die Liste enthält URI's, die durch Leerzeichen voneinander getrennt werden. DasElement wird angezeigt wenn das Abspielprogramm eine der in der Liste angegebenenKomponenten kennt. In andern Fällen wird "false" angezeigt.60

3.6.4.5. systemCPU

Mit diesem Testattribut lässt sich überprüfen auf welchem CPU das Abspielprogramm läuft.Zulässige Werte sind: "alpha", "arm", "arm32", "hppa1.1", "m68k", "mips", "ppc", "rs6000","vax", "x86" und "unknown". Zusätzlich Werte sind je nach Abspielprogramm verfügbar.Das Attribut führt zur Anzeige des Elementes wenn der enthaltene Wert mit demtatsächlichen CPU-Typ des Computers übereinstimmt.

3.6.4.6. systemLanguage

"systemLanguage" kann ein oder mehrere (mittels Komma getrennte) Länderkürzel enthalten(nach [RFC1766]). Das Element welches dieses Attribut enthält, wird angezeigt wenn einerder Parameter mit dem der Landessprache in der Benutzereinstellung des Abspielprogrammesübereinstimmt. Z.B. wird ein Element mit 'systemLanguage="de, en"' nur angezeigt wenndie Landessprache auf Deutsch oder Englisch eingestellt ist.

Beschreibung der SMIL-Struktur

39

Page 52: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

61W3C Beschreibung des Attributes "systemRequired"[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-content.html#adef-systemRequired]

3.6.4.7. systemOperatingSystem

Mit diesem Testattribut lässt sich überprüfen auf welchem Betriebssystem dasAbspielprogramm installiert ist. Zulässige Werte sind: "aix", "beos", "bsdi", "dgux","freebsd", "hpux", "irix", "linux", "macos", "ncr", "nec", "netbsd", "nextstep", "nto","openbsd", "openvms", "os2", "osf", "palmos", "qnx", "rhapsody", "sinix", "sco", "solaris","sonly", "sunos", "unixware", "win16", "win32", "win9x", "winnt", "wince" und "unknown".Zusätzlich Werte sind je nach Abspielprogramm verfügbar. Das Attribut führt zur Anzeigedes Elementes wenn der enthaltene Wert mit dem tatsächlichen Betriebssystem-Typübereinstimmt.

3.6.4.8. systemOverdubOrSubtitle

"systemOverdubOrSubtitle" kann die Werte "caption" (Untertitel) oder "overdub"(Synchronisation) annehmen. Das Element wird angezeigt sollten Untertitel bzw.Synchronisation vom Benutzer gewünscht sein.

3.6.4.9. systemRequired

Der Parameter enthält eine Liste von XML-Namespaces in der folgenden Form:

(Anzeige in EBNF)

systemRequiredArgumentValue := NMTOKEN (S? '+' S? NMTOKEN)*

S ::= (#x20 | #x9 | #xD | #xA)+

Mittels "systemRequired" lässt sich überprüfen ob ein oder mehrere XML-Namespacesbekannt sind. Ist ein Wert aus der Liste nicht bekannt, so wird das Trägerelement nichtangezeigt.61

3.6.4.10. systemScreenDepth

Zulässige Werte sind Integerzahlen größer 0. Mittels "systemScreenDepth" lässt sich dieminimale Farbtiefe in "Bit" für ein Element festlegen. Oft benutzte Werte sind 1,2,4,8,24.

3.6.4.11. systemScreenSize

Der Parameter muss die Form "'Bildschirmbreite'x'Bildschirmhöhe'" haben. Bildschirmbreiteund Bildschirmhöhe müssen Integerwerte größer 0 sein und repräsentieren diePixelabmessungen des Bildschirms. Das Element ,welches das Testattribut enthält, wirdangezeigt wenn die reale Bildschirmauflösung gleich oder größer der angegebenen Auflösungist.

3.7. Änderungen in der SMIL Version 2.1Die SMIL Version 2.1 hat derzeit den Status Empfehlungkandidat und wird voraussichtlichin Kürze als Empfehlung eingestuft werden. Diese Version erweitert die Second Edition umeinige Funktionalität. Die wichtigsten Neuerung werden in diesem Abschnitt aufgeführt.

Beschreibung der SMIL-Struktur

40

Page 53: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

62siehe: SMIL 2.1 Moduls [http://www.w3.org/TR/2005/CR-SMIL2-20050513/smil-modules.html]63Quelle: W3C Beschreibung der Vollbildüberblendung (SMIL 2.1 R.C)[http://www.w3.org/TR/2005/CR-SMIL2-20050513/smil-transitions.html#TransitionEffects-FullScreen]64Quelle: W3C Beschreibung der Vollbildüberblendung (SMIL 2.1 R.C)[http://www.w3.org/TR/2005/CR-SMIL2-20050513/smil-transitions.html#TransitionEffects-FullScreen]65Quelle: W3C Anhang zur Taxonomischen Tabelle (SMIL 2.1 RC)[http://www.w3.org/TR/2005/CR-SMIL2-20050513/smil-transitions.html#q5]

3.7.1. Überarbeitete und neu erstellte ModuleIn der Version 2.1 werden einige Veränderungen am SMIL-Framework vorgenommen.Sieben neue Module kamen zum Framework hinzu und vier bestehende Module wurdenüberarbeitet. Einige der neuen Module enthalten die Funktionalität, die in SMIL 2.0 inanderen Modulen zu finden war an diesen Stellen wurde weiter modularisiert. AndereModule wie beispielsweise "FullScreenTransitionEffects" erweitern die bisherigeFunktionalität. Eine Auflistung sämtlicher geänderter und neuer Module lässt sich auf derSMIL 2.1 W3C - Seite finden.62

3.7.2. Überblendeffekte (im Animation-Modul)

3.7.2.1. Vollbildüberblenden

Der "transition"-Überblendeffekt kann nun so eingestellt werden, dass er den gesamtenBildschirm mit einbezieht. Vorher war ein Überblenden nur zwischen einzelnen Teilregionenbzw. Medienobjekten möglich. Das Attribut "scope" innerhalb des "transition"-Elementesermöglicht es nun den Effekt auf den gesamten Bildschirmbereich anzuwenden.63

Um das "transition"- Element in seiner bisherigen Art zu verwenden sind keine weiterenEinstellungen nötig. "scope" wird dann per default mit "region" definiert. Soll derÜberblendeffekt auf den ganzen Bildschirm ausgeweitet werden, so kann "scope" mit"screen" definiert werden.64

3.7.2.2. Zusätzliche Effekte

In Version 2.1 stehen zusätzlich Überblendeffekte für Audioelemente zur Verfügung.Tabelle 3.5. AudioTransitions65

type subType

audioFade fade (default)

audioVisualFade crossfade (default), fadeToColor,fadeFromColor

3.7.3. Das zusätzliche Element "paramGroup""paramGroup" erlaubt es eine Gruppe aus mehreren Parametern zu erstellen. Diese Gruppekann dann gebündelt auf eine Medienreferenz angewendet werden. Eine Parametergruppekann in ein Medienobjekt mit dem Attribut "paramGroup" eingebunden werden. DemAttribut wird die ID der gewünschten Parametergruppe zugewiesen.zulässige Kindelemente

• param

3.7.4. SubregionenIn Version 2.0 ist ein Setzen des "region"-Elementes als Kind von "region" zwar zulässig, der

Beschreibung der SMIL-Struktur

41

Page 54: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

66W3C Beschreibung des "BackgroundTilingLayout" Moduls (SMIL 2.1)[http://www.w3.org/TR/2005/CR-SMIL2-20050513/layout.html#LayoutModuleNS-BackgroundTilingLayout]67W3C Beschreibung des "AlignmentLayout"-Moduls (SMIL 2.1)[http://www.w3.org/TR/2005/CR-SMIL2-20050513/layout.html#LayoutModuleNS-AlignmentLayout]

logische Schluss das eine untergeordnete Region als Subregion fungiert wird jedoch erst abVersion 2.1 vollzogen. Hier wird durch Verschachteln der Regionen eine Aufteilungvorgenommen, d.h. die Subregion befindet sich grafisch innerhalb der Elternregion.

Die Abstände zu den Seiten beziehen sich auf die Abstände zur Elternregion, auch wenn diesnicht das "root-layout"-Elemente ist. Ohne weitere Attribute ist die Größe einer Subregiongleich der Größe ihrer Elternregion.

3.7.5. Das "BackgroundTilingLayout"-ModulDas Modul ist neu zum SMIL- Sprachumfang hinzugekommen und enthält zwei Attribute,die es ermöglichen sollen Hintergrundbilder in Regionen und vor allem im Hintergrund derGesamtpräsentation anzuzeigen. Die beiden Attribute können in den Elementen"root-layout", "topLayout" und "region" verwendet werden.66

• backgroundImage - Mittels "backgroundImage" lässt sich eine URI angeben, an der daseinzubindende Bild zu finden ist. Außerdem sind noch die Werte "none" und "inherit"zulässig. Durch setzen von "none" wird kein Hintergrundbild innerhalb der Regionangezeigt; dies ist der Defaultwert. Wird "inherit" eingesetzt so wird die Einstellung desElternelementes übernommen.

• backgroundRepeat - Wird "backgroundRepeat" mit dem Wert "repeat" initialisiert, sowird das Hintergrundbild Horizontal und Vertikal wiederholt. Durch setzen von"repeatX" und "repeatY" wird das Bild lediglich in der X-Richtung (horizontal) bzw. inder Y-Richtung (vertikal) wiederholt. Durch "noRepeat" wird festgelegt, dass das Bildnicht wiederholt werden soll. Der Wert "inherit" bewirkt das die Einstellung desElternelementes übernommen wird.

Der "repeat"-Wert ist standardmäßig vorausgewählt.

3.7.6. Das "AlignmentLayout"-ModulIm "AlignmentLayout"-Modul werden ab Version 2.1 die Objekt-Ausrichtungsmöglichkeitenausgelagt. Zusätzlich kommen die Elemente "mediaAlign" und "soundAlign" dazu.67

• mediaAlign - Das Attribut dient als Abkürzungsnotation bei gleichen Werten in"regPoint" und "regAlign". Stehen in diesen beiden Attributen die gleichen Werte kannder Wert stattdessen einmal in "mediaAlign" definiert werden.

• soundAlign - Mit "soundAlign" lässt sich eine Audioausgabe steuern. Durch das Setzendes "right"-Wertes wird Musik bzw. die Sprache lediglich auf der rechten Boxausgegeben. Analog dazu verhält sich die Funktionalität beim Setzen von "left" auf dielinke Box. Wird ein Stereosignal wiedergegeben, so sollte auch nur der rechte bzw. linkeKanal zu hören sein. Wird das Attribut mit "both" als Wert belegt, so wird die Audiodateiauf beiden normal ausgegeben. "both" ist der Standardwert für "soundAlign".

Beschreibung der SMIL-Struktur

42

Page 55: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

1siehe: Downloadseite des Ambulant Players [http://www.cwi.nl/projects/Ambulant/Download100.html]2Quelle: webhits internet design gmbh [http://www.webhits.de/deutsch/index.shtml?webstats.html] Webbarometer

Kapitel 4. Software für Wiedergabe undBearbeitung

4.1. WiedergabegeräteDie SMIL Spezifikation umfasst lediglich, welche Daten wie angezeigt werden. Damit dieDaten angezeigt werden können ist aber noch eine Abspielsoftware notwendig, welche dieSMIL-Datei auswertet und den beschriebenen Inhalt rendert und ausgibt. Es existiert bisherkeine Software mit der eine hundertprozentig korrekte Ausgabe einer (der SMIL 2.0Spezifikation) entsprechenden SMIL-Datei und der von ihr beinhalteten Mediengewährleistet werden kann.

Die Beispiele die zu dieser Bachelorarbeit erstellt wurden, wurden vorrangig mit demRealPlayer getestet, da dieser sowohl den SMIL 2.0 Standard als auch eine Vielzahl anMedien unterstützt. Vereinzelt wurde auch der Ambulant Player für die Tests verwendet. Esfolgt eine Auflistung der gebräuchlichsten Wiedergabegeräten für SMIL.

4.1.1. Ambulant Player 1.4Der Ambulant Player ist ein Open-Source-Projekt und ist für die Betriebssysteme Windows,Linux, Zaurus und Macintosh, sowie verschiedene mobile Windows-Versionen verfügbar.Der Download und Gebrauch des Programms ist kostenlos. Das Entwicklerteam diesesPlayers deckt sich weitestgehend mit dem Entwicklerteam des kommerziellen GRiNSPlayers, es wird jedoch darauf hingewiesen, dass es für beide Projekte unterschiedlicheSource Codes gibt.1

Der Ambulant Player ist zur Zeit die einzige Wiedergabesoftware die sowohl SMIL 2.0 alsauch den Empfehlungskandidaten 2.1 unterstützt. Er ist gleichzeitig die Software, welche dieSMIL-Spezifikation am präzisesten umsetzt. Probleme ergeben sich jedoch beim einbindenvon Medien. Beispielsweise kann eine PNG-Datei nicht im 4-Kanal-Modus, also den dreiGrundfarben und einem Alphakanal, dargestellt werden. Der Ambulant Player unterstütztlediglich Open Source Codecs und Software aus Open Source Quellen. In den Release Notesdes Ambulant Players 1.4 wird angegeben, dass dieser unter Windows Audio- undVideodateien nur über die DirektX Schnittstelle unterstützt.

4.1.2. RealPlayer 10 von RealNetworksDer RealPlayer ist neben dem Apple QuickTime wohl der gebräuchlichste Streaming Playerim Internet. Er stellt neben der normalen Oberfläche auch ein Plugin für Webbrowser zurVerfügung. Laut dem Webbarometer der Firma webhits internet design GmbH ist dasRealPlayer Plugin derzeit (15.08.2005) in 18,2% aller Browser installiert (Erhebung auf derBasis von 7500 untersuchten Browsern). 2Im Gegensatz zum QuickTime Player kann derRealPlayer jedoch die SMIL 2.0 Sprachspezifikation wiedergeben, was ihn zummeistverbreiteststen SMIL 2.0 Player macht. Ältere Versionen des RealPlayers (G2, 7 und 8)unterstützen allerdings nur den SMIL 1.0 Standard. Zusätzlich bietet der Player einigeAttribute, die nicht in der offiziellen SMIL-Spezifikation enthalten sind, diesen jedocherweitern sollen. Alle zusätzlichen Attribute werden von anderen SMIL-Playernselbstverständlich nicht unterstützt. Die Benutzung dieser Attribute und des gesamten SMIL-Standards wird in einem von RealNetworks herausgegebenen Tutorial erklärt.3

43

Page 56: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

3SMIL - Tutorial von RealNetworks[http://service.real.com/help/library/guides/realone/ProductionGuide/HTML/realpgd.htm?page=htmfiles/smilintr.htm%23view%20source]4siehe www.Real.com [http://www.real.com/player/?src=realplayer]5siehe www.Oratrix.com [http://www.oratrix.com/]6Quelle: informatika feminale Onlineartikel vom 10.10.2003[http://zeitung.informatica-feminale.de/2003-10-10/ix11-2002.html#kt3]7Quelle: Mailing Lists, Apple Computer Inc., QT7 SMIL support[http://lists.apple.com/archives/QuickTime-Users/2005/Apr/msg00333.html]8siehe Apple Quicktime [http://www.apple.com/quicktime/]9siehe www.xsmiles.org/ [http://www.xsmiles.org/xsmiles_objectives.html]

Die Software ist neben Windows und Linux auch für den Mac, einer Reihe kleinererBetriebssysteme, sowie einer Version für Mobile Geräte kostenlos verfügbar.4

4.1.3. Grins Player von OratrixDie Firma Oratrix bietet ein SMIL-Player für den PC, sowie eine Version für mobileEndgeräte an. Das Abspielgerät für den PC schlägt dabei mit 95$ zu Buche, die Version fürdie Mobilen Endgeräte ist sogar nur für Großabnehmer gedacht und kostet im Paketpreis10.000$.5Beide Player sollen laut Hersteller den vollen SMIL 2.0 Sprachumfang unterstützen,wobei bis vor circa zwei Jahren noch Fehler bei der Darstellung von Texten, Links undÜbergangseffekten aufgetreten sein sollen.6

4.1.4. QuickTime von AppleDas Abspielprogramm QuickTime der Firma Apple unterstützt, wie der Realplayer, ein großeAnzahl von Medien. Die derzeit aktuelle Version 7 ist für Windows und Mac verfügbar.Genau wie die Vorgängerversion unterstützt QuickTime 7 lediglich den SMIL 1.0 Standard.7

Apple hat für den QuickTime-Player ebenfalls einige zusätzliche Attribute implementierenlassen, die den SMIL 1.0 Standard erweitern.8

4.1.5. X-SmilesDie Entwickler von X-Smiles bezeichnen das Programm als xml-Browser für exotischeGeräte. Es handelt sich um einen in Java programmierten Browser, der sowohl für den PC alsauch für den Gebrauch auf mobilen Geräten gedacht ist. Der Browser kann neben SMIL 2.0in der Basis Sprachausgabe auch noch andere XML-Dokumenten darstellen, wie z.B. XML +CSS, XHTML, XSLT und SVG. Die aktuelle Versionsnummer ist 0.94, d.h. unter anderem,dass einige Bereiche der angestrebten SMIL-Funktionalität noch nicht voll implementiertsind. Der derzeitige Entwicklungs- und Integrierungsstand kann auf der Homepageeingesehen werden.

X-Smiles hebt sich von den anderen Abspielgeräten dadurch ab, dass es über das "text"-Element möglich ist HTML- und CSS- formatierte Texte innerhalb der SMIL-Dateidarzustellen. Auf diese Weise wird die in der SMIL Syntax nicht vorhandene MöglichkeitText zu formatieren, ausgeglichen.

Das Programm wird von dem Telecommunications Software and Multimedia Laboratory derTechnischen Universität Helsinki entwickelt. Es basiert auf einem Studienprojekt aus denJahren 1998-1999 und wurde im Jahr 2001 als Open-Source-Projekt weitergeführt.9

4.1.6. BrowserpluginsEin Plugin ist eine Art Zusatz- bzw. Erweiterungsmodul, welches den normalenFunktionsumfang erweitert. Das Wiedergeben von SMIL via Browserplugins ermöglicht die

Software für Wiedergabe und Bearbeitung

44

Page 57: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

10Zur Benutzung von "object", siehe Spezifikation des HTML 4.01 Standards.[http://www.w3.org/TR/1999/REC-html401-19991224/struct/objects.html#h-13.3]11Quelle: (vom 08.08.2005) http://rufposten.de/weblog/Tech/smil_tutorial.html12Quelle: (vom 08.08.2005) http://rufposten.de/weblog/Tech/smil_tutorial.html[http://rufposten.de/weblog/Tech/smil_tutorial.html#]

Darstellung von SMIL direkt im Browserfenster. Damit die Präsentationen angezeigt werdenkönnen, ist es jedoch notwendig, dass das benutzte Plugin im Browser installiert ist unddieser das Einbinden von Plugins überhaupt unterstützt. Präsentationen lassen sich in HTML-Dokumente mittels dem Element "object" einbinden.

Das "object"-Element ermöglicht das Einbinden von Multimediainhalten jeglicher Art. NebenSMIL können auch Flash-Animationen oder SVG-Grafiken eingebunden werden, immervorausgesetzt, dass der Browser das entsprechende Plugin installiert hat. Eine SMIL-Präsentation wird meist durch Einbinden des Realplayer-Plugins in der HTML-Seitewiedergegeben. Die Präsentation läuft über eine eingebettete Realplayer-Oberflächeinnerhalb des Browsers ab. Per HTML-Parametern können eine Reihe zusätzlicherEigenschaften definiert werden, beispielsweise welche Steuerelemente angezeigt werdensollen usw.

Da die Wiedergabe von einem externen Programm ausgeführt wird, hängt die Art derAnzeige maßgeblich von der SMIL-Implementierung des Wiedergabeplugins ab. Wird stattdem Realplayer z.B. das Quicktime-Plugin (aktuelle Version D1-6.5.1) benutzt, so kann dieSMIL-Datei nur im SMIL 1.0 Sprachumfang abgespielt werden, weil Quicktime bis dato nurden SMIL 1.0 Sprachumfang implementiert hat.10

Beispiel 4.1. Einbetten für RealPlayer11

<objectid="beispiel_2" width="500" height="390"classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"><param name="SRC" value="beispiel_2.smil"><param name="autostart" value="false"><param name="console" value="Clip1"><param name="controls" value="ImageWindow"><param name="type" value="audio/x-pn-realaudio-plugin">

</object>

<!--Steuerung--><object

id="beispiel_2" width="500" height="45"classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"><param name="controls" value="ControlPanel,StatusBar"><param name="console" value="Clip1">

</object>

Beispiel 4.2. Einbetten für Quicktime12

<objectid="beispiel_2" width="500" height="406"classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"codebase="http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0"><param name="SRC" value="beispiel_2.smil"><param name="autoplay" value="false"><param name="controller" value ="true"><param name="type" value="video/quicktime"><param name="pluginspage"value="http://www.apple.com/quicktime/download/index.html">

</object>

Alternativ zum "object"-Element existiert das "embed"-Element, welches ebenfalls zumEinbinden von Multimediainhalten genutzt werden kann. Es ist in Netscape 2.0 eingeführtworden. Zur damaligen Zeit war es eines der ersten Möglichkeiten überhaupt Multimedia in

Software für Wiedergabe und Bearbeitung

45

Page 58: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

13W3C Notiz des HTML + TIME Profils [http://www.w3.org/TR/1998/NOTE-HTMLplusTIME-19980918]14W3C Notiz des XHTML + SMIL Profils [http://www.w3.org/TR/2002/NOTE-XHTMLplusSMIL-20020131/]15Quelle: http://www.w3.org/AudioVideo/16Quelle: informatika feminale Onlineartikel vom 10.10.2003[http://zeitung.informatica-feminale.de/2003-10-10/ix11-2002.html#kt3]17Quelle: MSDN library [http://msdn.microsoft.com/library/en-us/dntime/html/htmltime.asp]18Quelle: MSDN library [http://msdn.microsoft.com/library/en-us/dntime/html/htmltime.asp]

HTML-Dokumente einzubinden. Das Element gehört jedoch nicht zum offiziellen HTML-Sprachumfang, sondern wird lediglich von vielen Browsern unterstützt. Aus diesem Grundwird empfohlen das "embed"-Element nicht mehr zu benutzen und statt dessen "object" zuverwenden.

4.1.7. Internet Explorer (XHTML + SMIL)Laut W3C und Microsoft unterstützt der Internet Explorer ab Version 5.5 viele Module desSMIL 2.0 Arbeitsentwurfes. Allerdings nicht als reine SMIL-Datei sondern in einemGemisch aus HTML und SMIL. Microsoft hat zu diesem Zweck eine Erweiterung vonXHTML durch SMIL-Elemente entwickelt. Die Spezifikation mit dem Name XHTML +SMIL wurde allerdings nicht als offizieller Empfehlung beim W3C registriert, sondern alsNotiz bzw. Kenntnisname. Genaugenommen handelt es sich um zwei Notizen. Zum Einenwurde im September des Jahres 1998 eine Notiz mit dem Namen ´´Timed InteractiveMultimedia Extensions for HTML, kurz HTML + TIME vom W3C herausgegeben. Anfang2002 erschien erneut eine Notiz mit dem Namen XHTML + SMIL, die nun das Einbindungvon SMIL in XHTML-Dokumente definierte. Die beiden Definitionen beziehen sich auf diegleichen Ausgangsprobleme, nämlich SMIL-Elemente in HTML bzw. XHTML zuintegrieren. In den unterschiedlichen Notizen wird das Einbinden lediglich für die HTML-und später für die XHTML-Version beschrieben.131415Das erarbeitete XHTML+ SMIL-Profilwird ab Version 6.0 vom Internet Explorers unterstützt. XHTML+ SMIL soll das Animierenund zeitliche Koordinieren von XHTML- und CSS-Elementen ermöglichen, d.h. es istdenkbar durch benutzen von SMIL-Modulen XHTML-Elemente zu animieren. Unteranderem wurden die Module "Timing and Synchronization", "BasicAnimation","SplineAnimation", "BasicMedia", "MediaClipping" und "BasicContentControl"eingebunden. Von den Medienobjekten fehlt lediglich das "brush"- und das "param"-Element. Außerdem werden "transition" und das Setzten von benutzerdefiniertenTestattributen mittels "customTest" und "customAttributes" nicht unterstützt. Als zusätzlichesModul wird das "Time-Manipulation-Module" eingebunden, welches z.B. den Einsatz des"speed"-Attributes erlaubt.16

Beispiel 4.3. Schematischer Aufbau eines XHTML + SMIL Dokumentes für den IE 5.517

<html xmlns:t ="urn:schemas-microsoft-com:time" ><head><style>

.time { behavior: url(#default#time2) }</style><?IMPORT namespace="t" implementation="#default#time2"></head>

<body><!-- Replace this line with your content -->

</body></html>

Beispiel 4.4. Beispiel zum Gebrauch von XHTML + SMIL Elementen18

<t:par repeatCount="indefinite"><p class="time" begin="1" dur="3">Paragraph uses repeatCount to come and go.</p></t:par>

Software für Wiedergabe und Bearbeitung

46

Page 59: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

19siehe: Informationsseite der Firma Inria [http://wam.inrialpes.fr/software/pocketsmil/]20Produktinformationen zu Adobe GoLive CS2 [http://www.adobe.de/products/golive/overview2.html#kmhead2]

Das Beispiel zeigt den Text "Paragraph uses repeatCount to come and go." alle dreiSekunden, für zwei Sekunden lang an. SMIL-Elemente müssen dabei über ihrenNamensraum angesprochen werden. Im Beispiel wird das "par"-Element über denNamensraum "t" aufgerufen.

XHTML + SMIL wird jedoch bisher nur vom Internet Explorer wiedergegeben. SowohlFirefox als auch Opera ignorieren die eingebetteten SMIL-Module-Elemente und -Attributeund stellen lediglich die XHTML-Elemente dar. Die große Verbreitung des InternetExplorers ermöglicht am ehesten den Einsatz von SMIL für eine breite Masse an Internet-Nutzern.

4.1.8. Inria PocketSMIL 2.0Die französische Firma Inria hat ebenso wie CWI (Oratrix Grins Player) an der Entwicklungvon SMIL mitgearbeitet. Ihr SMIL-Player ist für den Pocket-PC gedacht und unterstützt dasSMIL 2.0 Basis Profil. Als Medien werden nach eigenen Angaben Text, Audiodateien("wav", "mp3"), Bilder ("bmp", "jpg", "png") und Videos ("mpeg") unterstützt. DasProgramm ist in C++ geschrieben und kostenlos verfügbar.19

4.2. EditorenAuf der W3C-Seite werden eine Reihe von Editoren für das Erstellen von SMIL-Dateienangeboten. Viele der Programme werden aber inzwischen nicht mehr weiterentwickelt; einigeInternetseiten sind sogar nicht mehr vorhanden. Zum Erstellen einer SMIL-Datei sindallerdings keine speziellen Entwicklungsumgebungen notwendig. Da eine SMIL-Datei alsherkömmliche ASCII-Datei gespeichert wird, kann sie auch mit einem einfachem Texteditorerstellt werden. Es folgt eine Auflistung der Programme, die für das Arbeiten mit SMILentwickelt wurden oder mit denen das Erstellen von SMIL-Dateien erleichtert wird.

4.2.1. Adobe GoLive CS2Adobe GoLive ist ein professioneller Editor zum Erstellen und Verwalten von Internetseiten.Die Vollversion des Programms kostet circa 580 € und lässt sich direkt bei Adobedownloaden. Auf der Herstellerseite wird außerdem eine Testversion angeboten.

GoLive unterstützt eine große Anzahl von Dateiformaten. Neben dem Erstellen vonherkömmlichen Internetseiten werden unter anderem auch CSS, RSS, WML, MMS, SWF,SVG, SMIL und das Arbeiten mit Skriptsprachen unterstützt. Somit bietet das Programm einRundumpaket für das Erstellen von Inhalten für das Internet und mobile Endgeräte. AdobeGoLive hat ein sehr breites Funktionsspektrum. Eine Auflistung sämtlicher unterstützterFeatures lässt sich in der Produktbeschreibung von Adobe GoLive CS2 auf der AdobeInternetseite finden.20

Das Programm bietet eine übersichtliche Benutzerschnittstelle. Beim Erstellen von SMIL-Animationen lassen sich Medienobjekte, Zeitcontainer und Animationen per "Drag andDrop" aus einer Werkzeugleiste in das Hauptfenster ziehen. Der Inhalt dieses Fensters lässtsich umschalten zwischen "Layout", "Quelle" (Quelltextanzeige mit optionalem Syntaxhighlighting und Syntaxprüfung), einem Gliederungseditor der die XML-Datei schematischdarstellt und der "Vorschau". Zusätzlich zum Hauptfenster lässt sich auch noch ein Fenster

Software für Wiedergabe und Bearbeitung

47

Page 60: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

mit dem zeitlichen Verlauf der Präsentation anzeigen. Die dort angeordneten Elemente lassensich sowohl zeitlich, als auch in andere Mediencontainer verschieben. Standardmäßig auf derrechten Seite befindet sich ein Fenster mit Eigenschaften. Im sogenannten "Inspektor"können verschiedene Detaileinstellungen zu den gerade angewählten Medienobjektengemacht werden. Ohne weitere Vorgaben wird die Datei schließlich im SMIL 2.0 (2001)Sprachumfang gespeichert. Im "Header" der SMIL-Datei wird dabei noch zusätzlich dieRealPlayer-Erweiterung als Namensraum mit eingebunden.

Abbildung 4.1. Screenshot von Adobe GoLive CS2 (Testversion)

4.2.2. Grins Pro EditorOratrix bietet neben seinem Grins-Player auch einen Editor für SMIL-, HTML + TIME- und3GPP(MMS)- Anwendungen. Der Editor kostet 595 $, ist für Microsoft WindowsPlattformen ausgelegt und kommt mit einem eingebautem Abspielgerät daher, daswahrscheinlich auf dem Grins-Player basiert. Es ist auch möglich den Editor für 30 Tage zutesten.

Im Hauptfenster lässt sich der zeitliche Verlauf einer Präsentation anzeigen. Medien werdenals horizontale Balken angezeigt. Das Verschieben der Medien auf der Zeitachse ist nichtmöglich, es können jedoch per Mausklick Objekte in Zeitcontainer wie "par" und "seq"hinein und herausgeschoben werden. Per Doppelklick auf einen Medienbalken lassen sich dieEigenschaften des Objektes anzeigen und ändern. Ein sehr angenehmes Feature ist dasEinbinden von Medienreferenzen über ein "Drag and Drop"-Verfahren. Es lässt sichaußerhalb vom Editor ein normales Ordnerfenster öffnen, aus dem man Bilder und Videos indie Medienbalken hineinziehen kann.

Über die Menüleiste lassen sich Quelltext, Preview und Layoutansicht der Präsentationaufrufen. Die Layoutansich dient vorrangig dazu Regionen zu erstellen und per "Drag and

Software für Wiedergabe und Bearbeitung

48

Page 61: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

21siehe www.oratrix.com/ [http://www.oratrix.com/]

Drop" zu skalieren. Durch Doppelklick auf eine Region lässt sich, wie schon in derZeitachsen-Anzeige, die Eigenschaften des Objektes, also der Region bearbeiten.

Um den Grins-Editor bedienen zu können, braucht es einiger Einarbeitungszeit, da dieBenutzeroberfläche nicht sehr intuitiv oder übersichtlich aufgebaut ist. Es fehlt vor allem annützliche Tooltipps und Beschriftungen an den Buttons. Durch die große Anzahl anVorlagen, die beim Erstellen einer neuen Präsentation zur Verfügung steht, wird der Einstiegin das Programm erleichtert.

Der Editor speichert im normalen Modus die Daten in einem eigenen Datenformat mit derEndung "grins". Es handelt sich dabei um eine SMIL-Datei die um die XML-Namensräumevon Oratrix und dem Realplayer erweitert wurde. Durch die zusätzlichen Namensräume wirdeine erweiterte Funktionalität erreicht. Neben dem herkömmlichen Speichern, steht auch derMenüpunkt "Publish" zum Exportieren bereit. Hier besteht die Möglichkeit eine optimierteVersion für den Grins- oder den RealPlayer anzulegen. Auch der Export ins HTML + TIME-Format ist möglich.21

Abbildung 4.2. Screenshot vom Grins Editor (Testversion)

4.2.3. Limsee 2Limsee ist ein Open-Source-SMIL-Editor, der auf der Grundlage von Java programmiertwurde. Die Software beherrscht die SMIL Versionen 1.0, 2.0 und 2.1. Zur korrekten Anzeigeder Elemente im Objektfenster ist neben der "Java Runtime Enviroment" auch das "JavaMedia-Framework" und das sogenannte "QuickTime for Java"-Modul erforderlich. Das "JavaMedia-Framework" lässt sich auf der Seite von Sun Microsystems herunterladen. Das"QuickTime for Java"-Modul lässt sich bei der Installation des QuickTime mitinstallieren,

Software für Wiedergabe und Bearbeitung

49

Page 62: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

22siehe Limsee 2 Produkt - Homepage [http://wam.inrialpes.fr/software/limsee2/]

wenn man die erweiterte Installation benutzt.

Die Benutzeroberfläche des Programms ist recht übersichtlich. Mittig angeordnet ist einFenster mit dem es möglich ist, direkt in einer grafischen Abbildung der Präsentation zuarbeiten. Auf der linken Seite wird eine SMIL-Datei in einer Baumstruktur dargestellt in derebenfalls editiert werden kann. Direkt unter der Baumansicht werden die Attribute des aktuellausgewählten Objektes angezeigt. Dabei können bestimmte Attribute nach einem Schemaausgeblendet werden, z.B. werden durch Wahl von "Timing Attributes" nur diezeitbeeinflussenden Attribute des Elementes angezeigt. In einem Zeitablauffenster wird diePositionierung der Element auf der Zeitachse verdeutlicht. Auch das Verschieben derElemente ist in diesem Fenster möglich. Wer sehen möchte wie Limsee die Befehleumgesetzt hat, kann sich den Code der SMIL-Datei auf der rechten Seite einblenden lassen.

Limsee 2 ist in Version 1.7 (Stand 17.08.2005) verfügbar. Das Programm hat jedoch nocheinige Mängel. Nachteilig ist vor allem die fehlenden Unterstützung von Tastenkürzeln.Dadurch muss sehr viel mehr mit der Maus ausgeübt werden als nötig. Das Codefensterscheint nicht so gut eingebunden zu sein wie die anderen Teilfenster, denn man muss nachund zuweilen auch vor einer Änderung das Fenster neu über einen Button synchronisieren.Der Editor unterstützt die Wiedergabe der Präsentation nur über externe Wiedergabegerätewie den RealPlayer. Zu diesem Zweck befindet sich im Menü ein Button der den RealPlayeraufruft. Dieser startet jedoch nicht, solange Limsee die Datei noch geöffnet hat.22

Abbildung 4.3. Screenshot von Limsee 2

4.2.4. OxygenOxygen ist kein SMIL-Editor im eigentlichen Sinne. Das Programm erlaubt das Editieren,

Software für Wiedergabe und Bearbeitung

50

Page 63: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

23siehe www.oxygenxml.com [http://www.oxygenxml.com]

Erstellen und Bearbeiten aller möglichen XML-Ressourcen. Oxygen ist eine kommerzielleSoftware, die für 30 Tage kostenlos nutzbar ist. Das Programm hat eine ansprechende undübersichtliche Benutzeroberfläche. Viele der Funktionen sind intuitiv erkennbar. Eine Reihevon Features erleichtern die Arbeit an XML-, XSLT- und DTD-Dokumenten. Zu denFeatures, die das Programm besonders für das Editieren von SMIL-Dokumentenprädestiniert, gehören die Code-Vervollständigung und der Baumeditor.

Bei der Code-Vervollständigung wird während des Schreibens im XML-Dokumentautomatisch eine Liste von Elementen bzw. Attributen angezeigt, die mit dem noch nichtvollendetem Tag gemeint sein können. Das besondere daran ist, dass die Liste der Elementeüber die DTD generiert wird, die im Kopf des Dokumentes definiert wurde. Oxygen kann sofür jedes XML-Dokument individuell die passenden Elemente und Attribute anzeigen. Diejeweilige Vervollständigung wird dabei auch nur angezeigt wenn die DTD dies zulässt, d.h.wenn das Dokument danach noch korrekt validiert werden kann. Eine solche Code-Vervollständigung ermöglicht einen sichereren Umgang mit SMIL-Dokumenten (imBesonderen) und XML-Dokumenten (im Allgemeinen), da keine Schreibfehler in der Syntaxoder Attribute an falschen Stellen auftreten können.

Der integrierte Baumeditor erlaubt das Bearbeiten der Datei aus einer Baumstruktur heraus,wobei Elemente und Attribute als Knoten dargestellt werden. Auch hier wird anhand derDTD das Hinzufügen von neuen Knoten erleichtert indem eine Auswahl der zulässigenKnoten angezeigt wird. In einem Anzeigefenster des Baumeditors lassen sich, die für denausgewählten Knoten zulässigen Attribute anzeigen, inklusive der zulässigen Elemente undder Defaultwerte.

Leider bietet Oxygen keine speziell auf SMIL zugeschnittenen Funktionen, wie z.B. eineAnzeige der Objekte in einer Zeitlinie, ein Vorschau oder eine Grafische "Drag andDrop"-Oberfläche zum Zusammenstellen der SMIL-Präsentation. Aus diesem Grund sindzum Erstellen einer Präsentation Kenntnisse im Umgang mit XML und dem Aufbau vonSMIL-Dateien erforderlich.23

Software für Wiedergabe und Bearbeitung

51

Page 64: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

Abbildung 4.4. Screenshot von Oxygen

Software für Wiedergabe und Bearbeitung

52

Page 65: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

Kapitel 5. Komplexbeispiele

5.1. EinleitungIn diesem Abschnitt soll ein kleiner Einblick in die Anwendungsmöglichkeiten der SMIL-Struktur gegeben werden. Die ersten vier Präsentationen sind für den Realplayer 10 optimiert.Die letzte Präsentation arbeitet auf Basis von XHTML + SMIL und muss im Internetexplorer(Version 6) wiedergegeben werden.

Die Dateien zu den Beispielen befinden sich auf der CD, die der Bachelorarbeit beiliegt (imOrdner Komplexbeispiele).

5.2. Demonstration von par,seq und animate(par-seq-animate.smil)Das Beispiel demonstriert den einfachen Einsatz von den Zeitcontainern "par" und "seq". Eswerden vier Bilder nacheinander dargestellt. Diese Bilder werden in einem sequenziellenZeitcontainer gruppiert. Jedes Bild wird für 5 Sekunden dargestellt. 8,5 Sekunden nachBeginn der Präsentation soll zusätzlich eine Audiodatei abgespielt werden. Da die Audiodateiparallel zu den Bildern ausgegeben werden soll, ist ein "par"-Block notwendig in dem sowohldie Audiodatei als auch der gruppierte sequenzielle Zeitcontainer als Kindelemente verankertsind. Das Ende der Audiodatei wird per DOM-Ereignis (end="last_elem.end") auf dasEnde des Elementes gelegt, das die ID "last_elem" hat. In diesem Fall wird dem letztenanzuzeigenden Bild diese ID zugewiesen.

Parallel zu dieser einfachen Ausgabe dient der zweite Teil des Body dazu den internenAblauf der SMIL-Präsentation schematisch darzustellen. Es wird ein Bild angezeigt, was dieoben beschriebene par-seq-Schachtelung darstellt. Zusätzlich wird ein Pfeil dargestellt,welcher mit dem "animate"-Element animiert wird. Der Pfeil stellt den gerade dargestelltenZeitpunkt im Schema dar und muss sich deshalb von links nach rechts bewegen. Im"animate"-Element wird dazu das zu verändernde Attribut über "attributeName" auf "left"gestellt. Über das "to"-Attribut wird der bisherige Wert für des Zielelementes auf "375"geändert. Über "targetElement" wird die Animation auf das Bild mit dem Pfeil angewendet.Wichtig ist dabei, dass das Zielattribut, welches verändert werden soll, im Zielobjekt definiertworden ist. In diesem Fall ist im Imageobjekt der Wert "left" mit "2" definiert.

5.3. Testdatei für Überblendeffekte - "transition_test.smil"Die Präsentation wendet eine Reihe von Überblendeffekten auf zwei Bilder an. Auf denBildern sind die Buchstaben "A" und "B" abgebildet. Die Präsentation blendet nun bei jedemEffekt von "A" nach "B".

Im Kopf der Datei werden zwei Bereiche definiert. In der Region mit der ID "region" werdenspäter die beiden Bilder angezeigt und überblendet. In der Region mit der ID "explain" wirdder Name des jeweiligen Effektes angezeigt. Gleich im Anschluss an das Layout werden dieÜberblendeffekte definiert. Hier dargestellt ist die erste verwendete Effektdefinition.

<transition id="trans_barWipe" dur="2s" type="barWipe"/>

Um im Body auf die einzelnen Überblendeffekte zugreifen zu können wird in der ID derName des Überblendeffekts angegeben, hier "trans_barWipe". Die Überblendzeit wird beiallen Effekten auf 2 Sekunden festgelegt. Als letztes Attribut wird der Effekttyp festgelegt.Da kein Subtyp festgelegt wird ergibt sich der jeweilige Subtyp der Überblendung aus dem

53

Page 66: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

Defaultwert (Typ, Subtyp und ein grafisches Beispiel lassen sich im Anhang unter 'Arten von"transition" und die benötigten Attribute' nachschlagen).

Der Aufbau des Body´s wird durch folgende schematische Darstellung verdeutlicht.

<seq><par>...</par>...<par>...</par></seq>

Ein alles umspannender sequenzieller Block beinhaltet mehrere hintereinander folgendeparallele Zeitcontainer. Die Inhalte des "par"-Elementes zeigen jeweils einen Effekt an,wobei der Text parallel zu einem weiteren innenliegenden sequenziellen Zeitcontainer läuft.Dort werden die beiden Bilder nacheinander dargestell. Auf das jeweils erste Bild wird keinÜberblendeffekt angewendet. Stattdessen wird mit 'fill="transition"' erreicht, dass daserste Bild noch solange im Hintergrund angezeigt wird, bis das Überblenden zum zweitenBild abgeschlossen ist. Im Zweiten Bildelement ist die Anzeigedauer 2 Sekunden länger dader Überblendeffekt bei der aktiven Zeit dieses Elementes mit angerechnet wird. Im"transIn"-Attribut wird die ID des gewünschten Überblendeffekt angegeben.

Zum Schluss noch eine Bemerkung zum äußeren sequenziellen Block. Da das Bodyelementdie Eigenschaften eines sequenziellen Blockes haben soll, wäre eine Definition eines äußerensequenziellen Blockes eigentlich nicht notwendig. In der Praxis fallen allerdings beimRealplayer zwei Unterschiede auf. Wird der sequenzielle Block weggelassen lädt derRealplayer nicht die gesamte Präsentation sondern immer nur einen parallelen Block, dadurchkann die (bei diese Präsentation sehr lange) Ladezeit verkürzt werden. Bei dieser Methodefällt jedoch auch auf, dass aus unbekanntem Grund nicht alle Überblendeffekt angewendetwerden.

5.4. Anzeige von Flash-Movies und länderspezifischeAusgaben (animation.smil)Die Datei bindet über das Element "animation" eine Flash-Datei ein. Die Beispieldateistammt aus dem Unterrichtsmaterial des Faches "Rechnernetze undKommunikationssysteme".

Die Präsentation soll zusätzlich zur normalen Darstellung einen Text ausgeben wenn imWiedergabegerät als bevorzugte Sprache Englisch eingestellt wurde. Der Text soll in diesemFall unter der Präsentation erscheinen und in englischer Sprache beschreiben, wie diePräsentation zu bedienen ist. Dazu wird im Head ein spezifisches Layout definiert, das nur imFall des englischen Sprachwunsches benutzt wird. Das "layout"-Element wird dazu mit demTestattribut "systemLanguage" versehen. Auch im Body wird das "systemLanguage"-Attributverwendet. Hier wird dieses Attribut in einem Textelement gebraucht, welches denenglischsprachigen Text ausgeben soll. Der Text wurde "Inline" definiert und mit dem EditorLimsee 2 erstellt. Der Text wird nun der Region zugewiesen, die nur zu sehen ist wenn dieenglische Sprache eingestellt ist.

Komplexbeispiele

54

Page 67: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

Abbildung 5.1. Präsentation mit der Playereinstellung "English" (im RealPlayer)

5.5. Beispiel zu den Fähigkeiten des ExklusivenZeitcontainers (excl.smil)Die Präsentation zeigt zwei Videos nacheinander an. Parallel dazu wird eine Audiodateieingespielt. Über eine Schaltfläche kann zwischen zwei Qualitätsstufen der Audiowiedergabegewählt werden.

Im Kopf der Datei werden zwei Regionen definiert. Die erste ist für das Video, die zweite fürdie Bildschaltknöpfe gedacht. Außerdem werden noch drei Regionspunkte gesetzt. Diese sinddurch ihre Attribute so gesetzt, dass sie mittig in der zugehörigen Region angezeigt werden.Die hierfür erforderlichen Einstellungen sind 'left="50%"' (wodurch der Punkt in die Mitteder umfassenden Region verschoben wird) und 'regAlign="topMid"' (wodurch der Inhalt soam Punkt ausgerichtet wird, dass der Regionspunkt oben mittig vom Inhalt zu finden ist).

Im Body werden die beiden Videos, der exklusive Zeitcontainer mit den Audiodateien unddie beiden Schaltflächen parallel dargestellt. Die beiden Bilder sollen als Schaltflächendienen und haben die ID's "highBtn" und "lowBtn". Im "excl"-Element werden dieAudiodateien zusätzlich jeweils in einen parallelen Zeitcontainer eingebettet. Da nur einElement enthalten ist, wäre an dieser Stelle auch ein sequenzieller Block möglich gewesen.Der zusätzliche Zeitcontainer dient lediglich dazu den Beginn der Abspielzeit derAudiodateien zu koordinieren.

...<par begin="0;highBtn.activateEvent" ><audio src="files/song.mp3" begin="video_1.begin"/></par><par begin="lowBtn.activateEvent" ><audio src="files/song_very_low.mp3" begin="video_1.begin"/></par>...

Im vorderen "par"-Element wird das "begin"-Attribut so festgelegt, dass es beim Beginn derPräsentation startet. Mittels "highBtn.activateEvent" und "lowBtn.activateEvent" wird eininteraktiver Zeitpunkt festgelegt. Beim Drücken auf die Bilder wird das Ereignis ausgelöst

Komplexbeispiele

55

Page 68: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

und der jeweilige parallele Zeitcontainer wird aktiviert. Im den "audio"-Elementen wird mitdem "begin"-Attribut auf den Anfang des Videos synchronisiert. Auf diese Weise kannzwischen den Audiodateien gewechselt werden ohne das sie jedesmal von vorn abgespieltwerden.

5.6. XHTML- + SMIL-Beispiele (xhtml_test.smil)Das Dokument enthält mehrere Beispiele auf welche Art SMIL durch dieXHTML+SMIL-Spezifikation verwendet werden kann. Der schematische Aufbau einerXHTML+SMIL-Datei lässt sich aus dem Beispiel 4.3 ablesen. Über das Stylesheet wird eineKlasse "time" vereinbart, die in jedem HTML-Element vorkommen muss wenn es SMIL-Attribute beinhaltet. Da die Microsoftspezifikation durch das Einbinden eines Namensraumesgeschieht muss der Identifikator des Namensraumes vor jedem eingebundenen SMIL-Element stehen.

<!--HTML-Element mit SMIL-Attribut--><img class="time" src="1.jpg" dur="2s"/>

<!--eingebundenes "par"-Element--><t:par>...</t:par>

Das Dokument enthält drei Anwendungsbeispiele. Im ersten Beispiel werden die BuchstabenS, M, I und L kurz nacheinander eingeblendet und schließlich auch wieder ausgeblendet.Dazu wird jeder Buchstabe in ein "div"-Tag geschachtelt und mit den Attributen "dur" und"begin" versehen. Die vier div"-Tags werden wiederum in einem "par"-Elementuntergebracht, welches die Abläufe in seinem Innern unbegrenzt lange wiederholt.

Das zweite Beispiel verdeutlicht die Möglichkeit in einem einzigen HTML-Dokumentmehrere Sprachversionen zu definieren. Im Beispiel wird lediglich der kurze Satz "Diedeutsche / englische / französische Sprache wurde ausgewählt" in der jeweiligenLandessprache angezeigt. Hierzu wird das "switch"-Element genutzt. Die Texte werdenmittels "span" geschachtelt und zusätzlich mit dem "systemLanguage"-Attribut versetzt.Durch die Werte "de", "en" und "fr" werden die einzelnen Sätze nur dann ausgegeben, wenndie jeweiligen Landessprache im Internetexplorer eingestellt ist.

Das letzte Beispiel ist etwas umfangreicher. In einem sequenziellen Zeitcontainer werden vierBilder zeitlich nacheinander dargestellt. Die Länge der Anzeige wird mit dem "dur"-Attributeingestellt, welches sich in jedem der "img"-Tags befindet. Der Zeitcontainer wird durch das"begin"-Attribut sowohl nach dem Laden der Seite als auch beim Klicken auf den "von vornbeginnen"-Button gestartet. Beendet wird der Zeitcontainer nur durch Klicken auf den"stoppen"-Button. Dies wird durch die ID und das DOM-Event "click" realisiert.

Wird das Dokument statt im Internetexplorer in einem anderen Browser geöffnet, so werdennormalerweise alle HTML-Elemente so dargestellt als wäre kein SMIL-Code eingefügt, dassbedeutet unter anderem, dass es zu keinen Informationsverlusten kommt, da sämtliche Texteund Bilder dargestellt werden.

Komplexbeispiele

56

Page 69: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

1W3C Timed Text Working Draft [http://www.w3.org/TR/2005/WD-ttaf1-dfxp-20050321/]

Kapitel 6. Zusammenfassung und abschließendeBemerkungenAus der Analyse der Syntax und Symmantik von SMIL geht hervor, dass es gelungen ist eineMultimediasprache zu konzipieren, die es schafft verschiedene Medien auf einfache Weisemiteinander zu kombinieren. Neben der Interaktivität wird auch ein hoher Grad anBarrierefreiheit gewährleistet. Durch die Möglichkeit jedem Element ein oder mehrerespezifische Testattribute hinzuzufügen, kann eine individuell auf z.B. körperlichbenachteiligte Benutzer zugeschnittene Präsentation erstellt werden. ZusätzlicheInformationen wie beschreibende Audiokommentare, Untertitel oder alternativeSprachvarianten können sehr einfach eingefügt werden. Eine Vielzahl von Attributenermöglicht das räumlich und zeitlich exakte Positionieren der Medienobjekte.

Verkompliziert wird das Erstellung einer SMIL-Datei wenn die Präsentation später aufmehreren unterschiedlichen Wiedergabeprogrammen darstellbar sein soll. Da seitens desW3C kaum Vorgaben zur Art der Mediendateien gemacht werden, kommt es zu einerungewollten individuellen Darstellung der Inhalte bei unterschiedlichen Abspielprogrammen.

Problematisch ist beispielsweise das Einbinden von Text in die Präsentation. Da SMIL selbstkeine Methode zur Verfügung steht den Text entsprechend zu formatieren, wird der Text jenach Software unterschiedlich dargestellt. So kann es zu Informationsverlusten kommen.Auch zum Aufbau der externen Textdatei werden keine Angaben gemacht, so dass schon dasSetzen von Zeilenumbrüchen zu einem Problem wird, da manche Player den kompletten Textanzeigen, andere dagegen jede Zeile einzeln einblenden. Offensichtlich ist dem W3C dasManko der Einbindung von Texten bewusst, denn es wird gerade an einem eigenen, offenenXML-Format gearbeitet, welches etwa die gleichen Eigenschaften wie das RealText-Formathaben soll. Der Standard mit Namen "Timed Text" hat den Status "Arbeitsentwurf" geradeabgeschlossen und soll später in SMIL einsetzbar sein.1 Bis dahin muss beim Einbinden vonTextdateien oder der Inline-Definition weiterhin darauf geachtet werden, dass entweder einHinweis erscheint für welches Programm die SMIL-Präsentation optimiert wurde oder esmuss der kleinste gemeinsame Nenner der verbreitetsten Programme gefunden werden umdie Anzeige auf allen diesen Programmen ohne Informationsverlust darzustellen.

Auch das Einbinden von Audio-und Videodateien lässt sich nicht ohne die Frage nach dempassendem Abspielprogramm bewerkstelligen. Günstig wären hier Vorgaben des W3C, diez.B. ein Mindestanforderungsprofil an Dateiformaten für Wiedergabesoftware am PC bzw.mobilen Geräten vorschreiben. Eine weitere Möglichkeit wäre die Überprüfbarkeit derunterstützten Dateiformate durch entsprechende Test-Attribute.

SMIL ist seit 7 Jahren als Empfehlung vorhanden. Dennoch werden im Internet kaumInformationen, Inhalte oder Daten in SMIL-Anwendungen dargestellt. Die einzigen SMIL-Präsentationen, welche man im Internet findet, dienen zur Demonstration der Fähigkeiten derMultimediasprache selbst. Aus markwirtschaftlicher Sicht hat SMIL somit den Punkt derKritischen Masse noch nicht erreicht. Der Punkt der Kritischen Masse bezeichnet dabei dieAnzahl der Personen, die eine neue Technologie nach einer bestimmten Zeit nutzen müssen,damit diese einen positiven Netzeffekt entwickeln kann. Ein positiver Netzeffekt kann nurentstehen wenn das Netz, in diesem Fall die SMIL-Technologie, genügend Wert hat um neueNutzer hinzuzugewinnen. Kommen neue Nutzer hinzu, so steigt die Gesamtnutzerzahl undsomit der Wert des Netzes, wodurch wiederum neue Nutzer hinzukommen usw. Unter demBegriff Nutzer ist hier allerdings nicht nur der reine Konsument einer SMIL-Präsentation zu

57

Page 70: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

verstehen, sondern auch der Anbieter, also Ersteller einer Präsentation. Bisher fehlt es imNetz an Internetseiten, die sich SMIL-Präsentationen bedienen um Informationenweiterzugeben.

Etwas anders sieht die Verbreitung im Bereich mobiler Endgeräte aus. Hier hat sich SMILdadurch etabliert, dass der Standard in die Spezifikation der MMS-Technologie miteingeflossen ist. Eben für solche einfachen Multimediaanwendungen eignet sich SMILhervorragend. SMIL ermöglicht ein schnelles Erstellen einfacher Präsentationen mitsequenziellen, parallelen oder exklusiven Handlungswegen.

Beim Anfertigen von komplexen Präsentationen mit Interaktion und alternativenZeitschienen kommt man schnell an die Grenzen dessen, was ohne Einsatz eines grafischenEditors möglich ist. Ein Editieren von Präsentationen, welche interaktive Ereignisse benutzenum bestimmte Elemente anzuzeigen, ist jedoch auch mit den getesteten grafischem Editorenalles andere als trivial. Besonders problematisch sind hierbei alternative Zeitschienen, dadiese sich schlecht grafisch anzeigen, geschweige denn editieren lassen.

Es gibt zwei allgemeine Bereiche in denen SMIL bereits jetzt wesentlich mehr genutztwerden könnte. Zum einen bietet die Spezifikation HTML+SMIL eine gute Voraussetzungendie guten Formatierungsmöglichkeiten von XHTML bei Texten und SMIL miteinander zukombinieren. Bisher wird auch diese Möglichkeit kaum genutzt, obwohl der InternetExplorer dieses Format schon seit mehreren Jahren unterstützt. Mit einem derzeitigenMarktanteil von circa 85 Prozent ist er auch wesentlich stärker verbreitet als jeder andere(reine) SMIL-Player.

Durch die XHTML-Erweiterung lassen sich beispielsweise länderspezifische Internetseitenmit nur einem Quellcode erstellen. Es ist keine Aufsplittung der Inhalte auf mehrere Dateienoder die Anwendung eines serverseitigen Scriptes notwendig, da alle unterschiedlichenSprachinformationen auf einer Seite gebündelt werden können. Auch das Anwenden vonAnimationen, Überblendeffekte auf XHTML-Elemente und die hundertstel-genaue zeitlicheSynchronisation von Elementen ist möglich.

Der zweite Bereich in dem SMIL zweckentsprechend eingesetzt werden kann ist in Symbiosemit Flash. Flash hat sich in den letzten Jahren als primäres Medium für Multimediainhalteentwickelt und viele Entwickler von Webinhalten arbeiten mit den entsprechendenEntwicklungswerkzeugen. Flash hat jedoch erhebliche Nachteile im Bereich derBarrierefreiheit. Mittels SMIL könnten diese Nachteile zumindest teilweise ausgeglichenwerden. Beispielsweise kann alternativ zur reinen Flash-Datei ein Link auf eine SMIL-Dateiangeboten werden. Diese SMIL-Datei kann das herkömmliche Flash-Movie zeigen undzusätzlich, für körperlich beeinträchtigte Menschen, Informationen durch Untertitel undAudiokommentare bereitstellen.

Zusammenfassung und abschließende Bemerkungen

58

Page 71: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

Anhang A.

A.1. Abkürzungsverzeichnis und Begriffserklärung• 3GPP - 3rd Generation Partnership Project, Standardisierungsgremium für Standards im

Mobilfunkbereich• BNF - Backus-Naur-Form bzw. Backus-Normalform• bzw. - beziehungsweise• CPU - Central Processing Unit - der Hauptprozessor• CSS - Cascading Style Sheet• CWI - Zentrum für Mathematik und Informatik in den Niederlanden, Amsterdam• d.h. - das heißt• DOM - Document Object Model• DTD - Document Type Definition• EBNF - Erweiterte Backus-Naur-Form• engl. - englisch / in der englischen Sprache• GIF - Graphics Interchange Format• HTML / XHTML - HyperText Markup Language• ISO - International Organization for Standardization• JPG bzw. JPEG - Joint Photographic Experts Group• MMS - Multimedia Messaging Service• Offset - ein Wert der zu einem Basiswert hinzuaddiert bzw. davon subtrahiert wird• PHP - Skriptsprache mit einer an C bzw. Perl angelehnten Syntax• PNG - Portable Network Graphic• RSS - XML Format für die Darstellung von aktuellen Nachrichten und Informationen auf

Webseiten• SGML - Standard Generalized Markup Language• SMIL - Synchronized Multimedia Integration Language• SMPTE - Society of Motion Picture Television Engineers• SVG - Scalable Vector Graphics• SWF - Dateiendung einer Flashdatei• SYMM WG - Synchronized Multimedia Working Group• Timed Text (TT) Working Group, Timed Text (TT) Authoring Format 1.0 – Distribution

Format Exchange Profile (DFXP), 21.03.2005,http://www.w3.org/TR/2005/WD-ttaf1-dfxp-20050321/

• URI - Uniform Resource Identifier• URL - Uniform Resource Locators (eine Untermenge der URI)• usw. - und so weiter• W3C - World Wide Web Consortium• WML - Wireless Markup Language, XML basierte Sprache zur Darstellung von

Informationen für mobile Geräte auf Webseiten• WWW - World Wide Web• XML - Extensible Markup Language• XSLT - Extensible Stylesheet Language Transformation, XML basierte Sprache zur

Transformation von XML in ein Ausgabeformat• z.B. - zum Beispiel

A.2. Literaturverzeichnis• Adobe Systems Incorporated, Adobe GoLive CS2 Funktionen, 2005,

http://www.adobe.de/products/golive/overview2.html#kmhead2

59

Page 72: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

• Apple Computer Inc., Quicktime (Produktinformationen), 2005,http://www.apple.com/quicktime/win.html

• Bienz, Tim (Apple Computer Inc.), QT7 SMIL support, 29.04.2005,http://lists.apple.com/archives/QuickTime-Users/2005/Apr/msg00333.html

• Boche, Maik, Scalable Vector Graphics - Animationen mit SVG, 06.07.2005,http://www.about-svg.de/ani.htm

• Boll, Susanne / Eidenberger, Horst, SMIL 2.0: Markup-Sprache für Multimedia-Präsentationen - Medienmix, 10.10.2003,http://zeitung.informatica-feminale.de/2003-10-10/ix11-2002.html#kt3

• CWI, Ambulant 1.4 Download Page, 2005,http://www.cwi.nl/projects/Ambulant/Download100.html

• DOM Working Group, Document Object Model (DOM) Level 2 Events Specification,13.11.2000, http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/

• Fischer, Henning (Übersetzer aus dem Englischen), World Wide Web Consortium gibtUser Agent Accessibility Guidelines 1.0 als W3C Recommendation frei, 17.12.2002,http://www.w3c.de/Press/uaag10-pressrelease1.html

• Goetz, Frank, SMIL - Multimedia im Internet mit dem Realsystem G2, Addison-Wesley,Freiburg 2000

• HTML Working Group, Generic inclusion: the OBJECT element (Teil der HTML4.01Specification), 25.12.1999,http://www.w3.org/TR/1999/REC-html401-19991224/struct/objects.html#h-13.3

• INRIA (French National Institute for Research in Computer Science and Control, About -PocketSMIL 2.0, 2005,http://wam.inrialpes.fr/software/pocketsmil/index.php?lang=en&page=about

• Keitz, Wolfgang von, Das SMIL 1.0 - Textbuch (Thema Layout), 18.03.05 bzw.20.06.2000,http://www.hdm-stuttgart.de/streamingmedia/SMILTextbuch/Layoutobjekte.htm

• Michel, Thierry, Synchronized Multimedia, 14.06.2005, http://www.w3.org/AudioVideo/• Münz, Stefan, SELFHTML Version 8.1 (Zum Thema Flash), 25.03.2005,

http://de.selfhtml.org/intro/technologien/flash.htm• Newman, Debbie, Microsoft Corporation, Spice Up Your Web Pages with

HTML+TIME, 2000,http://msdn.microsoft.com/library/en-us/dntime/html/htmltime.asp#htmltime_interactivity

• Oratrix Development, GRiNS Editor for SMIL 2.0 (Produktinformationen), 2005,http://www.oratrix.com/Products/G2E

• Oratrix Development, GRiNS Player vor SMIL 2.0 (Produktinformationen), 2005,http://www.oratrix.com/Products/G2P

• RealNetworks, Informationen zum RealPlayer 10, 02.08.2005,http://www.real.com/player/?src=realplayer

• RealNetworks, RealText Authoring Guide, 15.12.2000,http://service.real.com/help/library/guides/realtext/realtext.htm

• RealNetworks, RealNetworks Produktion Guide, 01.08.2002,http://service.real.com/help/library/guides/realone/ProductionGuide/HTML/realpgd.htm?page=htmfiles/smilintr.htm%23view%20source

• Rufposten, Tutorial zu der W3C-Multimedia-Sprache - Multimedia-Reportagen einfacherstellen mit SMIL, 19.09.2004, http://rufposten.de/weblog/Tech/smil_tutorial.html

• Schmitz, Patrick, (Microsoft) / Yu, Jin, (Compaq/DEC) / Santangeli, Peter,(Macromedia), Timed Interactive Multimedia Extensions for HTML (HTML+TIME),18.09.1998, http://www.w3.org/TR/1998/NOTE-HTMLplusTIME-19980918

• Scripte und Unterrichtsmitschriften aus dem Studium, 1. - 6. Semester• Synchronized Multimedia Working Group, Synchronized Multimedia Integration

Language (SMIL) Version 1.0, 1998, http://www.w3.org/TR/1998/REC-smil-19980615/• Synchronized Multimedia Working Group, XHTML+SMIL Profile - W3C Note,

60

Page 73: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

1Quelle: Die Tabelle und alle Grafiken sind von der W3C Seite, aus dem Anhang zum "transition" Element[http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-transitions.html#TransitionEffects-Appendix]

31.01.2002, http://www.w3.org/TR/2002/NOTE-XHTMLplusSMIL-20020131/• Synchronized Multimedia Working Group, Synchronized Multimedia Integration

Language (SMIL) Bosten Specification, 2000, http://www.w3.org/TR/smil-bosten• Synchronized Multimedia Working Group, Synchronized Multimedia Integration

Language (SMIL) Version 2.0, 2000, http://www.w3.org/TR/2005/CR-SMIL2-20050513/• Synchronized Multimedia Working Group, Synchronized Multimedia Integration

Language (SMIL) Version 2.0 Second Edition, 2005,http://www.w3.org/TR/2005/REC-SMIL2-20050107/

• Synchronized Multimedia Working Group, Synchronized Multimedia IntegrationLanguage (SMIL) Version 2.1 CR, 2005,http://www.w3.org/TR/2005/CR-SMIL2-20050513/

• TML laboratory, XSmiles - An XML-browser in Java, 17.06.2005,http://www.xsmiles.org/xsmiles_objectives.html

• Die freie Enzyklopädie Wikipedia zum Thema RDF, 09.08.2005,http://de.wikipedia.org/wiki/RDF

• Die freie Enzyklopädie Wikipedia zum W3C, 09.08.2005,http://de.wikipedia.org/wiki/W3c

• Die freie Enzyklopädie Wikipedia zum Thema XML, 07.08.2005,http://de.wikipedia.org/wiki/Xml

• SyncRO Soft Ltd., <oXygen/> XML Editor & XSLT Debugger, 2005,http://www.oxygenxml.com/

• webhits internet design gmbh, Web-Barometer, 2005,http://www.webhits.de/deutsch/index.shtml?webstats.html

• Weck, Daniel, LimSee2 The cross-platform SMIL2.0 authoring tool ,21.07.2005,http://wam.inrialpes.fr/software/limsee2/

• Wolf, Misha / Wicksteed, Charles, Date and Time Formats (W3C Note), 15.09.1997,http://www.w3.org/TR/1998/NOTE-datetime-19980827

A.3. Arten von "transition" und die benötigten AttributeDie folgenden Tabellen listen mögliche "type"- und "subtype"-Werte für das"transition"-Element auf. Zusätzlich wird in den Klammern der SMPTE (Society of MotionPicture Television Engineers)-Code des Effektes angegeben. Zusätzlich ist eine Grafikangegeben, die den Überblendeffekt darstellen soll. Die weiße Fläche steht dabei für das neuerscheinende Bild. Die schwarze Fläche steht für das Bild das überblendet wird.1

Tabelle A.1. Arten von "transition"

transition type transition subtypes (Angabe des SMPTE Codes in denKlammern)

Edge Wipes - Wischeffekt von einer Ecke startend

"barWipe"

Abbildung A.1. "leftToRight" (1)[default]

Abbildung A.2. "topToBottom" (2)

61

Page 74: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

transition type transition subtypes (Angabe des SMPTE Codes in denKlammern)

"boxWipe"

Abbildung A.3. "topLeft" (3)[default]

Abbildung A.4. "bottomRight" (5)

Abbildung A.5. "topCenter" (23)

Abbildung A.6. "bottomCenter"(25)

Abbildung A.7. "topRight" (4)

Abbildung A.8. "bottomLeft" (6)

Abbildung A.9. "rightCenter" (24)

Abbildung A.10. "leftCenter" (26)

"fourBoxWipe"

Abbildung A.11. "cornersIn" (7)[default]

Abbildung A.12. "cornersOut" (8)

"barnDoorWipe"

Abbildung A.13. "vertical" (21)[default]

Abbildung A.14."diagonalBottomLeft" (45)

Abbildung A.15. "horizontal" (22)

Abbildung A.16. "diagonalTopLeft"(46)

62

Page 75: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

transition type transition subtypes (Angabe des SMPTE Codes in denKlammern)

"diagonalWipe"

Abbildung A.17. "topLeft" (41)[default]

Abbildung A.18. "topRight" (42)

"bowTieWipe"

Abbildung A.19. "vertical" (43)[default]

Abbildung A.20. "horizontal" (44)

"miscDiagonalWipe"

Abbildung A.21."doubleBarnDoor" (47) [default]

Abbildung A.22. "doubleDiamond"(48)

"veeWipe"

Abbildung A.23. "down" (61)[default]

Abbildung A.24. "up" (63)

Abbildung A.25. "left" (62)

Abbildung A.26. "right" (64)

"barnVeeWipe"

Abbildung A.27. "down" (65)[default]

Abbildung A.28. "up" (67)

Abbildung A.29. "left" (66)

Abbildung A.30. "right" (68)

63

Page 76: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

transition type transition subtypes (Angabe des SMPTE Codes in denKlammern)

"zigZagWipe"

Abbildung A.31. "leftToRight" (71)[default]

Abbildung A.32. "topToBottom"(72)

"barnZigZagWipe"

Abbildung A.33. "vertical" (73)[default]

Abbildung A.34. "horizontal" (74)

Iris Wipes - die neue Fläche wird von der Mitte des Mediums aufgebaut

"irisWipe"

Abbildung A.35. "rectangle" (101)[default]

Abbildung A.36. "diamond" (102)

"triangleWipe"

Abbildung A.37. "up" (103)[default]

Abbildung A.38. "down" (105)

Abbildung A.39. "right" (104)

Abbildung A.40. "left" (106)

"arrowHeadWipe"

Abbildung A.41. "up" (107)[default]

Abbildung A.42. "down" (109)

Abbildung A.43. "right" (108)

Abbildung A.44. "left" (110)

64

Page 77: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

transition type transition subtypes (Angabe des SMPTE Codes in denKlammern)

"pentagonWipe"

Abbildung A.45. "up" (111)[default]

Abbildung A.46. "down" (112)

"hexagonWipe"

Abbildung A.47. "horizontal" (113)[default]

Abbildung A.48. "vertical" (114)

"ellipseWipe"

Abbildung A.49. "circle" (119)[default]

Abbildung A.50. "vertical" (121)

Abbildung A.51. "horizontal" (120)

"eyeWipe"

Abbildung A.52. "horizontal" (122)[default]

Abbildung A.53. "vertical" (123)

"roundRectWipe"

Abbildung A.54. "horizontal" (124)[default]

Abbildung A.55. "vertical" (125)

"starWipe"

Abbildung A.56. "fourPoint" (127)[default]

Abbildung A.58. "fivePoint" (128)

65

Page 78: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

transition type transition subtypes (Angabe des SMPTE Codes in denKlammern)

Abbildung A.57. "sixPoint" (129)

"miscShapeWipe"

Abbildung A.59. "heart" (130)[default]

Abbildung A.60. "keyhole" (131)

Clock Wipes - die neue Fläche baut sich rotierend um den Mittelpunkt auf

"clockWipe"

Abbildung A.61."clockwiseTwelve" (201) [default]

Abbildung A.62. "clockwiseSix"(203)

Abbildung A.63. "clockwiseThree"(202)

Abbildung A.64. "clockwiseNine"(204)

"pinWheelWipe"

Abbildung A.65."twoBladeVertical" (205) [default]

Abbildung A.66. "fourBlade" (207)

Abbildung A.67."twoBladeHorizontal" (206)

"singleSweepWipe"

Abbildung A.68. "clockwiseTop"(221) [default]

Abbildung A.72. "clockwiseRight"(222)

66

Page 79: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

transition type transition subtypes (Angabe des SMPTE Codes in denKlammern)

Abbildung A.69."clockwiseBottom" (223)

Abbildung A.70."clockwiseTopLeft" (241)

Abbildung A.71."clockwiseBottomRight" (243)

Abbildung A.73. "clockwiseLeft"(224)

Abbildung A.74."counterClockwiseBottomLeft"

(242)

Abbildung A.75."counterClockwiseTopRight" (244)

"fanWipe"

Abbildung A.76. "centerTop" (211)[default]

Abbildung A.77. "top" (231)

Abbildung A.78. "bottom" (233)

Abbildung A.79. "centerRight"(212)

Abbildung A.80. "right" (232)

Abbildung A.81. "left" (234)

"doubleFanWipe"

Abbildung A.82. "fanOutVertical"(213) [default]

Abbildung A.84."fanOutHorizontal" (214)

67

Page 80: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

transition type transition subtypes (Angabe des SMPTE Codes in denKlammern)

Abbildung A.83. "fanInVertical"(235)

Abbildung A.85. "fanInHorizontal"(236)

"doubleSweepWipe"

Abbildung A.86. "parallelVertical"(225) [default]

Abbildung A.87. "oppositeVertical"(227)

Abbildung A.88."parallelDiagonalTopLeft" (245)

Abbildung A.89. "parallelDiagonal"(226)

Abbildung A.90."oppositeHorizontal" (228)

Abbildung A.91."parallelDiagonalBottomLeft" (246)

"saloonDoorWipe"

Abbildung A.92. "top" (251)[default]

Abbildung A.93. "bottom" (253)

Abbildung A.94. "left" (252)

Abbildung A.95. "right" (254)

"windshieldWipe"

Abbildung A.96. "right" (261)[default]

Abbildung A.98. "up" (262)

68

Page 81: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

transition type transition subtypes (Angabe des SMPTE Codes in denKlammern)

Abbildung A.97. "vertical" (263) Abbildung A.99. "horizontal" (264)

Matrix Wipes - die neue Fläche wird in rechteckigen kleinen Flächen aufgebaut

"snakeWipe"

Abbildung A.100."topLeftHorizontal" (301) [default]

Abbildung A.101."topLeftDiagonal" (303)

Abbildung A.102."bottomRightDiagonal" (305)

Abbildung A.103. "topLeftVertical"(302)

Abbildung A.104."topRightDiagonal" (304)

Abbildung A.105."bottomLeftDiagonal" (306)

"spiralWipe"

Abbildung A.106."topLeftClockwise" (310) [default]

Abbildung A.107."bottomRightClockwise" (312)

Abbildung A.108."topLeftCounterClockwise" (314)

Abbildung A.110."topRightClockwise" (311)

Abbildung A.111."bottomLeftClockwise" (313)

Abbildung A.112."topRightCounterClockwise" (315)

69

Page 82: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

transition type transition subtypes (Angabe des SMPTE Codes in denKlammern)

Abbildung A.109."bottomRightCounterClockwise"

(316)

Abbildung A.113."bottomLeftCounterClockwise"

(317)

"parallelSnakesWipe"

Abbildung A.114."verticalTopSame" (320) [default]

Abbildung A.115."verticalTopLeftOpposite" (322)

Abbildung A.116."horizontalLeftSame" (324)

Abbildung A.117."horizontalTopLeftOpposite" (326)

Abbildung A.118."diagonalBottomLeftOpposite"

(328)

Abbildung A.119."verticalBottomSame" (321)

Abbildung A.120."verticalBottomLeftOpposite"

(323)

Abbildung A.121."horizontalRightSame" (325)

Abbildung A.122."horizontalTopRightOpposite"

(327)

Abbildung A.123."diagonalTopLeftOpposite" (329)

"boxSnakesWipe"

Abbildung A.124. "twoBoxTop" Abbildung A.127. "twoBoxBottom"

70

Page 83: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

2Quelle: SMIL Tutorial der Hochschule der Medien Stuttgart[http://www.hdm-stuttgart.de/streamingmedia/SMILTextbuch/Anhang.htm]

transition type transition subtypes (Angabe des SMPTE Codes in denKlammern)

(340) [default]

Abbildung A.125. "twoBoxLeft"(342)

Abbildung A.126. "fourBoxVertical(344)

(341)

Abbildung A.128. "twoBoxRight"(343)

Abbildung A.129."fourBoxHorizontal" (345)

"waterfallWipe"

Abbildung A.130. "verticalLeft"(350) [default]

Abbildung A.131. "horizontalLeft"(352)

Abbildung A.132. "verticalRight"(351)

Abbildung A.133."horizontalRight" (353)

Sonstiges - Nicht SMPTE-Codierte Wipes

"pushWipe" "fromLeft" [default], "fromTop", "fromRight", "fromBottom"

"slideWipe" "fromLeft" [default], "fromTop", "fromRight", "fromBottom"

"fade" "crossfade" [default], "fadeToColor", "fadeFromColor"

A.4. Länder-SprachcodesDie Länder-Sprachcodes werden in der RFC 1766 definiert und beruhen auf der ISO Normfür Länderkürzel.Tabelle A.2. Auszug aus den Länder Sprachcodes2

Sprache Code Sprache Code

Afrikaans af Chinesisch zh

Albanisch sq Kroatisch hr

Arabisch ar Tschechisch cs

71

Page 84: Die Multimedia-Integrationssprache SMIL - BTU · 2005. 7. 13. · Die Multimedia-Integrationssprache SMIL: Sprachdefinition, Tools und Anwendungsbeispiele Bachelorarbeit BRANDENBURGISCHE

Sprache Code Sprache Code

Baskisch eu Dänisch da

Bulgarisch bg Niederländisch nl

Katalanisch ca Englisch en

Estisch et Slowenisch sl

Faroesisch fo Spanisch es

Finnisch fi Schwedisch sv

Französisch fr Thailändisch th

Deutsch de Türkisch tr

Griechisch el Ukrainisch uk

Hebräisch he Vietnamesisch vi

Ungarisch hu Isländisch is

Indonesisch in Italienisch it

Japanisch ja Koreanisch ko

Lettisch lv Litauisch lt

Norwegisch no Polnisch pl

Portugisisch pt Rumänisch ro

Serbisch sr Slovakisch sk

72