SMIL - Allgemeines

Transcription

SMIL - Allgemeines
h_da SS 2016
SMIL
Seite 1
SMIL: Synchronized Multimedia Integration Language
- Überblick
- Sprachversionen
- Tools: Player, Authoring Tools
- Aufbau eines SMIL Dokuments
h_da SS 2016
- Layout
Seite 2
SMIL - Allgemeines
• SMIL: Synchronized Multimedia Integration Language
h_da SS 2016
• SMIL ist eine Präsentationssprache mit dem Ziel
-
Unterschiedliche Medientypen (Text, Audio, Video und Animation) zu integrieren
-
Eine umfassende Präsentationssprache für Medien zu werden. Die breite Einsetzbarkeit
von HTML für Hypertext-Dokumente war das Vorbild.
Seite 3
SMIL - Allgemeines
• Zum Aufbau einer Präsentation muss man Aussagen machen können zu:
-
Layout (wo wird etwas auf der Darstellungsebene dargestellt)
-
Timing und Synchronisation (wann wird etwas dargestellt und wie ist die zeitliche
Relation zu anderen Darstellungen)
Media-Objekte (was wird dargestellt: Text, Audio, Video)
• Zusätzlich:
h_da SS 2016
-
-
SMIL-Dokument ist eine XML – Dokument (Struktur und Metadaten)
-
Präsentation soll flexibel an unterschiedliche Kontexte anpassbar sein (Control)
Seite 4
SMIL - Allgemeines
Auf Grund des großen Sprachumfang und der logischen Komponenten einer Präsentation ist
SMIL in Modulen spezifiziert.
Ein Modul ist eine Ansammlung von semantisch in Beziehung stehenden XML Elementen,
Attributen und Attributwerten, die eine funktionale Einheit darstellen.
Module sind als zusammenhängende Mengen definiert, die durch einen Namespace
ausgedrückt werden.
h_da SS 2016
Ein Sprach-Profil (language profile) ist eine Kombination von Modulen
Seite 5
SMIL - Allgemeines
h_da SS 2016
• Module (Smil 2.1):
-
Structure (beschreibt die Grund-Elemente von SMIL: smil, head, body)
-
Layout (Kontrolle der Positionierung von Medien Elementen, Lautstärken-Kontrolle bei
Audio)
-
Timing (Timing und Synchronisation)
-
Time Manipulations (Erweiterte Zeitmanipulation: Geschwindigkeit, Rückwärtsabspielen,
Beschleunigen)
-
Media Objects (Beschreibung von Medien-Objekten (Text, Audio, Video, Image,
Animation, Brush-Module, Media-Clipping)
Seite 6
SMIL - Allgemeines
h_da SS 2016
• Module (Smil 2.1):
-
Content Control (Auswahl von Înhalt zur Laufzeit und optimierte Inhalts- Auslieferung,
z.B. Prefetching, Systemabhängigkeiten)
-
Linking (Linking und Navigation in Präsentation, Benutzerkontrolliert, Zeitgesteuert)
-
Animation (Einbeziehung von Animationen und Kombination mehrerer Animationen)
-
Transitions (wipe, fade)
-
Metainformation (Beschreibung von SMIL-Dokumenten, vergleichbar HTML)
Seite 7
SMIL – Content Control
Beispiel für Zugriff auf unterschiedliche Inhalte in Abhängigkeit von der Bitrate:
h_da SS 2016
<par>
<video src="anchor.mpg" ... />
<switch>
<audio src="dutchHQ.aiff" systemBitrate="2000000" ... />
<audio src="dutchMQ.aiff" systemBitrate="512000" ... />
<audio src="dutchLQ.aiff" ... />
</switch>
</par>
Beispiel: unterschiedliche Sprache für ein Audio:
<switch>
<audio src="joe-audio-nederlands" systemLanguage="nl"/>
<audio src="joe-audio-english" systemLanguage="en"/>
</switch>
Seite 8
SMIL - Linking
h_da SS 2016
Anklicken der Bildes in der oberen Hälfte startet eine SMIL-Präsentation in der unteren Hälfte
des Bildschirms.
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
<head>
<layout>
<region id="source"
height="%50"/>
<region id="destination" top
="%50"/>
</layout>
</head>
<body>
<a href="embeddedSMIL.smil" target="destination" accesskey="a">
<img region="source" src="source.jpg" dur="indefinite"/>
</a>
</body>
</smil>
Seite 9
SMIL - Metainformation
Beispiel für Metadaten zu einer SMIL-Präsentation (Element meta)
h_da SS 2016
<meta id="meta-smil1.0-a"
<meta id="meta-smil1.0-b"
<meta id="meta-smil1.0-c"
Smith" />
<meta id="meta-smil1.0-d"
12:00:00 GMT"/>
name="Publisher" content="W3C" />
name="Date" content="1999-10-12" />
name="Rights" content="Copyright 1999 John
http-equiv="Expires" content=" 31 Dec 2001
Seite 10
SMIL - Metainformation
Beispiel für Metadaten (Element metadata) zu einer SMIL-Präsentation:
<metadata xml:id="meta-rdf">
<rdf:RDF
xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs = "http://www.w3.org/2000/01/rdf-schema#">
h_da SS 2016
<!-- Metadata about a scene of the video -->
<rdf:Description rdf:about="#scene1" >
...
</rdf:Description>
</rdf:RDF>
</metadata>
Seite 11
SMIL - Allgemeines
• Profiles:
-
Ein Language Profile ist eine Kombination vom Modulen.
-
Immer ein gesamter Modul ist Komponente eines Language Profiles.
Es können Integrationsanforderungen spezifiziert sein (z.B. ein Modul verlangt auch die
Integration eines anderen)
• Zwei vordefinierte Profile:
-
- SMIL 3.0 Language Profile (umfasst alle Module)
h_da SS 2016
- SMIL 3.0 Host-Languages Conformant Profile (z.B. BasicMedia, BasicTimeContainers)
Seite 12
SMIL - Allgemeines
SMIL 1.0, SMIL2.0, SMIL2.1, SMIL3.0
• S MIL 1.0 — W3C Recommendation on 15th J une 1998
• S MIL 2.0 "meta-language" W3C Recommendation on 13th December 2005
• Haupt-Unterschiede:
-
Syntaktische Anpassungen z.B.: statt clip-begin, nun clipBegin (siehe DOM)
Anwendungen vom MIME-Type application/smil müssen beide syntaktischen Varianten
unterstützen.
• Aktuell: S MIL 2.1 - W3C Recommendation 13 December 2005: Funktionserweiterung zur
Unterstützung mobiler Geräte
h_da SS 2016
-
Seite 13
SMIL - Allgemeines
SMIL 1.0, SMIL2.0, SMIL2.1, SMIL3.0
• S MIL 3.0 — W3C Recommendation 1 December 2008
-
Updates und Erweiterungen von Modulen. Z.B.:
 Deckkraft des Hintergrunds kann definiert werden
 Motion Layout Modul definiert Bewegung von Inhalten innerhalb von Regionen
-
Neue Funktionalität. Z.B.
 SmilText: Textmodule, der Inline Formatierung einfacher Texte erlaubt.
h_da SS 2016
 State module, das erlaubt System- ode Benutzerzustände in die Ablaufsteuerung zu
nutzen.
 SMIL DOM Support (Dynamisches Setzen von Attributen)
Seite 14
SMIL - Allgemeines
SMIL Player
AMBULANT Open SMIL Player (SMIL3.0 compliant)
• CWI: http://ambulantplayer.org/
RealNetworks
• RealOne for SMIL 2.0 (ab Real Player 11)
Microsoft
• Internet Explorer 6.0 ( XHMTL+SMIL Profile Unterstützung)
h_da SS 2016
Apple
• Ab QuickTime 4.1 (SMIL 1.0)
Seite 15
SMIL - Allgemeines
SMIL Player(Fortsetzung)
Adobe
• Adobe's SVG Viewer unterstützt SMIL Animationen in SVG
X-Smiles
• Produkt, das viele XML Formate in einem Browser vereint (SMIL2.0 Basic, SVG,
XHTML).
• http://www.x-smiles.org/
PocketSmil2.0 (A S MIL 2.0 Playe r for the Pocke t PC) (nicht me hr ve rfügbar)
h_da SS 2016
• http://www.primewares.com/PocketSMIL-19911.html
SMIL Player by InterObject. (A S MIL 2.0 Playe r Bas ic Profile for the Pocke t PC)
Seite 16
• http://handheld.softpedia.com/progDownload/SMIL-Player-for-InterObject-MPEG4-live-streaming-se
SMIL - Allgemeines
SMIL Player(Fortsetzung)
Qi™ the intent®Browser
• Tao's Qi browser supports SMIL, HTML 4.01 CSS, and XML (including XML Parser, DTD
and Schema validation). http://tao-group.com/
h_da SS 2016
(nicht mehr verfügbar)
Seite 17
SMIL - Allgemeines
SMIL Authoring Tools
LimSee2 : A cross platform SMIL2.0 Authoring tool (Version 1.9.1 (11 January 2007))
• http://limsee2.gforge.inria.fr/
LimSee3: Ein Autorentool basierend auf einem template Mechanismus (Slideshow, Lektion;
Annotation)
• http://limsee3.gforge.inria.fr/public-site/
h_da SS 2016
GRiNS Editor Pro 2.2 for SMIL 2.0 (nicht mehr verfügbar)
• http://www.oratrix.com/Products/G2E
Seite 18
SMIL - Allgemeines
Der Aufbau eines SMIL-Dokuments ist in einer DTD festgelegt.
<!DOCTYPE smil PUBLIC "-//W3C//DTD SMIL 2.0//EN"
"http://www.w3.org/TR/REC-smil/ SMIL20.dtd">
<smil
xmlns="http://www.w3.org/2001/SMIL20/Language">
h_da SS 2016
Die W3C Recommendation von SMIL2.0 enthält auch eine informative Version der
Beschreibung als XML/Schema.
Seite 19
SMIL - Allgemeines
Top-Level Element:
smil enthält alle SMIL-Anweisungen
Ebene 1:
head Layout, Meta-Information, Definitionen (siehe HTML)
h_da SS 2016
body Inhalt und Timing (alle dynamischen Aspekte einer Präsentation)
Seite 20
SMIL - Allgemeines
<?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"
id="smil_example" title="example5" xml:lang="de">
<head>
<!-- Head -->
</head>
h_da SS 2016
<body
id="body_mainSequence"/>
</smil>
Seite 21
SMIL – Benutzung von Profiles
h_da SS 2016
SMIL ”full language support”
<smil xmlns="http://www.w3.org/2001/SMIL20/Language"
xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
systemRequired="smil20lang" >
...
</smil>
SMIL Anforderung bestimmter Profile
<smil xmlns="http://www.w3.org/2001/SMIL20/Language"
xmlns:transition="http://www.w3.org/2001/SMIL20/BasicTransitions"
xmlns:layout="http://www.w3.org/2001/SMIL20/HierarchicalLayout"
systemRequired="transition+layout" >
...
</smil>
Seite 22
SMIL – Benutzung von Profiles
Eine Liste der Module und ihrer exakten Bezeichner steht im Standard.
Für SMIL3.0 ist das:
h_da SS 2016
http://www.w3.org/TR/SMIL/smil-modules.html#smilModulesNSProfiles
Module name
Identifier
AudioLayout
http://www.w3.org/2008/SMIL30/AudioLayout
BasicLayout
http://www.w3.org/2008/SMIL30/BasicLayout
BasicLinking
http://www.w3.org/2008/SMIL30/BasicLinking
BasicMedia
http://www.w3.org/2008/SMIL30/BasicMedia
Seite 23
SMIL - Allgemeines
h_da SS 2016
Medien können sein:
•
Text: HTML, Timed Text
•
Audio (WAV, RealAudio)
•
Video (MPEG, RealVideo)
•
Graphik (JPG, GIF, PNG, RealPix)
•
Animation (GIF, SVG)
•
textStream
•
Brush-Media: Zeichnen von Flächen und Füllen
Seite 24
SMIL - Layout
Die Layout-Funktionalität ist in vier Stufen definiert:
BasicLayout +
AudioLayout
MultiwindowLayout
h_da SS 2016
Subregion Layout (Hierarchisches Layout)
Seite 25
SMIL - Layout
• BasicLayout: Elemente layout, root-layout, region
• AudioLayout: Attribut soundLevel im Element region
(relative Veränderung des Audio-Pegels)
• MultiwindowLayout (erlaubt mehrere Top-Level Fenster und deren
Koordination in einer Präsentation)
h_da SS 2016
• Hierarchisches Layout (Region Definitionen können hierarchisch
geschachtelt werden)
Seite 26
SMIL - Layout
Element layout:
definiert, wie die Elemente positioniert werden. Folgende
Randbedingungen:
• Layout muss deklariert werden, bevor es benutzt wird, also
innerhalb des head – Elements
• Mehrere layout-Elemente können innerhalb eines switchElements verwendet werden, und erlauben somit z.B.
Bildschirmabhängige Präsentationen.
h_da SS 2016
• Attribute type legt die Layout Sprache fest. Default ist:
text/smil-basic-layout
• Eine Layout-Element kann die Element
- region
- root-layout enthalten
Seite 27
SMIL – Layout - BasicLayout
Element root-layout
Syntaktisch ist es ein leeres Element und beschreibt das
toplevel Präsentations Fenster. Alle Regionen werden
relativ zu ihm positioniert.
Es hat folgende Attribue:
• Background Color
• Heigth
h_da SS 2016
• Width
Seite 28
SMIL – Layout - BasicLayout
Element root-layout
Beispiel:
<root-layout
width="1024"
height="768"
id="root"
h_da SS 2016
backgroundColor="aqua"/>
Seite 29
SMIL – Layout - BasicLayout
Das region Element kontrolliert die Position, Größe und die Skalierung des Medien
Objekts:
Im folgenden Beispiel wird Region “a” 5 Pixel unterhalb der Oberkante des
Darstellungsfensters definiert:
h_da SS 2016
<smil xmlns="http://www.w3.org/2001/SMIL20/"> <head> <layout> <root-layout width="320“
height="480"/> <region id="a" top="5"/>
</layout> </head> </smil>
Seite 30
SMIL – Layout - BasicLayout
Element topLayout
Beschreibt die Grösse eines Präsentationsfensters und dient als toplevel Fenster für
Regionen. Es sind mehrere topLayout Element erlaubt.
Es hat folgende Attribue:
• backgroundColor
• heigth, width
h_da SS 2016
• open (onStart, whenActive), close (onRequest, whenNotActive)
Seite 31
h_da SS 2016
SMIL – Layout - topLayout
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
<head>
<layout
id="layout_main" type="L1">
<topLayout
backgroundColor="blue"
id="topLayout_l1"
height="480"
open="whenActive"
close="whenNotActive"
width="640">
<region id="region_r1l1“/>
</topLayout>
<topLayout
close="whenNotActive"
height="240"
id="topLayout_l2"
open="whenActive"
width="240"
backgroundColor="red">
<region id="region_r1l2“/>
</topLayout>
</layout>
</head>
Seite 32
SMIL – Layout - BasicLayout
h_da SS 2016
Attribute des region Element:
• position: top,left, right, bottom, heigth, width
• backgroundColor: definiert den Hintergrundfarbe, des Bereichs, der nicht
durch Medien gefüllt ist. (erbt die Farbe des Parent-Elements, wenn nicht
definiert).
• regionName: Region kann benannt sein
• showBackground: always , whe nActive : steuert die Hintergrundfarbe, wenn
kein Medien dargestellt wird.
• z-index: steuert Überlagerung
●
fit: fill, hidde n, m e e t, s croll, s lice
Seite 33
CSS – Formatiermodell: Größeneinheiten
Absolute Einheiten:
h_da SS 2016
H1
H2
H3
H4
H4
{
{
{
{
{
margin: 0.5in } /* inches, 1in = 2.54cm */
line-height: 3cm }
/* centimeters */
word-spacing: 4mm }
/* millimeters */
font-size: 12pt }
/* points, 1pt = 1/72 in */
font-size: 1pc } /* picas, 1pc = 12pt */
Seite 34
CSS – Formatiermodell: Größeneinheiten
Relative Einheiten:
H1 { margin: 0.5em } /* ems, Höhe des Fonts des Elements */
H1 { margin: 1ex }
/* x-Höhe, der Höhe des Buchstaben 'x' */
P { font-size: 12px } /* pixels, relative zur Canvas */
Beispiel:
BODY {
font-size: 12pt;
text-indent: 3em;
}
h_da SS 2016
Prozentwerte sind immer relativ zu einem spezifizierten Wert.
P { line-height: 120% }
Seite 35
SMIL - Allgemeines
Element region:
Parameter fit hat folgenden Werte:
•
hidden: Inhalt wird nicht skaliert, zu gross -> abschneiden
h_da SS 2016
zu klein -> Rand
•
scroll: Inhalt wird nicht skaliert, Scroll-Balken eingefügt
•
fill: Inhalt wird skaliert auf die Grösse der Region.
Grössenverhältnis bleibt nicht erhalten.
•
meet: Inhalt wird so skaliert, dass es an drei Seiten die Region
füllt. Grössenverhältnis bleibt erhalten.
•
slice: Inhalt wird skaliert, dass die gesamte Region gefüllt ist.
Grössenverhältnis bleibt erhalten.
Seite 36
h_da SS 2016
SMIL – Attribut fit
Seite 37
h_da SS 2016
SMIL – Attribut fit
Seite 38
h_da SS 2016
SMIL – Attribut fit
Seite 39
SMIL - Allgemeines
Element region:
Parameter z-index definiert die Reihenfolge der Regionen, wenn
sie sich überlappen.
Die Region mit dem höheren Index liegt oben.
Reihenfolge wird vererbt
h_da SS 2016
Bei identischer Stack-Ebene liegt die zeitlich zuletzt gestartete
region liegt oben
Seite 40
SMIL – Layout - region
<region id="r1" top="0" left="0" height="400" width="400“
backgroundColor="red" fit="fill"/>
<region id="r2" top="0" left="50%" height="400" width="400“
backgroundColor="blue" fit="hidden"/>
<region id="r3" top="50%" left="0" height="400" width="400“
backgroundColor="green" fit="meet"/>
h_da SS 2016
<region id="r4" top="50%" left="50%" height="400" width="400"
backgroundColor="yellow" fit="slice"/>
Seite 41
SMIL - Allgemeines
Registration Points erlauben das präzise setzen von
Positionierungen. Beispiel ist das Positionieren eines
Inhalts in unterschiedlichen Boxen an derselben
Position.
h_da SS 2016
Dazu wir der Referenzpunkt definiert, optional das
Alignment definiert und dann bei der Positionierung
des Inhalts darauf Bezug genommen.
Seite 42
SMIL – Registration Point, Alignment
<layout>
<regPoint id=„middle“ top=„10“ left=„10“ regAlign=„center“/>
</layout>
<body>
h_da SS 2016
<img src=„B.jpg“ region=„R1“ regPoint=„middle“/>
</body>
Seite 43
SMIL – Registration Point, Alignment
<layout type="text/smil-basic-layout">
<root-layout id="rootLayout"
width="640" height="480" backgroundColor="white"/>
<region left="7%" top="10%" width="51%" height="50%"
id="region_r1" backgroundColor="blue"/>
<regPoint id="regPoint_rp1"
left="10" top="10" regAlign="topLeft"/>
</layout>
</head>
h_da SS 2016
<body id="body_mainSequence">
<img fit="hidden"
id="img_i1" region="region_r1"
src="MEDIAS/aktuell_rbb.jpg" regPoint="regPoint_rp1"/>
</body>
Seite 44

Similar documents