space picture
That's me, folks

Werbung

Test und Preisvergleich
Preisvergleich und Testberichte zu Notebooks, Handys Digitalkameras
sowie MP3 Player.



Kredit online finden - durch Vergleich! CLH Webartikel sind online - cherche la Catalogue Regional pour la france -unser Klassiker prolinks online Ferienhäuser buchen für den Urlaub Ferienhaus nächsten Sommer

Kostenloser Pressedienst
Plastikkarten
Telefonbuch

space picture space picture

Daily Link Icon Dienstag, den 16. Januar 2007
Tutorial: Vodcasting mit SMIL (Teil 2)

Hatte ich im Book Cover ersten Teil dieses kleinen SMIL-Tutorials nur eine kleine Diashow gezeigt, werden wir nun einen richtigen Film einbauen, der trotz allem auch als Vodcast ins Netz gestellt werden kann. Allerdings erkaufen wir uns dies mit dem Nachteil, daß die SMIL-Datei nicht mehr im Ambulant-Player läuft. Um den eingebetteten Film auf eine vodcastfähige Größe einzudampfen, habe ich ihn mit iSquint in das Format MPEG-4 mit H.264 Encoding heruntergerechnet (6,4 MB) und das Format beherrscht Ambulant leider nicht. Mit der über 46 MB fetten Originaldatei hatte der Player keine Probleme, aber das läuft dann nur noch lokal auf dem Desktop und nicht mehr im Netz. iTunes, QuickTime, der RealPlayer und Democracy, die DRM-freie Alternative zu iTunes, kommen mit dem komprimierten Film aber zurecht.

Es ist sowieso ein Kreuz mit den Multimedia-Dateien der diversen SMIL-Player, sie beherrschen alle unterschiedlichen Formate. So sind die »bevorzugten« Dateiformate bei:

PlayerVideoAudioBilder
AmbulantDiv-XMP3;
Ogg Vorbis (streamed)
JPEG, PNG, GIF, SVG
RealPlayerMPEG-2, MPEG-4;
RealVideo (streamed)
MP3;
RealAudio (streamed)
JPEG, PNG, GIF, SVG, Flash
QuickTime
iTunes
Quicktime;
MPEG-4 (streamed)
MP3, AIFF;
RealAudio (streamed)
JPEG, PNG, GIF, Flash
DemocracyQuicktime, WMV, MPEG-4, AVI, XVIDkeine Angaben; MP3 gehtkeine Angaben; GIF, JPEG, PNG geht

Während man also bei den Audio-Formaten mit MP3 immer auf der sicheren Seite ist und auch bei den Bildern die »Browser«-Formate immer gehen, feiert bei den Video-Codices der Wildwuchs fröhliche Urständ. Und teilweise greifen die Player dann auch noch auf externe Encoder zu, so daß etwas, was auf dem einen Rechner läuft, auf dem anderen noch lange nicht laufen muß. Wenn man sich allerdings auf die letzten drei (RealPlayer, QuickTime/iTunes und Democracy) beschränkt, scheint meinen bisherigen Erfahrungen nach MPEG-4 mit H.264 im QuickTime-Container eine sichere Sache zu sein.

[Jetzt aber in medias res]: Das Ziel unseres kleinen Tutorials soll eine SMIL-Anwendung sein, die sowohl im RealPlayer und in QuickTime läuft, aber auch in iTunes und Democracy Podcast-fähig ist. Daher beschränken wir uns auf SMIL 1.0, da QuickTime die aktuelle Version SMIL 2.1 leider immer noch nicht beherrscht. Wir wollen Bilder, Filme und Links einbauen und zeigen, wie das in SMIL mit der Zeitsteuerung funktioniert.

Eine SMIL-Datei ist ja eine XML-Datei und ähnlich wie (X)HTML zweigeteilt. Ein Header (<head>) enthält die Layout-Informationen und ein <body> die Informationen über den zeitlichen Ablauf der Animation. Also legen wir erst einmal den Header fest:

Layout

Das Root-Fenster ist entsprechend unserem Video 640 x 480 Pixel groß und bekommt eine schwarze Hintergrundfarbe. Zwar darf man der Spezifikation nach auch direkt in das Rootfenster »zeichnen«, aber da QuickTime damit nicht klar kommt, legen wir eine Region »video« fest, die das Rootfenster zu 100% in der Höhe und Breite ausfüllt. Darüber legen wir je noch eine Region »logo« (links oben), »navbar« (rechts) und »untertitel« (unten) fest, die entsprechende Elemente aufnehmen sollen. Ihnen wird auch jeweils noch ein z-index zugewiesen. Je höher dieser ist, desto weiter »oben« werden diese Elemente gezeichnet und verdecken dadurch unter Umständen darunterliegende Elemente.

