ALIs
kommt nochMultimedia Streaming-Server
Das LRZ betreibt einen leistungsfähigen Streaming-Server, über den Sie einzelnen oder auch sehr vielen Interessierten speziell vorbereitetes Videomaterial, Live Streams oder andere multimedialen Inhalte zur Verfügung stellen können. Der Betrachter kann dann jederzeit auf dieses Material zugreifen (On Demand), kann das Abspielen unterbrechen, wieder starten oder an anderer Stelle fortsetzen. Bei Live Streams können Interessierte ohne persönliche Anwesenheit an Übertragungen von Veranstaltungen teilhaben.
Inhalt
- Was ist Streaming?
- Vom Film zum Internet-Video: Komprimierung
- Vorbereiten eines Videos für Streaming
- Ablage der Videos am Streaming-Server
- Live-Streaming
- Verknüpfung mit einer Web-Seite
- Wiedergabe des Streaming Video
- Beispiele
- Tipps bei Problemen
Weitere Informationen zu verwandten Themen finden Sie in:
Was ist Streaming?
Beim Zugriff auf Streaming Media wird keine Datei übertragen, sondern es werden lediglich kleine Pakete von Daten vom Server zum Client transferiert, die sofort interpretiert, dargestellt und anschließend "vergessen" werden. Damit der Ablauf reibungslos funktioniert, muss dieser Datenstrom natürlich kontinuierlich fließen. Dazu wird zu Beginn der Übertragung ein kleiner Puffer gefüllt und dabei die aktuell nutzbare Datenrate automatisch ermittelt.
Für Streaming im Internet gibt es drei verbreitete Formate: Real (Real Networks), Microsoft Media (Microsoft) und QuickTime (Apple). Jedes dieser Formate hat, aus Sicht des Produzenten wie des Konsumenten, Vor- und Nachteile: Verbreitung, Standards, Flexibilität, Preis. Wir haben uns zunächst für QuickTime entschieden: die Server-Software ist kostenlos (Open Source), sie kann auf unterschiedlichen Rechnerplattformen eingesetzt werden und es fallen keine Kosten auch bei beliebig hoher Anzahl gleichzeitiger Verbindungen an. Zudem bietet QuickTime die wohl flexibelste Architektur und erlaubt vielfältige Möglichkeiten der Interaktion und Kombination von Medien.
Derzeit läuft auf dem Videoserver des LRZ ein Darwin Streaming Server, der QuickTime-kompatible Multimediadateien oder Live-Streams über RTSP (Real Time Streaming Protocol) verbreiten kann. Der Server, ein Doppelprozessorsystem unter Linux, hat Gigabit-Ethernet Netzanbindung und eine großzügige Festplattenkapazität.
Vom Film zum Internet-Video: Komprimierung
Bevor ein Video am Streaming Server abgelegt werden kann, muss der Film entsprechend aufbereitet werden. Normalerweile ist das Ausgangsmaterial ein Videoband, das zunächst an einem Videoschnittplatz bearbeitet wird, etwa geschnitten, nachvertont, untertitelt, durch anderes Material ergänzt und mit Vor- und Nachspann versehen wird. Anschließend wird der fertige Film komprimiert und ins richtige Datenformat gewandelt.
Die heute realistisch nutzbaren Datenraten im Internet, also die Anzahl der Bits und Bytes, die pro Sekunde übertragen werden können, erfordern eine erhebliche Reduktion der Datenmengen. Ein Beipiel mag dies verdeutlichen: auf DV-Band (miniDV) wird mit konstant 25 MBit/s aufgezeichnet (Megabit pro Sekunde), ein 56k-Modem überträgt aber nur maximal 0,056 MBit/s. Für diesen Fall ist also eine Reduktion um fast den Faktor 500 notwendig. Damit dabei, im wahrsten Sinn des Wortes, Ansehnliches heraus kommt, sind ausgefeilte und aufwändige Komprimierungsverfahren und entsprechend hohe Rechenleistung notwendig.
Um einen möglichst breiten Nutzerkreis zu erreichen, wird man ein Internet-Video für unterschiedliche Datenraten vorbereiten, etwa für ISDN, für DSL und für LAN. Dem Nutzer kann der Zugriff auf das geeignete Video erleichtert werden, indem ein Referenz-Film (Reference Movie) erstellt wird. Dieser berücksichtigt die nutzbare Übertragungsrate und wählt dann den passenden Film aus.
Im Multimedia-Labor des LRZ stehen Ihnen geeignete Programme zur Verfügung, die die Komprimierung des Videomaterials und das Erstellen von Referenz-Filmen erlauben.
Vorbereiten eines Videos für Streaming
Damit ein Film im Streaming-Modus abgespielt bzw. abgerufen werden kann, muss die am Streaming-Server abgelegte Datei neben den Audio- und Videodaten zusätzliche Steuerspuren (Hint Tracks) enthalten. Diese dienen unter anderem zur Synchronisation der Übertragung vom Server zum Client.
Diese Steuerspuren kann man zum Beispiel auf einfache Weise mit QuickTime Pro erstellen. Öffnen Sie dazu den fertigen Film in QuickTime Pro und wählen Sie Exportieren... Im Pop-Up Menü wählen Sie Film->Film mit Steuerspur und unter Optionen.. markieren Sie Steuerspur für Server optimieren.
Die aktuellen Versionen der gängigen Videoschnittprogramme erlauben ebenfalls direkten Export in einem Format, das für den Streaming Server geeignet ist. Das gilt natürlich auch für die spezialisierten Komprimierungsprogramme, die sie im Multimedia-Labor des LRZ nutzen können.
Ablage der Videos am Streaming-Server
Wenn Sie geeignetes Material vorbereitet haben, das Sie über den Streaming-Server bereit stellen wollen, können mit einem Web-Formular ihre Filmdateien zum Server übertragen. Da die Filmdateien trotz der Komprimierung im Allgemeinen recht umfangreich sind, können Sie diese auch auf CD brennen und uns zum Upload übergeben. Wenden Sie sich dazu an Herrn Weidner (Tel. 089 35831-8743, weidner@lrz.de).
Man kann übrigens nicht einfach nachsehen, welches Material bereits am Streaming-Server liegt. Das ist aber durchaus mit Absicht so, denn nicht alles ist für jeden bestimmt. Der Autor eines Streifens entscheidet, welchem Personenkreis er die Zugriffsinformation für seine Daten gibt.
Live-Streaming
Sie können über den Streaming-Server auch Live-Streams verbreiten, also ein gefilmtes Ereignis zeitgleich im Internet verbreiten. Dazu brauchen Sie einen Broadcaster, das heißt einen Rechner mit angeschlossener Kamera und eventuell Mikrofon und einem Broadcast-Programm, das die Video- und Audiosignale aufnimmt, kodiert und zum Streaming-Server weiterleitet. Dieser übernimmt dann die eigentliche Verbreitung im Netz.
Man muss hierbei unter Umständen gewisse Abstriche bezüglich der erreichbaren Bildgrößen und Bildraten machen. Schließlich muss der ganze Prozess von Aufnahme, Umwandeln und Kodieren sowie Versenden in Echtzeit ablaufen. Bei vielen Zusehern vervielfacht sich zudem der Datenstrom vom Server zu den einzelnen Interessenten.
Live-Streams können als Unicast oder Multicast Datenstrom gesendet werden. Bei Unicast wird für jeden Teilnehmer ein eigener Strom gesendet, während bei Multicast nur ein einziger Datenstrom gesendet wird, der von vielen Teilnehmern abgerufen werden kann. Multicasts sind allerdings nur in kleineren, lokal begrenzten Netzes realistisch einsetzbar, da das Multicast-Protokoll in größeren, strukturierten Netzen häufig nicht von allen Netzkomponenten weiter geleitet wird.
Diese Broadcasts können prinzipiell direkt vom Broadcast-Rechner gesendet werden, sofern dieser leistungsfähig genug ist. In der Praxis wird man aber einen Streaming-Server dazwischen schalten. In diesem Fall wird vom Aufnahmerechner ein Broadcast zum Streaming-Server gesendet, der die weitere Verteilung auf die Teilnehmer übernimmt.
Mit dem Broadcast-Programm erstellen sie vor der Sendung eine Datei, die ein sogenanntes Session Description Protocol (SDP) enthält. Diese Datei dient als Ankündigung für den Live-Stream (Announcement) und enthält die für die Übertragung wesentlichen Daten, wie IP-Adresse des Senders, Broadcast-Modus (unicast/multicast) etc. Diese SDP-Datei wird auf dem Streaming-Server abgelegt und von den Teilnehmern direkt im Player oder indirekt durch eine Verknüpfung auf einer Web-Seite geöffnet.
In einem gesonderten Beitrag wird das Live-Streaming mit dem QuickTime Broadcaster detailliert beschrieben.
Verknüpfung mit einer Web-Seite
Wenn Sie das Videomaterial innerhalb einer Web-Seite darstellen wollen, müssen Sie auf dieser Seite einen speziellen HTML-Tag <embed> einfügen, der die notwendigen Angaben für das QuickTime-Plugin enthält, unter anderem natürlich den Namen der Filmdatei.
Ein einfaches Beispiel:
width="256" height="208" target="myself" type="video/quicktime"
pluginspage="http://www.apple.com/quicktime/download/">
Hinweise dazu:
- In obigem Beispiel wird der Filme erst nach einem Klick auf das Standbild begonnen. Soll der Film selbstständig anlaufen, können Sie den Parameter autohref="true" einfügen.
- Wenn der Film im HREF-Parameter spezifiziert wird, muss ein TARGET-Parameter enthalten sein. Damit wird angegeben, ob der Film im selben Fenster (target="myself") oder in einem neuen Fenster (target="fenstername") dargestellt werden soll.
- Soll die Kontrollleiste angezeigt werden (Voreinstellung), so muss dafür der Wert 16 zur Höhe des Videofensters (height) addiert werden.
- Mit dem Parameter pluginspage="http://www.apple.com/quicktime/download/" können Sie bei fehlendem oder veraltetem QuickTime-Plugin auf die entsprechende Seite zum Download verweisen.
- Die komplette Liste aller Parameter, die das QuickTime-Plugin kennt, ist auf den Web-Seiten von Apple zu finden.
Obiges Beispiel für die Einbettung eines Videos in eine HTML-Seite ist korrekt und funktioniert prinzipiell, allerdings nicht unbedingt auf allen Systemen und mit allen Browsern, selbst wenn dort das QuickTime-Plugin installiert ist. Denn der Parameter type="video/quicktime" sorgt nicht zuverlässig dafür, dass die Verarbeitung an QuickTime übergeben wird, und der Datentyp JPEG oder das Protokoll RTSP werden auch von anderen Plugins verstanden, die dann aber mit dem Inhalt nichts anfangen können.
Der Microsoft Internet Explorer in der Version 5.5 SP2 und höher unterstützt zudem keine "Netscape-style"-Plugins mehr. Es muss für diesen die entsprechende ActiveX-Komponente für QuickTime geholt werden, sofern sie noch nicht vorhanden ist. Deshalb sollte man den HTML-Code um einige zusätzliche Angaben erweitern und den EMBED-Tag um ein korrespondierendes OBJECT-Tag ergänzen.
Ein ausführliches Beispiel:
<DIV ALIGN="CENTER"> <OBJECT CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" WIDTH="256" HEIGHT="208" CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab"> <PARAM name="SRC" VALUE="anfangsbild.qtif"> <PARAM name="CONTROLLER" VALUE="TRUE"> <PARAM name="AUTOPLAY" VALUE="FALSE"> <PARAM name="CACHE" VALUE="FALSE"> <PARAM name="HREF" VALUE="rtsp://stream.lrz.de/sample.mov"> <PARAM name="TARGET" VALUE="myself"> <EMBED SRC="anfangsbild.qtif" WIDTH="256" HEIGHT="208" CONTROLLER="TRUE" AUTOPLAY="FALSE" CACHE="FALSE" HREF="rtsp://stream.lrz.de/sample.mov" TARGET="myself" TYPE="video/quicktime" PLUGINSPAGE="http://www.apple.com/quicktime/download/"> </EMBED> </OBJECT> </DIV>
Hinweise zu diesem HTML-Code:
- Der OBJECT-Tag sorgt dafür, dass beim Internet Explorer 5.5 SP2 und höher unter Windows die entsprechende ActiveX-Komponente für QuickTime geholt wird, sofern sie noch nicht vorhanden ist. Ohne diese Komponente wird das QuickTime-Plugin vom Internet Explorer nicht mehr unterstützt. Die Werte für CLASSID und CODEBASE müssen exakt so wie dargestellt eingegeben werden.
- Beim SRC-Parameter sollte ein Dateityp angegeben, den nur das QuickTime-Plugin versteht, damit die Verarbeitung nicht an das falsche Plugin weiter gereicht wird. Hier ist das ein QTIF (QuickTime Image) anstelle von etwa JPEG. So ein QuickTime Image erstellt man z.B. mit dem Programm Preview von Mac OS X aus einem JPEG, TIFF oder PDF.
- Im HREF-Parameter sollte nicht direkt die Referenz auf den Stream angegeben werden (rtsp://stream..), sondern ein QuickTime-Film, der diese Referenz enthält. Diesen Referenz-Film kann man zum Beispiel in QuickTime Pro erstellen, indem man einen Stream öffnet (Open URL..) und ihn speichert (Save..).
- Das reservierte Fenster (WIDTH, HEIGHT) ist um 16 Pixel höher als das eigentliche Videofenster, um Platz für die Kontrollleiste zu geben.
- Die HTML-Sequenz zwischen <OBJECT> und </OBJECT> kann nahezu unverändert für andere vergleichbare Seiten übernommen werden. Anzupassen sind lediglich die aktuellen Werte von SRC und HREF und gegebenenfalls WIDTH und HEIGHT.
Den korrekten HTML-Code zur Einbettung eines Videos in eine Web-Seite können Sie sich ganz einfach von dem kostenlosen Programm PAGEot generieren lassen. Das Programm gibt es für Mac OS und für Windows.
Wiedergabe des Streaming Video
Für die Wiedergabe der am Streaming-Server des LRZ bereitgestellten Filmdateien benötigen Sie den QuickTime Player bzw. das entsprechende QuickTime-Plugin für den Web-Browser Ihrer Wahl. Den QuickTime Player gibt es für Windows und Macintosh kostenlos zum Download. Bei den Hinweisen zu Beispielen weiter unten finden Sie ein Hilfsmittel, mit dem Sie testen können, ob auf Ihrem Rechner QuickTime installiert ist. Dort stehen auch Hinweise, wo Sie die Software gegebenenfalls herunter laden können.
Im QuickTime Player
Wählen Sie im QuickTime Player den Menüpunkt Ablage->URL öffnen.. und geben Sie im folgenden Dialogfeld ein
Der Name der Filmdatei, hier sample.mov, ist natürlich durch den eigentlichen zu ersetzen, gegebenenfalls mit vorangestelltem Unterverzeichnis.
Im Web-Browser mit Plugin
Je nach dem, wie die Verknüpfung zur Filmdatei auf der Web-Seite eingerichtet worden ist, startet die Wiedergabe automatisch oder erst nach einem entsprechenden Mausklick. Der Autor der Web-Seite sollte entsprechende Hinweise geben. Auch kann der Film in einem Bereich des aktuellen Fensters dargestellt werden oder in einem eigenen, neuen Fenster.
Beispiele
Sie können sich hier ein paar Beipielfilme ansehen, die am Streaming Server des LRZ abgelegt sind. Voraussetzung ist, dass auf Ihrem Rechner eine aktuelle QuickTime-Version installiert ist (Version 6 oder höher, Windows und Macintosh).
Ob QuickTime installiert und die installierte Version für Streaming geeignet ist, können Sie hier testen. Die neueste Version können Sie in zwei Varianten herunter laden, als Internet-Installer oder als Standalone-Installer.
Tipps bei Problemen
Wenn die Wiedergabe eines Video vom Streaming-Server nicht korrekt funktioniert, kann das eine Reihe von Ursachen haben. Auf einige Tücken sei hier hingewiesen.
- Verbindungsgeschwindigkeit
Sie müssen QuickTime die Verbindungsgeschwindigkeit Ihrer Internetanbindung mitteilen. Wählen Sie dazu QuickTime-Einstellungen > Verbindung und dort die geeignete Verbindungsgeschwindigkeit. - Transport-Einstellungen (Firewalls)
QuickTime Streaming basiert normalerweise auf UDP-Paketen. Diese werden aber von Firewalls häufig blockiert. Um hinter Firewalls Streaming Videos empfangen zu können, muss als Übertragungsprotokoll HTTP und Port 80 eingestellt werden. Wählen Sie dazu QuickTime-Einstellungen > Verbindung > Transport-Einstellungen und stellen Sie das geeignete Übertragungsprotokoll ein.


