Datenstrom mit Hängern
Streaming mit dem Darwin Streaming Server
MPEG-4 selbstgemacht
Eigene MPEG-4-Dateien zu encoden ist fast schon eine Wissenschaft. Haben Sie bereits digitales Videomaterial auf der Festplatte liegen, sind Sie schon einen Schritt weiter. Wie Sie es in andere Formate konvertieren, zeigt der Transcode-Workshop in [10]. Um davon ausgehend zu MPEG-4 zu kommen, bedarf es mehrerer Schritte:
- Extrahieren Sie die Audiodaten aus dem Original in getrennte Files, zum Beispiel mit
ffmpeg -vn - Kodieren Sie die Audiospur mit dem Programm
faacins AAC-Format. - Wandeln Sie das Video mit
ffmpegin ein MPEG-4-konformes Videoformat. - Fügen Sie Audio und Video mit
mp4creatoraus dem MPEG4IP-Paket [11] in das MPEG-4-Containerformat zusammen. Im Fachjargon heißt das "multiplexen". Die Option-hintbaut so genannte Hints in die Datei ein, kleine Marken, die der Server für schnellen Vor- und Rücklauf braucht.
Das erwähnte Paket MPEG4IP enthält übrigens auch MPEG-4-Player mit und ohne grafischer Oberfläche. Das Utility mp4info gibt für eins der mitgelieferten MPEG-4-Beispiele folgende Informationen aus:
$ mp4info sample_100kbit.mp4 mp4info version 1.1 sample_100kbit.mp4: Track Type Info 1 audio MPEG-4 AAC LC, ↩ 70.031 secs, 28 kbps, 22050 Hz 2 video MPEG-4 Simple @ L3↩ , 70.000 secs, 63 kbps, 192x240 @ ↩ 15.00 fps 3 hint Payload MP4V-ES for↩ track 2 4 hint Payload mpeg4-↩ generic for track 1 5 scene BIFS 6 od Object Descriptors
Die erste "Spur" (Track) enspricht der Tonspur im AAC-Format, dann folgt der Videotrack und schließlich die Hints. Danach folgen Szenendaten und Objektdeskriptoren, die hier keine Verwendung finden.
Playlists für MP3
Der Darwin-Server kann auch MP3-Dateien streamen, braucht dafür aber so genannte Playlists. Um ein solche anzulegen, klicken Sie in der linken Spalte des Web-Frontends auf Playlists. Rechts oben neben dem großen Feld finden sich die beiden relevanten Links: New MP3 Playlist für MP3-Dateien und New Movie Playlist für Filme (Abbildung 2).
Klicken Sie auf New MP3 Playlist, so erscheint eine Webseite wie in Abbildung 3. Die beiden Textfelder oben bestimmen den Namen der Playlist sowie den so genannten Mountpoint: Also den Teil der URL, unter der Playerprogramme die Playlist finden. Wer es gerne genau nimmt, stellt in der Ausklappliste darunter noch das richtige Musikgenre ein.
In der rechten oberen Hälfte legen Sie unter Play Mode den Abspielmodus der Liste fest, nämlich hintereinander (Sequential), hintereinander mit unendlicher Wiederholung (Sequential Looped) oder zufällig mit Gewichtung (Weighted Random). Damit Darwin die Titel wirklich zufällig wiedergibt, tragen Sie im Textfeld hinter Repetition eine Null ein. Andernfalls spielt der Server jedes Stück mindestens einmal ab, bevor er ein anderes zum zweiten Mal spielt.
Im linken Feld zeigt das Interface verfügbare Musiktitel, im rechten die zu einer Playlist gehörigen. Der clevere Javascript-Einsatz der Apple-Programmierer macht es möglich, die Titel per Drag'n'Drop einfach von einem ins andere Feld zu ziehen. In Unterverzeichnisse wechseln Sie durch einen Doppelklick oder den Link Open Folder unterhalb des Textfelds.
Im rechten Feld stellen Sie hinter dem Liedtitel die Gewichtung des Stücks für die Wiedergabeart Weighted Random ein: Je größer die Zahl (von eins bis zehn), desto häufiger spielt Darwin das MP3 ab. Haben Sie die Playlist zusammengestellt, bestätigen Sie die Änderungen ganz unten mit dem Button Save Changes.
Die folgende Webseite listet alle eingerichteten Playlists auf, die aber zunächst noch gestoppt sind. Ein Klick auf das Icon hinter dem Status startet die jeweilige Playlist. MP3-Player finden den Stream unter der Adresse http://Servername:8000/Mountpunkt. Die dazugehörigen Logdateien schreibt Darwin im Verzeichnis /var/streaming/playlists in ein Unterverzeichnis, das so heißt wie die Playlist. Dabei kennzeichnen die Dateinamenserweiterungen .err die Fehlerdatei, .config die Konfigurations, .log die Logdatei und .playlist die Playlist selbst.
Tabelle 1: Wichtige Dateien und Pfade
| Name | Funktion |
|---|---|
| /usr/local/sbin/DarwinStreamingServer | Hauptprogramm |
| /usr/local/sbin/streamingadminserver.pl | Perl-Skript fürs Web-Frontend |
| /etc/streaming/ | Konfigurationsverzeichnis |
| /etc/streaming/streamingserver.xml | Konfigurationsdatei des Servers |
| /var/streaming/logs | Verzeichnis für Logdateien |
Per Default kennt Darwin für Video- und Musikdateien nur das zentrale Verzeichnis /usr/local/movies. Der Befehl createuserstreamingdir otto legt im Homeverzeichnis des Users otto eine Verzeichnisstruktur Sites/Streaming an, wo er seine Mediadateien ablegen darf. Player erreichen diese Dateien über Adressen der Art rtsp://Servername/Benutzer/movie.mp4.