Im Quellcode sieht das Ganze so aus:

<head>
<layout>
   <root-layout id="root" width="640" height="480"
   background-color="black" />
   <region id="video" width="100%" height="100%" 
   z-index="1" />
   <region id="logo" left="40" top="10" width="50" 
   height="57" z-index="2" />
   <region id="navbar" left="400" top="10" width="200" 
   height="460" z-index="2" />
   <region id="untertitel" left="40" top="400" width="560" 
   height="64" z-index="3" />
</layout>
</head>

Ist doch eigentlich ziemlich einfach, oder? Das <root-layout> legt die »Fenstergröße« des Players fest und enthält alle anderen Komponenten, während jede <region> ein Container für die Medieninhalte ist. Die Angabe von Koordinaten und Höhe und Weite (alternativ gehen auch Prozentwerte) ist für alle Regionen verbindlich, eine Ausnahme bildet die Audio-Region, da diese keine sichtbaren Inhalte besitzt. Außerdem können — ähnlich (X)HTML — im Head noch Metadaten vereinbart werden, jedoch ist nicht alles, was in HTML erlaubt ist, auch in SMIL erlaubt! Die Metadaten beschränken sich auf Autor, Titel und Copyright-Vermerk.

[Was zeigen wir eigentlich wann?] Wir wollen eine kleine Agility-Präsentation zeigen, die folgenden Ablauf haben soll:

  1. Startbild mit eingeblendetem Titel
  2. Film mit Untertitel und Logo
  3. Gegen Schluß des Films macht das Team einen Fehler, der soll (als Text) angezeigt werden
  4. und schließlich die Ende-Meldung und die Credits

Außerdem wollen wir zeigen, wie man aus dem Film heraus verlinken kann. Der Quellcode der <body>-Section sieht daher wie folgt aus:

<body>
<seq>
<par>
 <img src="http://www.kantel.de/casts/smil/startbild.jpg" 
  region="video" dur="10" />
 <img src="http://www.kantel.de/casts/smil/nav1.gif" 
  region="navbar" begin="2" end="10" />
</par>
<par>
 <video src="http://www.kantel.de/casts/smil/berolina2.mov" 
  region="video" />
 <a href="http://www.schockwellenreiter.de/" show="new"
   external="true">
 <img src="http://www.kantel.de/casts/smil/untertitel1.jpg" 
  region="untertitel" begin="2" dur="6" /></a>
 <a href="http://www.agilityblog.de/" show="new"
  external="true">
 <img src="http:/\/www.kantel.de/casts/smil/zebuicon.jpg"
  region="logo" begin="2" dur="44" /></a>
 <img src="http:/\/www.kantel.de/casts/smil/fehler1.gif" 
  region="navbar" begin="40" dur="2" />
</par>
<img src="http://www.kantel.de/casts/smil/theend1.gif" 
region="video" dur="10" />
<a href="http://www.kantel-chaos-team.de/" show="new" 
<img src="http://www.kantel.de/casts/smil/theend2.gif" 
 region="video" dur="2" fill="freeze" /></a>
 external="true">
</seq>
</body>

Das ist schon alles. Der <body> einer SMIL-Datei enthält eigentlich nur zwei Anweisungen:

  1. <seq> für Anweisungen, die sequentiell (hintereinander) abgearbeitet werden sollen, und
  2. <par> für Medienelemente, die parallel (mehr oder weniger gleichzeitig) angezeigt werden sollen.

Im Prinzip baut sich die SMIL-Datei unseres Tutorials also wie folgt auf:

<seq>
  <par>
    10 Sekunden Eingangs-Bild
    8 Sekunden Titel (2 Sekunden verzögert)
  </par>
  <par>
    Video mit Untertitel und Logo
    nach ca. 40 Sekunden erscheint eine Fehlermeldung
  </par>
  Ende-Bild
  Credits
</seq>

Dabei gibt es dann die Objekt-Container img, video, audio usw., die aber alle auf ref »gemapped« werden, die unterschiedlichen Namen dienen nur der besseren Lesbarkeit. Wichtige Attribute der Objekt-Container sind src, der eine URI zur Quelle verlangt und region, der die id einer in der Head-Section festgelegten Region bekommt. Alle Objekte müssen einer Region zugeordnet werden.

Bei den URIs sollte man vorsichtig bei relativen Links sein, QuickTime akzeptiert sie nur, wenn die Mediadateien im gleichen Verzeichnis wie die SMIL-Datei liegen. Im Zweifelsfalle ist man daher mit absoluten URIs besser bedient.

Wichtig sind auch die Synchronisations-Attribute:

  • begin="": Bezieht sich immer auf das letzte <seq>
  • dur="": Dauer
  • end="": Bezieht sich immer auf das letzte <seq>

