Das Modul Media RSS von Yahoo!

(Auszug aus "Newsfeeds mit RSS und Atom" von Heinz Wittenbrink, erschienen bei Galileo Press, 2005)

Yahoo! hat öffentlich eine Media RSS-Spezifikation entwickelt; die Version 1.0 wird für Yahoo!s Videosuche benutzt. (Dave Winer hat sich sehr irritiert darüber beklagt, wieviel von seiner Arbeit Yahoo! verwendet - nicht nur ohne ihn zu nennen, sondern auch, ohne ihn zu informieren.) Die Elemente des Moduls sollen das Element enclosure ersetzen und ergänzen und eine differenzierte Syndizierung von Medien erlauben. Das Modul unterstützt Thumbnails, Urheberrechtsangaben und Transkripte.

Der Namensraum-URI ist

"http://search.yahoo.com/mrss/".

Als Namensraum-Präfix verwendet selbst die Spezifikation media:.

Media RSS ist an die speziellen Anforderungen von Filmen und Fernsehsendungen angepasst und enthält Elemente für die spezifischen Metadaten, die oft zu solchen Medien gehören. Sie sollen es erlauben, mediale Inhalte zu organisieren und zu indizieren. Weitere beschreibende Attribute sollen in zukünftigen Versionen hinzukommen.

Die Elemente des Moduls Media RSS

Das Element media:group ist ein Nachkomme von item. Seine Nachkommen sind mehrere Elemente des Typs media:url, die auf denselben Inhalt, aber unterschiedliche Repräsentationen dieses Inhalts verweisen. Das Element ist optional.

Das Erweiterungselement media:content ist ein Nachkomme von item oder media:group. Innerhalb eines Elements des Typs media:group soll es nur dann mehrfach vorkommen, wenn es sich auf verschiedene Repräsentationen desselben Inhalts bezieht. Es dient dazu, jede Art von Medien zu publizieren. Dieses Element hat zehn Attribute, die fast alle optional sind:

  • url gibt den URI des Mediums an. Wenn dieses Attribut fehlt, muss ein Element des Typs player ergänzt werden.
  • fileSize enthält den Umfang in Byte.
  • type gibt den Medientyp (MIME type) an.
  • isDefault informiert darüber, ob es sich in einer Gruppe um das Medium handelt, das abgespielt wird, wenn nicht ausdrücklich ein anderes verlangt wird. Erlaubte Werte sind true und false.
  • expression kann die Werte sample, full oder nonstop haben. Der Wert gibt an, ob es sich um ein Muster oder um die volle Version handelt; nonstop wird gewählt, wenn das Medium kontinuierlich gestreamt wird. Der Default-Wert ist full.
  • bitrate besagt, wie viele Kilobit pro Sekunde der Stream enthält. Hiermit können Streams mit unterschiedlicher Downloadrate unterschieden werden.
  • framerate gibt an, wie viele Frames pro Sekunde bei visuellen Medien gezeigt werden sollen.
  • duration, height und width geben Abspieldauer, Größe und Breite an.
  • playerWidth und playerHeight geben die Dimensionen des Fensters der Software an, die die Medien abspielt, playerURL einen URI, der die Abspielsoftware bestimmt.

Im Prinzip können die beiden Elemente media:content und media:group beliebig oft als Nachkommen desselben Elements vorkommen. Die Spezifikation empfiehlt jedoch, sich an den RSS-Grundsatz zu halten, dass jedes item eine "Story" enthält, und innerhalb eines Elements item nur auf ein Item oder ein Medium zu verweisen. Wie Sie sich erinnern, wird auch bei dem RSS-Element enclosure diskutiert, ob es innerhalb von item wiederholt werden darf oder nicht. Wenn mehr als ein Medium innerhalb eines item vorkommt, kann es nicht mehr dem URI zugeordnet werden, der in link angegeben ist.

