Kino live
Streaming Server mit Videolan
Opa hört Webradio
Die Verfahrensweise zum Streamen von Webradio, hier im zweiten Beispiel des Deutschlandfunks, ist sehr ähnlich. Einzige Änderungen sind das Transportformat OGG und der Webserver-Port. Der Programmaufruf lautet:
vlc -vvv http://62.153.249.30/live_dlf --sout '#standard{access=http,mux=ogg,url=192.168.0.97:8081}'Sobald nun zwei oder mehr Anwender im Netz den Deutschlandfunk hören, stellt sich der Multiplikatoreffekt des Verfahrens ein. Denn das VLC-Eingangsmodul saugt den Audio-Stream nur einfach aus dem Internet und das Ausgangsmodul sorgt für das lokale Streaming.
Im Test gelang es sogar, VLC zwei Streams gleichzeitig übertragen zu lassen. Die Einschränkung ist, dass beide Streams nicht das gleiche Ausgabemodul benutzen. Man kann also beispielsweise nicht zwei Quellen auf einmal per HTTP im Netz verbreiten. Es ist aber möglich, eine DVD per HTTP und den Deutschlandfunk per UDP Broadcast ins lokale Netz zu senden, also Beispiel eins und zwei zu kombinieren:
vlc -vvv http://62.153.249.30/live_dlf --sout '#standard{access=udp,mux=ogg,url=192.168.0.255,sap=Deutschlandfunk}'Das hier verwendete Kürzel SAP hat nichts mit einer großen deutschen Softwarefirma zutun, sondern steht für den in VLC eingebauten Stream-Ankündigungsserver. Der wertet den Stream mit Textinformationen auf, zum Beispiel einer Playliste. Als URL benutzt das Beispiel die Broadcast-Adresse des lokalen Netzwerks. In Summe kann VLC alle möglichen Eingangsformate auf die verschiedensten Ausgangsformate mit diversen Nebenbedingungen abbilden. Der Anwender muss sich nur durch die Dokumentation arbeiten und den passenden Programmaufruf zusammensetzen.
Alternative: Kaffeine
Auch der Xine-basierte Mediaplayer Kaffeine [7] kann seit Version 0.43 per HTTP ins Netzwerk streamen. Dazu wählt der Benutzer einfach den im Menüpunkt Abspielen | Netzwerkübertragung | Als Master definieren an. Allerdings kann Kaffeine nicht auf so viele Geräte wie VLC zugreifen. Dafür bietet es ein sehr komfortables Konqueror- und Mozilla-Plugin und besitzt eine integrierte Screenshot-Funktion.
Clients gibt es reichlich
An Mediaplayern für Linux und andere Betriebssysteme herrscht kein Mangel. Xine [4], Mplayer [5] oder der proprietäre Real-Player [6] sind einfach zu handhaben und arbeiten zuverlässig in jeder Umgebung. Programme für KDE sind Kaffeine – es fußt auf Xine – [7] oder die beiden Mplayer-basierten Kplayer [8] und KMPlayer (er kann zusätzlich Xine nutzen) [9]. Für Gnome eignen sich das Mplayer-Frontend Totem [10] oder Gxine [4]. Letzteres ist nicht an die Gnome-Bibliotheken gebunden und damit in allen Windowmanagern einsetzbar. Daneben ist der von der Firma Real geförderte, ambitionierte Helix-Player [11] mit GTK-Oberfläche einsetzbar, der als Basis für die zukünftigen Real-Player-Versionen dient.
Die Bedienung der Mediaplayer ist simpel: Bei Kaffeine beispielsweise wählt man im Dateimenü URL öffnen, trägt die Adresse des VLC-Rechners ein, und nach kurzem Puffern von Daten auf der Festplatte legen Bild, Ton oder beide gemeinsam los. Kleine Besonderheiten wie beim Gxine, der einen Media Resource Locator (MRL) statt einer URL sehen will (siehe Abb. 5), sind schnell erlernt.
VLC eignet sich natürlich auch als Client und ist bei Quellen aus dem Netz umfangreich konfigurierbar und sehr technisch gehalten – was nicht jedermanns Geschmack ist. Übersichtlicher ist das Mozilla-Plugin von VLC, das im Zuge der RPM-Installation in /usr/lib/mozilla-1.6 zu liegen kommt. Falls Mozilla oder Firefox woanders siedeln, muss man die Dateien aus den Unterverzeichnissen components und plugins in die tatsächlichen Browser-Verzeichnisse kopieren. Dann steht dem Videovergnügen nichts mehr im Wege. Nur die Knabbereien für den Videoabend im Netz müssen sie noch selbst kaufen.
Der Autor
Michael Stibane, oder kurz Stibs, arbeitet als freier Trainer für Webdesign und Linux und hilft bei LPI und MEPIS Linux fleißig mit. Wenn er nicht irgendwo in Sachsen unterrichtet, schraubt er sicher an einem Netzwerk, übt mit seiner Tochter für die Englischprüfung oder chattet bis in die Nacht auf freenode.net im Channel #mepis.
Glossar
Multicast
Beim Multicasting verschickt der jeweilige Sender seine Informationspakete im Netz einmal über speziell dafür reservierte IP-Adressen. Empfänger der Pakete sind alle Rechner, die sich zuvor für Multicast angemeldet haben. Darum belasten – anders als das Broadcasting – die so verschickten Daten nur die Verbindungswege im Netz, die wirklich zu einem Empfänger führen.
Codecs
Codecs sind die Algorithmen zur Kompression und Dekompression der multimedialen Daten, von denen es jede Menge mit den unterschiedlichsten Merkmalen gibt. DivX oder MPEG sind bekannte Vertreter dieser Gattung. Glücklicherweise gibt es die Mplayer-Seite [5], die alle wichtigen Codecs für Linux gebündelt ins Netz stellt.
Containerformate
Ein Stream besteht aus mehreren Komponenten, zum Beispiel Video und Audiodaten. Die Software bündelt beide, indem sie die Komponenten für den Transport über das Netzwerk zu einem Päckchen zusammenschnürt. Das funktioniert mit so genannten Transport- oder Containerformaten, beispielsweise Windows AVI oder Quicktime MOV. Auch MPEG gehört zu den Transportformaten, das sowohl Codec als auch Container ist und deshalb eigentlich als MPEG System bezeichnet wird.
Infos
[1] Videolan-Projektseite: http://www.videolan.org
[2] École Centrale Paris: http://www.ecp.fr
[3] Von VLC unterstützte Formate: http://www.videolan.org/vlc/features.html
[4] Xinehq, alternativer Client und Mediaplayer, der DVD-Subtitel unterstützt: http://xinehq.de
[5] Mplayer, die Webseite bietet Videocodecs zum Download: http://www.mplayerhq.hu
[6] Betagter Real-Player zum kostenlosen Download (5 MByte): http://germany.real.com/player/?&src=ZG.de.idx,ZG.de.rp.rp.hd.def
[7] Kaffeine: http://kaffeine.sourceforge.net
[8] Kplayer: http://kplayer.sourceforge.net
[9] KMPlayer: http://www.xs4all.nl/~jjvrieze/kmplayer.html
[10] Totem: http://www.hadess.net/totem.php3
[11] Der Open-Source-Player Helix dient als Basis für die zukünftigen Real-Player-Versionen: https://player.helixcommunity.org