Dabei gibt es zwei Anfängerfallen, in die auch ich getappst bin: Erstens darf es für jede Sequenz nur ein »begin« geben und zweitens wird ein Objekt nicht angezeigt, wenn der »end«-Wert kleiner als der »begin«-Wert ist. (Wenn man SMIL-Dateien per Script erzeugt, passiert das schneller, als es einem lieb ist. Grins)

Schließlich legt das fill-Attribut das Verhalten am Ende einer Sequenz fest: Bei fill="remove" wird das letzte Media-Obejekt entfernt und der Hintergrund des Root-Fensters wird sichtbar. Dies ist in der Regel der Default-Wert. Bei fill="freeze" hingegen wird das letzte Media-Objekt »eingefroren« und bleibt sichtbar.

[Schließlich und endlich interessiert uns der Hyperlink]: Der sieht aus, wie von HTML bekannt (<a href="...">), besitzt aber zwei zusätzlich Attribute, external und show. Bei external="false" (Default) wird der Link im aktuellen Player geöffnet, external="true" öffnet den Link im Standard-(Web-)Browser des Benutzers. Und show="new" öffnet ein neues Player-Fenster, show="false" läßt das Linkziel im gleichen Player-Fenster ablaufen. Das aus HTML bekannte <area>-Element wird ebenfalls unterstützt.

'Screenshot SMIL-Anwendung' von kantel

Screenshot: Die SMIL-Datei (noch mit dem unkomprimierten Original-Video) läuft im Ambulant-Player, die dahinterliegende Webseite wurde aus dem Video heraus geöffnet. (Klick für eine Vergrößerung)

Links und Anker sind nur gültig, solange das zugehörende Objekt existiert. Alternativ dazu können Links und Anker auch mit den Synchronisations-Attributen begin, end und dur versehen werden.

Und um jetzt aus unserer Präsentation einen Vodcast zumachen, haben wir den QuickTime-Trick aus dem letzten Tutorial angewandt: Wir haben die Endung .mov angehängt und an den Anfang der Datei die 8 Buchstaben SMILtext geschrieben. QuickTime war glücklich darüber, Democracy und dem RealPlayer war es egal, lediglich der Ambulant-Player weigerte sich, diese Datei zu parsen.

'SMIL-Vodcast in iTunes' von kantel 'SMIL-Vodcast in Democracy' von kantel 'Eine SMIL-Datei im REALplayer' von kantel
Die SMIL-Datei als Vodcast in iTunes und Democracy, sowie im REALplayer (Klick für eine Vergrößerung).

Dann habe ich die Datei einfach in meinen experimentellen Vodcast gepackt und erstaunlicherweise — ich war selber skeptisch — funktionierte das alles wunderbar. Zumindestens mit iTunes und Democracy. Und es sollte eigentlich mit (fast) jedem anderen Vodcast-Client (der .mov kann) auch funktionieren. Der Nachteil: Da die Media-Dateien immer aktuell nachgeladen werden, ist eine »Mitnahme« auf ein mobiles Gerät (iPod) nicht sonderlich sinnvoll. Doch dieser Nachteil sollte dank der neuen UTMS-fähigen Geräten (und MMS-2 resp. 3GPP als SMIL (Mobile)-»Player«) bald zu einem Vorteil (ständige Aktualisierung möglich) wandeln. Grins

Und natürlich läßt sich diese zum QuickTime-Movie konvertierte SMIL-Datei auch mit der üblichen object-embed-Kombination in eine Webseite einbauen. Das habe ich hier gemacht. Ihr dürft dort klicken — auch da funktionieren die Links. Auf den Folien dieser Vorlesung steht sowieso noch einiges mehr zu SMIL.

Technorati-Tags:

Posted by Jörg Kantel | Permalink | | |

Akkordeon, ein schöner Ton

Bireli Lagrene spielt Django Reinhardts »Daphne« live auf dem Montreaux Jazz-Festival 2002.

Und am Akkordeon der wunderbare Richard Galliano. Eine phantastische Aufnahme.

Posted by Jörg Kantel | Permalink | | |

I love OPML

A picture named ic_safari2opml.jpg Safari2OPML ermöglicht den Export der in Safari abonnierten RSS-Feeds in das OPML-Format und damit den Re-Import in viele Feed-Reader und natürlich auch in Frontier. [mac.delta-c]

Technorati-Tags:

Posted by Jörg Kantel | Permalink | | | Frontier

Daten speichern bei Amazon