Weitere optionale Elemente können entweder item, media:content oder media:group beschreiben (Letztere im Namensraum der Erweiterung, hier gekennzeichnet mit dem vorgeschlagenen Präfix media:). Sie beziehen sich auf eine Eigenschaft dieses Elements.

  • media:adult kann die Werte true und false enthalten und besagt, dass das Medium Inhalte für Erwachsene enthält. Die Spezifikation verweist darauf, dass sich die Natur des Inhalts detaillierter mit dem RSS-Element rating angeben lässt, für dessen Inhalt der PICS-Standard verwendet wird. Dieser Hinweis ist der brauchbarste Teil der ansonsten unbeholfenen Definition des Elements. Hier wird ein Element definiert, wo ein Attribut ausgereicht hätte. Außerdem werden technische Regeln und Angaben zum Gebrauch durcheinander geworfen: Das Element wird als "required" bezeichnet, wenn das Medium tatsächlich nur für Erwachsene geeignet ist.
  • media:title nimmt den Titel des jeweiligen Medienobjekts auf. Weitere Regeln werden nicht angegeben. So erfahren wir nicht, ob Markup innerhalb des Titels erlaubt ist oder nicht.
  • media:thumbnail enthält Angaben zu einem Bild, das als Thumbnail des Medienobjekts verwendet werden soll. Dabei geben die drei Attribute url den URI, height die Höhe und width die Breite des Medienobjekts an.
  • media:category gibt die Kategorie des Mediums an und ist ein Beispiel für ein Erweiterungselement, das Winer als funky bezeichnen würde. Es hat keine erkennbar andere Funktion als das Element category, das bereits zum Sprachumfang von RSS 2.0 gehört. media:category hat zwei Attribute: scheme gibt an, welcher Taxonomie der Ausdruck entstammt, der die Kategorie bezeichnet. label nennt eine für Menschen lesbare Bezeichnung der Kategorie.
  • media:hash gibt den hash des Mediums entsprechend dem Algorithmus des MD5 Message-Digest an. So lässt sich kontrollieren, ob ein Medium vollständig übertragen wurde oder nicht.
  • media:player soll einem Media Player in einem Browser erlauben, das Medium zu öffnen. Auch hier werden Attribute deklariert: url für den URI der Player-Software, height für die Höhe und width für die Breite des Fensters .
  • media:credit enthält Personen und Firmen (in zukünftigen Versionen auch Orte), die zur Entstehung des Mediums beigetragen haben. Das optionale Attribut role gibt an, welche Rolle die Person oder Firma bei der Produktion des Mediums gespielt hat. In der Spezifikation finden Sie eine ganze Liste solcher Rollen, darunter cartoonist, composer und playwright. Außerdem wird auf die Funktionsbezeichnungen der European Broadcasting Union verwiesen.
  • media:text nimmt das oben bereits erwähnte Transkript auf. Das Attribut type mit den Werten plain oder html besagt, in welchem Textformat die Transkription vorliegt. type ist ein obligatorisches Attribut. In Zukunft soll es auch Text mit einer Zeitkodierung unterstützen, um z. B. Untertitel von Filmen zu ermöglichen.

Einige der Sprachmittel von Media RSS haben Funktionen, die Sie vielleicht von der Synchronized Multimedia Integration Language (SMIL) kennen. Auch SMIL erlaubt es, alternative Medien anzugeben, Transkripte einzubinden und Copyright-Informationen zu zeigen. SMIL wurde allerdings explizit entworfen, um zu steuern, wie Präsentationen im Web zeitlich ablaufen. Die Funktionen von Media RSS sind im Vergleich dazu nur rudimentär. SMIL wurde in der Vergangenheit vor allem von der Firma Real Networks propagiert – als Anbieter von Medien im Web ein Konkurrent von Yahoo!. Vielleicht liegt darin ein Grund dafür, dass man nicht auf diese Sprache zurückgegriffen hat, um ein Medienmodul für RSS zu definieren.

   

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema Newsfeeds mit RSS und Atom bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: