Streaming Media und RealVideo

Transcription

Streaming Media und RealVideo
Streaming Media und RealVideo
Arno Erpenbeck
Februar 1999
Inhaltsverzeichnis
1 Einleitung
2
2 Audio und Video
2.1 Vorbemerkungen . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Audio Formate . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Video Formate . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2
2
3
3 Streaming
3.1 Idee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Protokolle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Produkte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
4
5
6
4 The RealSystem
4.1 Überblick . . . . . . . . .
4.2 RealAudio und RealVideo
4.3 RealPix . . . . . . . . . .
4.4 RealText . . . . . . . . . .
4.5 RealFlash . . . . . . . . .
4.6 Einbindung in Webseiten .
4.7 RealServer . . . . . . . . .
.
.
.
.
.
.
.
7
7
7
7
8
9
9
9
5 SMIL
5.1 Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Produkte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
10
11
12
6 Ausblick
12
7 Links
7.1 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Protocols, Specifications . . . . . . . . . . . . . . . . . . . . . . . .
7.3 Sonstige Informationen . . . . . . . . . . . . . . . . . . . . . . . . .
13
13
13
14
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1 Einleitung
In diesem Artikel wird die Idee von Streaming Media und das RealSystem vorgestellt.
Um multimediale Inhalte über das Internet zu verteilen, müssen neue Methoden und
Techniken angewandt werden, eine davon ist Streaming. Zuerst werden derzeitige
Standard Audio- und Video-Formate beschrieben. Dabei werden einige Probleme angesprochen, die beim Einsatz dieser Formate im Internet entsehen. Es folgt ein Überblick über Streaming Technologien und spezielle Protokolle wie RTP und RTSP. Als
Beispiel für den praktischen Einsatz von Streaming wird das RealSystem von Real
Networks vorgestellt. Die neue Markup Sprache SMIL eröffnet viele Möglichkeiten,
um Präsentationen zu erstellen, die aus synchronisierten Media Objekten bestehen.
Abschließend erfolgt ein Ausblick über die weitere Entwicklung im Streaming Media
Bereich und konkurrierende Vorschläge.
2 Audio und Video
2.1 Vorbemerkungen
Zuerst sollen zwei Begriffe geklärt werden, die im Multimedia Bereich häufiger gebraucht werden: Multimedia Architektur und Codec. Eine Architektur definiert
einen Rahmen für Software Komponenten zur Erstellung, Wiedergabe und Speicherung von multimedialen Daten. Dabei werden z.B. Dateiformate und Schnittstellen
zu Audio- und Video-Codecs definiert. Die einzelnen Architekturen haben meistens
einen schwerpunktmäßigen Einsatzbereich (Internet, CD-ROM) und dementsprechend
unterschiedliche Stärken und Schwächen. Beispiele für Multimedia Architekturen sind
QuickTime (Apple), RealMedia (RealNetworks), Video for Windows, DirectShow,
NetShow (Microsoft).
Codec steht für Compressor/Decompressor. Speichert man Audio oder Video Daten unkomprimiert ab, hat man das Problem, das sehr schnell sehr große Dateien entstehen. Man versucht also, mit einem geeigneten Algorithmus unwichtige Informationen
zu löschen, so das der Gesamteindruck unverändert bleibt. Es läuft dabei auf einen
Kompromiß aus Qualität und (Datei-)Größe hinaus. Manche Codecs eignen sich eher
für Bilder, manche für Audio oder Video, einige spielen ihre Stärken im Netzbereich
aus, während andere mehr für CD-ROM oder DVD geeignet sind. Sie unter-scheiden
sich auch in Geschwindigkeit der Komprimierung und Größe der komprimierten Datei.
Bei der Komprimierung sind verschiedene Algorithmen im Einsatz wie DCT1 , DWT2
oder Fractal Imaging. Hierbei gibt es Software und Hardware Lösungen. Einige bekannte Codecs sind CinePak (SuperMac), CinePak Pro (CTi), Indeo (Intel), MJPEG3
und MPEG.
2.2 Audio Formate
Zur Speicherung von Audio-Daten gibt es zahlreiche Dateiformate, von denen die
wichtigsten hier kurz vorgestellt werden sollen. Sie unterscheiden sich u.a. in der
sampling rate, bit rate und Anzahl der Kanäle. Als Faustregel kann man sagen, daß ein
besserer Klang auch zu einer größeren Datei führt.
1 DCT:
Discrete Cosine Transformation
Discrete Wavelet Transformatiom
3 MJPEG: Motion JPEG
2 DWT:
2
AU
Das sogenannte -law Format trifft man am häufigsten in UNIX-Welt an (insb.
Sun). Es ist auch Standard-Audio-Format bei Java. AU ist ein 8-bit Format mit
einer 8 kHz sampling rate; es sind ein oder zwei Kanäle möglich (mono/stereo).
WAV
Das WAV-Format wurde von Microsoft und IBM eingeführt und ist sozusagen
Standard in der Windows-Welt. Es bietet sampling rates von 8 bis 48 kHz und
eine bitrate von 8 oder 16 bit. Es stehen zwei Kanäle zur Verfügung (mono links,
mono rechts, mono gemischt, stereo).
AIFF
Das Audio Interchange File Format wird hauptsächlich von Apple und Silicon Graphics genutzt. Bei verschiedenen samplig rates sind 8 bit in mono und
stereo möglich. Eine Variante ist AIFFC (AIFF Compressed), das zusätzliche
Komprimierung erlaubt.
MPEG-Audio
Die Motion Picture Expert Group hat verschiedene Audio und Video Standards ausgearbeitet. Zur Zeit gibt es im Audio Bereich MPEG-1 und MPEG-2,
die in verschiedene Layer unterteilt werden. MPEG-1 bietet in den Layern I-III
sampling rates von 32 bis 48 kHz und bit rates von 32 bis 448 kbit/s in 2 Kanälen.
MPEG-2 stellt darüber hinaus 5 Hauptkanäle und 1 low frequent enhancement
channel (LFE) und bitrates bis 1 Mbit/s zur Verfügung. Bei MPEG-2 AAC (Advanced Audio Coding) werden schließlich alle Register gezogen: 1 - 48 Kanäle,
sampling rate 8 - 96 kHZ und bitrates 8 - 160 kbit/s. Das führt natürlich zu sehr
großen Dateien (20 Sekunden MPEG-1 Layer II 360 KB).
VQF
Von Yamaha stammt dieses relativ neue Format ab, was klanglich bessere Ergebnisse als MPEG-1 Layer III (auch bekannt als MP3) liefern soll, bei etwas
kleinerer Dateigröße. Zur Zeit ist zum Abspielen aber ein spezieller Player oder
Plug-in erforderlich.
MIDI
Das Musical Instrument Digital Interface soll noch kurz erwähnt werden, obwohl es nicht ganz in diese Reihe paßt. Im Gegensatz zu obigen Formaten entstehen MIDI Daten nicht durch sampling einer Audio-Quelle, sondern sie dienen
zur Beschreibung von Musik. Über MIDI können z.B. Synthesizer oder Soundkarten gesteuert werden. Eine MIDI Datei enthält Noten mit Angaben zur Höhe,
Dauer und Lautstärke und dem "Instrument", auf dem sie erzeugt werden sollen.
2.3 Video Formate
Wie im Audio-Bereich, so gibt es auch im Video-Bereich verschiedene Dateiformate.
Komprimierung ist hier noch stärker erforderlich, da sonst die Dateigrößen alle Grenzen sprengen (unkomprimiertes Video verbraucht ca. 27 MB pro Sekunde!). Charakteristika einzelner Video Formate sind die Größe des dargestellten Videos (pixel) und die
frame rate (frames per second, fps), d.h. wie häufig ein frame (Bild) wiederholt wird.
Die drei häufigsten Formate sind:
3
AVI
Das Audio Video Interface ist Grundlage von Microsofts Video for Windows.
Es bietet eine Auflösung von 320 240 pixel und eine frame rate von 30 fps.
Vorteil von AVI ist, das keine extra Hardware erforderlich ist. Es unterstützt
verschiedene Codecs, wie z.B. Intel Indeo oder CinePak.
MPEG
MPEG-1 ermöglicht 320 240 pixel und 30 fps. MPEG-1 ist eine Software
Lösung, die Qualität ist aber eher gering. MPEG-2 soll als Basis von HDTV4 und
DVD5 dienen und bietet neben Audio in CD-Qualität Auflösungen von 720 480
bis 1280 720 bei maximal 60 fps.
MOV
Apples QuickTime Format ist qualitativ und auch von der Dateigröße mit AVI
vergleichbar. Die QuickTime 3 Architektur erweitert das Angebot um Animation
und Virtual Reality.
3 Streaming
3.1 Idee
Ausgangssituation beim Streaming ist der Wunsch, daß ein Benutzer Multimedia-Daten
(Audio, Video) ohne lange Wartezeiten betrachten kann. Stellt man ein Video z.B. als
AVI im Internet zur Verfügung, so muß der Benutzer erst die ganze Datei auf seinen
Computer herunter laden. Das kann insbesondere bei einer langsamen Netzanbindung
(Modem) wegen der Größe der Dateien (s.o.) sehr lange dauern. Streaming ermöglicht
es, mit dem Abspielen eines Films quasi sofort zu beginnen: Einkommende Pakete
werden decodiert und abgespielt.
play
packet
packet
decompress
packet
receive
Zu den Komponenten eines Streaming Systems gehören Möglichkeiten zur Erstellung und Bearbeitung von Multimedia Daten, entsprechende (Datei-)Formate, sowie
Media-Server und Player. An ein Streaming System werden gewisse Anforderungen
gestellt: Wichtig ist ein möglichst gleichmäßiger Datenfluß, die Server-Belastung soll
möglichst gering sein, und das ganze System muß skalierbar sein. Für den Client sollten sowohl on-demand (unicast) als auch near-on-demand (time-staggerd multicast)
Services angeboten werden können, ebenso wie z.B. Live-Events. Wichtig ist auch die
Integrationsmöglichkeit in bestehende Applikationen.
4 HDTV:
5 DVD:
High-Definition Television
digital versatile disc
4
3.2 Protokolle
Beim Streaming kommen verschiedene Transport- und Kontroll-Protokolle zum Einsatz. Das Standard-Protokoll des Internet (TCP6 ) eignet sich aus folgenden Gründen
nur bedingt zum Streaming: Zum einen haben die Pakete keine feste Route vom Server zum Client, zum anderen ist die zur Verfügung stehende Bandbreite nicht fest.
Beides führt dazu, daß eine quality-of-service Garantie nicht gegeben werden kann.
Retransmission von Paketen führt zur Unterbechung der Übertragung, ein Effekt der
hier unerwünscht ist. Beim Streaming kommt es auf einen gleichmäßigen Datenfluß
an. Die Wiedergabe wird weniger durch fehlende Pakete (die übersprungen werden
können) gestört, als durch eine Unterbechung des Streams. Diese Punkte führten dazu,
daß u.a. folgende Protokolle entwickelt wurden und im Einsatz sind:
RTP
Das Realtime Transport Protocol (RFC 1889, 1890) ist ein paket-basiertes Protokoll für Multimedia Data Streams. Es ist ein Proposed Standard von der IETF7
und auch ITU8 Standard. RTP unterstützt unicast und multicast und benutzt
(üblicherweise) UDP, d.h. es ist kein reines Transport Protokoll. RTP arbeitet
mit derzeitigen und kommenden Standards zusammen: IPv4, IPv6, ATM, ADSL
- alles ist möglich. Der RTP header eines jeden Paketes enthält einen timestamp,
eine payload type id und eine sequence numbering. Durch den timestamp läßt
sich die Reihenfolge der einkommende Pakete ermitteln, was wichtig ist für Synchronisation und zum Feststellen, ob Pakete verloren wurden. Das payload format macht z.B. Angaben zum verwendeten Audio/Video Encoding. RTP kann
natürlich eine (rechtzeitige) Zustellung der Pakete nicht garantieren, genauso
wenig wie eine feste Reihenfolge bei der Ankunft der Pakete. Ein quality-ofservice Garantie kann aus diesen Gründen nicht gegeben werden. RTP wird
u.a bei Internet-Telephony, Microsoft NetMeeting, Netscape LiveWire und CuSeeMe eingesetzt.
RTCP
Das Realtime Control Protocol arbeitet mit RTP zusammen. Es kontrolliert die
Übertragung von RTCP Paketen in einer RTP Session und ermöglicht Rückmeldung vom Empfänger an den Sender. Mit RTCP können so Informationen über
den Datenfluß (packets sent/lost) ausgetauscht werden. Durch einen canonical
name kann die RTP Quelle eindeutig identifiziert werden.
RTSP
Das Realtime Streaming Protocol (RFC 2326) ist ein von der MMUSIC9 Group
ausgearbeiteter IETF Proposed Standard. Entwickelt wurde es von Progressive
Networks, Netscape, un der University of Columbia. RTSP ist ein applicationlevel protocol, das Multimedia Streams eröffnet und kontrolliert. Es benutzt RTP
und ist somit für unicast und multicast einsetzbar. RTP bietet einige Möglichkeiten, die für Streaming Systeme sehr wichtig sind: Caching von Daten (ähnlich wie bei HTTP), load balancing, d.h. Wechseln des Servers innerhalb eines
Streams, und Synchronisation verschiedener Streams von mehreren Servern. Eine beliebige Positionierung innerhalb des Streams ist möglich, was den Begriff
"Internet VCR" geprägt hat. Es eignet sich ebenso für große Zielgruppen wie
einzelne User (media-on-demand).
6 TCP:
Transmission Control Protocol
5
RSVP
Das Resource Reservation Protocol schließlich soll eine quality-of-service Garantie ermöglichen und einmal angeforderte Bandbreiten dauerhaft zur Verfügung
stellen. Das kann zur Zeit allerdings höchstens in Test-Konfigurationen erreicht
werden, ein tatsächlicher Einsatz steht noch aus.
HTTP GET
session description
Web Server
PLAY
Client
RTP audio
RTP video
RTCP
Media Server
PAUSE
TEARDOWN
Diese Protokolle arbeiten so zusammen, daß mit RTSP eine Verbindung hergestellt
und kontrolliert wird (stream control), während RTP und RTCP den Datentransfer
übernehmen (media transport) und RSVP (wenn es denn zum Einsatz kommt) die
nötigen Ressourcen liefert und garantiert (resource reservation).
3.3 Produkte
Im folgenden sollen nur kurz einige Streaming Systeme vorgstellt werden, für weitere
Informationen sei auf die HTML-Fassung verwiesen. RealNetworks hat im Dezember 1998 sein RealSystem G2 aus der Beta-Phase entlassen, Microsoft bietet mit dem
NetShow Theater Server ebenfalls ein leistungsstarkes Server System. Daneben werden im Internet auch noch Digital Bitcasting’s Net Toob und das VDOLive System
häufiger eingesetzt.
Das RealSystem G2 besteht aus RealServer, RealPlayer und RealProducer, mit denen stream-basierte Multimedia-Daten erstellt, bereitgestellt und wiedergegeben werden können. Plug-ins für PowerPoint und Adobe Premiere erlauben Integration in bestehende Multimedia Systeme. Es werden zahlreiche Windows- und UNIX-Plattformen
unterstützt, was einen breiten Einsatzbereich ermöglicht.
Der NetShow Theater Server nutzt Windows NT als Server-System und den Microsoft MediaPlayer zur Wiedergabe. Ein Title Server sowie bis zu 14 Content Server
stellen die Inhalte bereit. Bandbreiten bis 8 Mbps können genutzt werden, was z.B.
zum Streaming von fullscreen MPEG Videos genutzt werden kann.
7 IETF: Internet
Engineering Task Force
International Telecommunication Union
9 MMUSIC: Multiparty Multimedia Session Control Working Group
8 ITU:
6
Net Toob ist ein Beispiel für eine Lösung ohne speziellen Server, Streaming erfolgt
über den Webserver und HTTP bzw. TCP/IP, was auch oben genannte Probleme mit
sich bringt. Net Toob kann z.B. MPEG-1 Videos streamen.
4 The RealSystem
4.1 Überblick
Das RealSystem G2 läßt sich in die drei Bereiche Create, Serve und Play einteilen.
Create bedeutet Erstellung und Bearbeitung von Streaming Media mit dem RealProducer, der Audio- und Video-Daten in das RealMedia Format umwandelt. Standardmäßig
werden zahlreiche Audio- und Video-Formate unterstützt. Außerdem können Text,
Grafik (JPEG, GIF) und Animation in der Präsentation verwendet werden. RealText
bietet zahlreiche Gestaltungsmöglichkeiten für Textinformationen, RealPix optimiert
Grafiken für den Streaming Einsatz und stellt z.B. Überblend-Effekte bereit. RealFlash
schließlich ist eine Schnittstelle zu Macromedia Flash Animationen.
Natürlich können nicht nur bereits vorhandene Daten als Stream geschickt werden,
der LiveEncoder kann z.B. als Basis für Internet-Radio und Internet-TV dienen. Der
RealServer stellt diese Daten zum Streaming bereit. RealNetworks bietet verschiedene
Lösungen an, die für Intranet (z.B. Schulung) oder Internet (z.B. Video-on-demand)
optimiert sind. Auf Betrachter-Seite kommt der RealPlayer zum Einsatz.
4.2 RealAudio und RealVideo
Bis ein Video zum Streaming bereit steht, werden i.A. folgende Schritte durchlaufen:
Mit Kamera, Mikrophon, etc. wird ein Film produziert (capture), dieser dann digitalisiert und bearbeitet (optimize) und mit dem RealProducer in ein passendes Format
umgewandelt (encode). Die so entstanden Dateien können nun vom RealServer geliefert werden (deliver). Der RealProducer G2 ermöglicht es hierbei, in einer Datei
Inhalte für verschiedene Bandbreiten (target bandwith) zu speichern. RealNetworks
SureStream Technologie wählt beim Abspielen dann immer die beste zu erreichende
Qualität aus, die der Client erreichen kann. So kann eine Datei z.B. ein Musik-Stück
in unterschiedlichen Qualitäten für Modem, ISDN oder schnelle LANs enthalten.
Beim Erstellen der RealMedia Dateien (.rm) sollte je nach Zielgruppe und Inhalt
ein passender Codec gewählt werden. Legt man seinen Schwerpunkt auf hohe Klangqualität, wird man einen anderen Codec nehmen als bei einem Video, das nur “talking
heads” zeigt. Die vom RealProducer zur Verfügung stehenden Codecs ermöglichen es,
selbst für eine 28.8K Modem Verbindung Videos in aktzeptabler Qualität zu erstellen.
Bei Codecs für schnelle Netzanbindung (Dual ISDN und aufwärts) sind die Ergebnisse
wirklich sehenswert.
Im Video Bereich kann der RealProducer komprimierte und unkomprimierte AVI
Dateien ebenso verwenden wie MPEG-1 und QuickTime 2.0 (.mov). Als Audio Formate können AIF, AU, MPEG-1, Sound (.snd) und WAV eingesetzt werden.
4.3 RealPix
Mit RealPix hat man die Möglichkeit, Bilder (Grafik) im Internet oder Intranet in einem
Stream zu verwenden (streaming image). Standardmäßig können mit RealPix folgende
Formate zum Streaming verwendet werden:
7
GIF89a und GIF87 (.gif)
Es können sowohl interlaced als auch non-interlaced GIFs verwendet werden,
wobei die interlaced Variante keine Vorteile bringt. Animated GIFs werden nicht
unterstützt.
JPEG (.jpg)
Es werden nur Standard JPEGs (baseline) unterstützt, nicht aber progressive oder
grayscale JPEGs.
Iterated Sting (.stg)
Ein sehr neues Format von Iterated Systems, das Bilder auflösungs-unabhängig
abspeichert und so Qualitätsverluste beim Skalieren/Weiterverarbeiten vermeidet.
Windows Bitmap (.bmp)
Da Bitmaps unkomprimiert abgespeichert werden, wird ihre Verwendung nicht
empfohlen. Sie sollten nur lokal zum Einsatz kommen.
Da der RealPlayer G2 keinen disk cache (sondern nur memory cache) verwendet, hat
der Betrachter keine Möglichkeit, empfangene Bilder abzuspeichern und weiterzuverarbeiten. So können in einer Streaming Präsentation z.B. auch Copyright geschützte
Bilder benutzt werden.
Um Grafiken in einer Präsentation zu verwenden, muß eine sogenannte RealPixDatei (.rp) erstellt werden. Diese ist eine einfache Textdatei, die verschieden Tags
enthält, die die Präsentation steuern. So gibt es beispielsweise Tags wie <fadein>, <fadeout>, <crossfade>, <wipe> und <viewchange>, mit denen sich Bilder überlagern
lassen und Effekte wie Panning und Zoom erzielt werden können. RealPix Dateien
haben folgenden Aufbau:
<imfl>
<head ... Attribute ... />
... andere Tags ...
</imfl>
Das <imfl> Tag umschließt die ganze Datei, im <head> Tag werden u.a. Einstellungen
zu Größe, Timing, Bitrate und Preroll gemacht. Für weitere Erläuterungen zur Syntax
von RealPix Dateien und genauen Verwendung der Tags sei auf die HTML-Version
von diesem Vortrag verwiesen.
4.4 RealText
Mit RealText kann einfacher Text in einer Präsentation als Stream eingebaut werden.
Dies eignet sich z.B. für Nachrichtenticker, Börsendaten, etc. Der Vorteil liegt in der
geringen benötigten Bandbreite, so daß andere Elemente der Präsentation nicht gestört
werden. Ein eigenes RealText-Format (.rt) steuert Timing und Effekte über HTMLähnliche Tags. Der grobe Aufbau einer RealText Datei sieht so aus:
<window ... options ... >
... andere Tags ...
</window>
Das <window> Tag regelt Einstellungen zur Fenstergröße, Farbe, usw. Mit anderen
Tags wird der Text formatiert (Schriftgröße, Farbe, Position, usw.). Auch hier findet
man in der HTML-Version genauere Informationen.
8
4.5 RealFlash
Um Animation in einer Präsentation einzubauen, kann RealFlash eingesetzt werden.
RealFlash kombiniert Animationsmöglichkeiten von Macromedia Flash mit RealAudio. Bei Flash hat man das Problem, daß bei Verwendung von Audio-Clips (je nach
Qualität) die Flash Dateien sehr groß werden. RealFlash verschafft hier Abhilfe: Die
Animation wird ohne Ton abgespeichert und bleibt deshalb klein, der Ton kommt als
RealAudio Stream dazu. So kann man auch hochwertige Audio-Streams in die Animation einbauen. Zu beachten ist jedoch, das der Bandbreiten-Verbrauch von Flash
Animationen nicht gleichmäßig verläuft. Bei großen Änderungen in der Szene kommt
es zu sog. Spikes, die parallel laufende Streams eventuell negativ beeinflußen.
4.6 Einbindung in Webseiten
Um die fertige Präsentation im Internet bereitzustellen, gibt es zwei Möglichkeiten.
Zum einen wird über einen einfachen Hyperlink wird ein externer RealPlayer gestartet.
<a href="rtsp://my.realserver.com/my/file.rm">
Eine andere Möglichkeit ist, den RealPlayer mit einem <embed> Tag in die Webseite
einzubetten:
<embed src="..." width=300 height=200">
<noembed>RealPlayer benutzen</noembed>
Die Einbettung erfolgt als Plug-in (Netscape) oder Active-X (Microsoft). Durch die
Einbettung hat man größere Freiheiten für Kontrolle und Layout. Ferner gibt es Möglichkeiten, den RealPlayer über Java oder JavaScript zu steuern, zur Zeit aber nur mit
wechselndem Erfolg.
4.7 RealServer
Der RealServer stellt die Daten für den Streaming Einsatz bereit. Im Gegensatz zu
Microsofts NetShow Theater Server, der nur auf NT läuft, gibt es den RealServer G2
für zahlreiche Plattformen (Windows 9x, NT, Linux, FreeBSD, IRIX, Solaris, HP/UX,
etc.). RealNetworks bietet verschiedene Lösungen je nach Zielgruppe und Geldbeutel
an, ein BasicServer ist kostenlos erhältlich. Im getesten Fall (BasicServer auf Windows
95, NT, Linux) lief die Installation und Zusammenarbeit mit dem Webserver problemlos.
9
HTTP
RAMGEN
1
HTTP
RealServer
WebBrowser
2
SMIL
RTSP
3
RTSP
Media
Clip
4
RealPlayer
Das Zusammenspiel von RealServer, Web-Server und Browser verläuft so:
1. Über HTTP fordert der Web Browser ein SMIL File. In der URL steht der Parameter RAMGEN10 .
2. Die Antwort vom RealServer veranlasst den Web Browser, den RealPlayer als
externe Applikation zu starten.
3. Der RealPlayer fordert über RTSP das SMIL File an.
4. Mit den Informationen aus dem SMIL File, fordert der RealPlayer Streaming
Media Files vom RealServer an.
5 SMIL
5.1 Überblick
Die Synchronized Multimedia Integration Language wurde entwickelt um Multimedia Objekte in einer Präsentation (synchronized multimedia presentation) zu integrieren. Mit SMIL kann man
1. das zeitliche Verhalten der Präsentation steuern
2. das Layout der Präsentation festlegen
3. ausgewählte Media Objekte mit Hyperlinks versehen
SMIL 1.0 ist seit dem 15. Juni 1998 offizielle W3C Recommendation. Maßgeblich an
der Entwicklung beteiligt waren Netscape, RealNetworks, CWI und Lucent/Bell Labs.
Microsoft ist kurz vor der Veröffentlichung der Recommendation aus dem Projekt ausgestiegen. SMIL Dokumente sind XML 1.0 Dokumente, die DTD11 ist beim W3C
erhältlich.
10 Beispiel:
11 DTD:
<a href="http://realserver.company.com:8080/ramgen/myfile.smi"> ... </a>.
Document Type Definition
10
Eine SMIL Datei regelt das zeitliche und räumliche Zusammenspiel von verschiedenen Media Objekten. Die wichtigsten Fähigkeiten sind Gruppierung und Timing
von Clips, Layout, Bedingungen und Hyperlinks (Hotspots). So kann in einem Fenster beispielsweise in einem Bereich ein Video abgespielt werden, nach 10 Sekunden
fängt in einem anderen Bereich ein Animation an und gleichzeitig werden in einem
Scrolling Text Informationen angezeigt. Clips können also parallel oder sequentiell
angezeigt werden. Wenn der Betrachter im Video an einer bestimmten Stelle (zeitlich/räumlich) klickt, kann eine andere Präsentation gestartet werden oder eine Webseite im Browser aufgerufen werden.
5.2 Beispiel
Eine SMIL Datei hat folgenden Grundaufbau:
<smil>
<head>
Erscheinung und Layout der SMIL Präsentation
</head>
<body>
Timing und Inhalt
</body>
</smil>
Folgendes Beispiel zeigt, wie eine einfache SMIL Datei aussieht. Zwischen den <head>
Tags stehen Angaben zum Layout: Aufteilung des root windows in regions, Größe der
einzelnen regions, und deren Bezeichnung (id). Dazu dienen die Tags <layout> und
<region>. Das Layout kann auch alternativ mit CSS212 beschrieben werden, dies wird
zur Zeit vom RealPlayer aber nicht unterstützt. Die <body> Tags umschließen Referenzen zu den einzelnen Clips (hier zwei Textstreams und ein Video-Clip). Das <par>
Tag gibt an, daß diese Clips parallel abgespielt werden sollen (<seq> wäre die sequentielle Variante).
<smil>
<head>
<!--SMIL Präsentation mit 2 Text Clips und 1 Video Clip-->
12 CSS: Cascading
Style Sheets
11
<meta name="title" content="Music of the Week"/>
<layout>
<root-layout width="430" height="165"/>
<region id="newsregion" top="0" left="0"
width="250" height="144"/>
<region id="videoregion" top="0" left="250"
width="180" height="144"/>
<region id="stockregion" top="145" left="0"
width="430" height="20"/>
</layout>
</head>
<body>
<par>
<!--Diese 3 Clips parallel spielen-->
<textstream src="news.rt" region="newsregion"/>
<video src="newsvid.rm" region="videoregion"/>
<textstream src="stocks.rt" region="stockregion"/>
</par>
</body>
</smil>
5.3 Produkte
Mittlerweile gibt es auch schon einiges an Software, was einem bei der Arbeit mit
SMIL hilft.
Player: Neben dem RealPlayer G2 von RealNetworks sind der GRiNS Player
von niederländischen CWI13 , der Helio Player und das HPAS System von Digital zu erwähnen.
Authoring Tools: Das RealNetworks G2 AuthoringKit besteht aus einigen kleinen Programmen, die z.B. Bandbreiten Nutzung berechnen können. Außerdem
findet man dort ausführliche Dokumentation. Veon liefert mit V-Active ebenso
wie Digital Renaissance mit dem TAG-Editor eine komplette Entwicklungsumgebung für anspruchsvolle SMIL Präsentationen.
6 Ausblick
Die Streaming Technologie steht zwar erst am Anfang, mit den aktuellen Produkten
können aber wirklich schon brauchbare Resultate erzielt werden. Sicher gibt es keine
Lösung, die alle Probleme gleich gut bewältigt. Stattdessen werden je nach Insatzgebiet spezialisierte Produkte für Internet oder Intranet immer leistungsstärker. Neben
RSVP wird auch IP Multicasting eine bedeutende Rolle spielen.
13 CWI: Centrum voor Wiskunde en Informatica (National Research Institute for Mathematics and Computer Science)
12
Zwei neuere Entwicklungen sollen zum Schluß kurz angesprochen werden. Microsoft hat mat HTML+TIME einen eigenen Vorschlag für Timing, Interaktion und
Streaming mit HTML eingebracht. Unterstützt wird dieser Vorschlag von Compaq,
Macromedia und Digital Renaissance. HTML+TIME baut auf existierenden Standards
wie HTML 4.0, CSS und XML. Idee ist, HTML um solche Tags zu erweitern, die ähnliche (oder mehr) Möglichkeiten bieten wie SMIL. Das HTML+TIME Dokument wird
dann aber im Browser und nicht wie bei SMIL in einem eigenen Player angezeigt. Somit soll eine volle Einbindung in das HTML Document Object Model (DOM) möglich
sein. Ein Problem ist aber auch die erneute Vermischung von Inhalt und Gestaltung,
die man gerade mit CSS umgehen wollte.
Ebenso scheint Microsofts Active Streaming Format (ASF) erwähnenswert. ASF
ist ein Multimedia Dateiformat, in dem Daten in Paketen gespeichert werden, die direkt
in einem Transport Protokoll verschickt werden können. ASF Streams können über
HTTP Server oder spezialisierte Media Server verschickt werden, mit TCP/IP, UDP/IP,
RTP und IPX/SPX. Version 1.0 ist schon seit längerem im Einsatz, bietet aber nur einen
geringen Teil dieser Möglichkeiten. Version 2.0 soll als Bestandteil von Windows NT
5.0 (Windows 2000?) aufgenommen werden und wird Basis für NetShow 3.0 sein.
7 Links
Weitere Informationen bekommt man im Internet u.a. bei folgenden Adressen:
7.1 Software
RealNetworks:
www.real.com
Microsoft NetShow TheaterServer:
www.microsoft.com/theater/
Macromedia Flash:
www.macromedia.com/software/flash/
Apple Quicktime:
www.apple.com/quicktime/
7.2 Protocols, Specifications
RTP:
www.cs.columbia.edu/˜hgs/rtp
RTSP:
www.cs.columbia.edu/˜hgs/rtsp
SMIL Specification:
www.w3.org/TR/REC-smil/
SMIL DTD:
www.w3.org/TR/REC-smil/SMIL10.dtd
HTML+TIME:
www.w3.org/TR/NOTE-HTMLplusTIME
13
7.3 Sonstige Informationen
Iterated STiNG:
www.iterated.com
JustSMIL:
www.justsmil.com
Microsoft ASF:
www.microsoft.com/asf/
Eine HTML Version dieses Vortrag ist zu finden unter: www2.informatik.uni-osnabrueck.de/web_pub_8/
Dieser Text wurde mit lyx und LATEX erstellt, die PDF Version mit ps2pdf. Die
Zeichnungen wurden mit Xfig gemacht. Für die HTML Seiten wurde HotDog Professional eingesetzt.
14