ALIs

kommt noch

Live-Streaming mit dem QuickTime Broadcaster

Live-Streaming bezeichnet die Echtzeitübertragung von Audio- und Videosignalen im Internet, um Sie zeitgleich einem möglichst breiten Publikum anbieten zu können. Eine Veranstaltung wird zum Beispiel mit Videokamera und Mikrofon aufgenommen und diese Video- und Audiosignale werden von einem speziellen Broadcast-Programm sofort komprimiert und an einen Streaming-Server weiter geleitet. Der Streaming-Server übernimmt dann die Verteilung an die interessierten Zuseher.

Hier wird beschrieben, wie Live-Übertragungen von Veranstaltungen mit dem Macintosh und dem Programm QuickTime Broadcaster auf recht einfache Weise realisiert werden können.

Die Aufbereitung von Audio- und Videomaterial, um es im Internet bereit zu stellen, erfordert eine erhebliche Kompression der Ausgangsdaten. Diese Kompression ist aufwändig und dauert häufig länger als die eigentliche Abspielzeit. Beim Live-Streaming muss dieser Prozess in Echtzeit ablaufen. Dazu müssen gewisse Abstriche bezüglich realisierbarer Bildgröße und Bildwiederholrate gemacht werden.

Leistungsfähige Prozessoren heutiger Rechner und moderne Audio- und Videocodierverfahren ermöglichen Echtzeitübertragungen mit ordentlichen Bildgrößen schon bei niedrigen Übertragungsraten.

Live-Streams können mit dem QuickTime Broadcaster auf dreierlei Art gesendet werden:

  • Manual Unicast, zu genau einem Abnehmer
  • Multicast, sinnvoll nur in homogenem Netzbereich
  • Automatic Unicast (Announce), Verbreitung über einen Streaming-Server

Für die Praxis interessant ist vor allem die dritte Variante, die nachfolgend detaillierter beschrieben wird.

Beim Automatic Unicast (Announce) generiert der Broadcaster automatisch ein Session Description Protocol (sdp), das beim Start des Broadcasts am spezifizierten Streaming-Server abgelegt wird. Die Clients können den Broadcast auf verschiedene Art empfangen:

  • Direkt im QuickTime Player durch Open URL.. und Eingabe der RTSP-Adresse zur SDP-Datei, zum Beispiel
    rtsp://stream.lrz-muenchen.de/livestream.sdp
  • Aufsuchen einer vorbereiteten Web-Seite, die in einem EMBED-Tag den Link zu der SDP-Datei enthält. Ein konkretes Beispiel dafür finden Sie weiter unten.

Damit das Broadcast-Programm die SDP-Datei am Streaming-Server ablegen kann, muss dafür dort eine Kennung mit Passwort eingerichtet sein. Wenden Sie sich dazu bitte an den Administrator am LRZ.

Einsatz vor Ort

Folgendes Equipment wird normalerweise vor Ort benötigt:

  • DV-Camcorder mit Netzteil
  • Stativ
  • eventuell externes Mikrofon
  • Apple Macintosh oder Apple PowerBook
  • Firewire-Kabel

Institute können diese Ausstattung gegebenenfalls am LRZ entleihen. Dafür steht folgende Hard- und Software zur Verfügung:

  • PowerBook G4
  • QuickTime Broadcaster unter Mac OS X
  • Canon XM1 DV-Camcorder, Stativ, externes Mikrofon

Konfiguration und Start des Broadcasts

Anschließen und Einschalten von Camcorder und eventuell Mikrofon oder externer Audio-Quelle. Dann Start des QuickTime Broadcasters aus dem Dock. Gegebenenfalls Klick auf Show Details, um die Übertragungsparameter zu setzen. Es können in drei Panels Einstellungen zu Audio, Video und Network vorgenommen werden.

Sind die Einstellungen vorgenommen bzw. überprüft, startet ein Klick auf Broadcast den Stream. Es wird kurz angezeigt Preroll.. und dann Broadcasting. Ein neuerlicher Klick auf den Knopf stoppt den Stream. Ein Live-Stream kann prinzipiell beliebig lange kontinuierlich laufen. Wenn die Übertragung gleichzeitig auf Festplatte aufgezeichnet wird, sollten Sie die Hinweise weiter unten beachten.

Die nachfolgenden Abbildungen zeigen exemplarisch die Einstellungen.