A picture named s3.png S3 Browser (BSD Licence) »is a MacOS X administration tool for the Amazon S3 data storage service. My goal is to build a small application useful in itself for developers or users subscribed to the S3 service, but also to provide example code showing how to access S3 through the REST API in a OS X Objective-C client application, on top of OS X technologies (Keychain, URL loading system, ...).« Amazons S3 bietet unlimitierten Speicherplatz und man zahlt nur, was man nutzt (0,15 $ per GByte/Monat Speicherplatz und 0,20 $ per GByte/Monate Traffic). Der Zugriff erfolgt über Webservices (REST und SOAP). [O'Reilly Radar]

Technorati-Tags:

Posted by Jörg Kantel | Permalink | | | Webworking

Photos für umme

Pixelquelle mit mehr als 100.000 kostenlosen Photos: Rund 100.000 Photos stehen mittlerweile bei pixelquelle.de kostenlos zur Verfügung. Die von Hobby-Photographen eingestellten Bilder können für die eigene Website oder Druckerzeugnisse genutzt werden. Als Quelle für die Bilder muß allerdings Pixelquelle.de angegeben werden, nicht die Photographen. Wahlmöglichkeiten, was die Lizenz angeht, haben die Nutzer nicht. [Golem.de]

Technorati-Tags:

Posted by Jörg Kantel | Permalink | | |

Wir Blogger, schön, reich und berühmt...

Reich? Geld verdienen mit Blogs: Der Blogger Robert Basic ist der Frage nachgegangen, wie viel Geld mit Blogs direkt verdient wird und wie sich diese Einnahmen zusammensetzen. Daten von 47 Blogs wurde zur Verfügung gestellt, die Ergebnisse nun in einer Zusammenfassung veröffentlicht. Im Schnitt kommen die Blogger auf 213,- US-Dollar pro Monat. [Golem.de]

Technorati-Tags:

Posted by Jörg Kantel | Permalink | |

Die wilde Horde hat ebenfalls fertig

Horde Groupware und Horde Groupware Webmail sind jetzt jeweils in der Version 1.0 verfügbar. Diese setzen auf Horde auf, einem PHP-Framework zur Entwicklung webbasierter Anwendungen. Die Groupware bündelt einige auch einzeln verfügbare Applikationen miteinander und läßt sich auch mit anderen Horde-Anwendungen erweitern. [Golem.de]

Technorati-Tags:

Posted by Jörg Kantel | Permalink | | |

Blender ist aber billiger...

Maya 8.5 ist fertig: Autodesk hat die Version 8.5 von Maya (von 2.099,- bis 8.819,- T€uro) für Windows, MacOS X und Linux fertig gestellt.

Screenshot

Die zur Animation, Modellierung und Rendering dienende 3D-Grafiksoftware soll nun eine Automatisierung mit Hilfe von Python-Scripten erlauben und zudem mit Hilfe eines vereinheitlichten Simulationssystems mehr Interaktion zwischen dynamischen Objekten wie Flüssigkeiten, Kleidung und festen Körpern ermöglichen. [Golem.de]

Eine Alternative dazu ist die kostenlose Open-Source-Software Blender (GPL), die ebenfalls Python als interne Script-Engine nutzt.

Technorati-Tags:

Posted by Jörg Kantel | Permalink | | |

Drupal 5 ist draußen

Das freie CMS Drupal ist in der Version 5.0 offiziell erschienen. Das Projekt feierte am Sonntag seinen sechsten Geburtstag. Harzigen Glühstrumpf auch von hier... [netzpolitik.org]

Technorati-Tags:

Posted by Jörg Kantel | Permalink | | |

Polizei-Protokolle im Internet veröffentlicht

Macht Borscht etwa Urlaub? Da gehen sie hin, Eure Daten: Ein peinliche Panne ist der Darmstädter Polizei unterlaufen. Insgesamt 41 Polizeiberichte mit den genauen Daten und Vorstrafen der kontrollierten Bürger landeten im Netz. [Netzeitung.de Internet]

Technorati-Tags:

Posted by Jörg Kantel | Permalink | | |

Apple schickt Anwälte gegen Blogger los

Mit schlechten Nachrichten im Internet gehen betroffene Unternehmen gerne so um: Wenn du an den Urheber nicht rankommst oder den Grund nicht ändern kannst, halte dich an den Überbringer. Mit ein bißchen Glück ist das ein Blogger, der trotz einiger Popularität keine eigene Rechtsabteilung hat und sich von einem geschliffenen Schreiben teurer Anwälte noch beeindrucken läßt. Nun ist es mal wieder die Anwaltstruppe von Apple, die es mit der Rede- und Pressefreiheit offenbar nicht so hat. Und das trotz einschlägiger Erfahrung vor Gericht. [heise online news]

Apple und die Pressefreiheit sind dann auch der heutige »Google des Tages«.

Boxer

Technorati-Tags:

Posted by Gabriele Kantel | Permalink | | |

space picture space picture space picture space picture

Werbung
Monatskalender
Januar 2007
So
Mo
Di
Mi
Do
Fr
Sa
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
Interne Links
Archiv
Kategorien