Audio-Einstellungen

Hinweise zu den Audio-Einstellungen:

  • Bei Source: wird die Audioquelle gewählt, entweder DV Audio, falls der Ton des Camcorder-Mikrofons verwendet wird, oder Built-in Input - Line-in, wenn ein externes Mikrofon oder eine andere Tonquelle am Rechner angeschlossen ist.
  • Die Tonwiedergabe kann durch Play-trough speaker am Rechner kontrolliert werden. Achten Sie dabei aber darauf, Rückkoppelungen zu vermeiden.
  • Der Audio-Signalpegel (Gain) muss eventuell angepasst werden.
  • Die Einstellungen werden links unter dem Vorschaufenster zusammengefasst.

Video-Einstellungen

Hinweise zu den Video-Einstellungen:

  • Der Videokompressor MPEG-4 ist speziell für die Bedingungen des Live-Streaming optimiert. Er erfordert QuickTime 6 oder höher auf Client-Seite.
  • Die Einstellungen, die in der Abbildung zu sehen sind, stellen einen guten Kompromiss dar zwischen gewünschter hoher Wiedergabequalität und erforderlicher Systemleistung bzw. Netzbandbreite.
  • Mit einer Datenrate von 200-300 kbits/sec erreicht man mit MPEG-4 schon eine recht gute Wiedergabequalität, strapaziert dabei aber auch bei mehreren Dutzend Clients die Anforderungen an die Netzbandbreite nicht übermäßig.
  • Zum Vergleich: Die hier gewählte Bildgröße 320 x 240 entspricht der Auflösung eines Films auf einer Video-CD, benötigt aber nur rund ein Sechstel der Bandbreite einer Video-CD.

Netzwerk-Einstellungen

Hinweise zu den Netzwerk-Einstellungen:

  • Der Dateiname des Announcements bei File: ist beliebig wählbar, er muss aber mit der eventuell vorbereiteten Web-Seite korrespondieren, über die der Stream angeboten wird. Verwenden Sie im Namen keine Leerzeichen oder Umlaute.
  • Bei Username und Password sind die Daten einzugeben, die mit dem Administrator am LRZ für diesen Live Stream vereinbart worden sind.
  • In der Zusammenfassung links ist ganz unten die RTSP-Adresse angezeigt, unter der der Stream direkt im QuickTime Player geöffnet werden kann.

Record to disk

Wenn diese Option angeklickt ist, wird parallel zur Sendung ein QuickTime-Film abgespeichert. Diese Option kann allerdings nicht während eines laufenden Broadcasts geändert werden.

Hinweise dazu:

  • Unter QuickTime Broadcaster: Preferences.. können der Pfad und Dateiname des Films gewählt werden.
  • Wird der Broadcast gestoppt und neuerlich gestartet, wird automatisch eine neue Filmdatei angelegt. Wurde der Name nicht geändert, wird er hochgezählt (name, name1, name2,..).
  • Bei längeren, etwa mehrstündigen Übertragungen wird an geeigneter Stelle ein Stopp und neuerlicher Start des Broadcasts empfohlen, damit die aufgezeichneten Dateien handhabbar bleiben.
  • Plattenplatz: Eine Sendung mit 200-300 kbit/s beschreibt ca. 5 MB pro Minute bzw. 300 MB pro Stunde, wenn Record to disk gewählt ist.


Integration eines Live-Streams auf einer Web-Seite

Der folgende HTML-Code mag als Beispiel dafür dienen, wie das Wiedergabefenster einer Live-Übertragung auf einer Web-Seite integriert werden kann.

<DIV ALIGN="CENTER">
<OBJECT CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"
WIDTH="320" HEIGHT="256"
CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab">
<PARAM name="SRC" VALUE="qtlogo.qtif">
<PARAM name="CONTROLLER" VALUE="TRUE">
<PARAM name="AUTOPLAY" VALUE="FALSE">
<PARAM name="CACHE" VALUE="FALSE">
<PARAM name="HREF" VALUE="coffee.mov">
<PARAM name="TARGET" VALUE="myself">
<EMBED SRC="qtlogo.qtif" WIDTH="320" HEIGHT="256" CONTROLLER="TRUE"
AUTOPLAY="FALSE" CACHE="FALSE"
HREF="coffee.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.
  • 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.