Open Source im professionellen Einsatz
Linux-Magazin 01/2010
© drx, 123rf.com

© drx, 123rf.com

Video-Streaming mit Lighttpd und Apache

Tolle Rolle

Video-Streaming war lange eine Domäne kostspieliger Spezialserver. Heute kann praktisch jeder mit freier Software und ein paar Handgriffen eine Videoshow in der Art von Youtube & Co. im Web abziehen - komfortables Vor- und Zurückspulen der Filmchen inklusive.

564

Videos im Web veröffentlichen und bequem im Browser abspielen - das ist das Erfolgsrezept von Portalen wie Youtube, Vimeo und Google Video. Während nur wenige Linuxer Anlass haben, Veranstaltungen per Video-Livestream zu übertragen, besitzen fast alle Unternehmen, Softwareprojekte oder Usergroups Videodateien, die sie online stellen möchten. Dieser Artikel zeigt, wie das mit einem HTTP-Server und einem geeigneten Zusatzmodul in wenigen Schritten vonstattengeht. Wer eine Lösung für den Live-Betrieb sucht, findet Informationen zum Open-Source-Server Red 5 im Kasten "Live dabei mit Red 5".

Komfort geht vor

Die Ansprüche der Anwender an den Bedienungskomfort sind dabei von den Branchengrößen geprägt: Niemand möchten ein zusätzliches Programm oder Plugin installieren. Außerdem wollen Nutzer vor- und zurückspulen beziehungsweise -springen, ohne zuvor lange auf den Download des kompletten Films zu warten (Abbildung 1). Neben einem geeigneten Server ist also vor allem ein akzeptabler Client gesucht.

Derzeit entsprechen am ehesten als Flashobjekt umgesetzte Videoplayer diesen Ansprüchen. Das passende Plugin hat Otto Normalsurfer in den meisten Fällen nämlich schon installiert. Damit fußt der Filmgenuss im Web zurzeit auf einer proprietären Technologie des Herstellers Adobe. Abhilfe könnte in Zukunft der Standard HTML 5 schaffen, der den freien Videocodec Theora als Format festschreibt, das ein Webbrowser von Haus aus abspielen kann.

Bis dahin bleibt Verfechtern quelloffener Software immerhin der Trost, dass wenigstens die in Flash implementierten Player selbst unter Open-Source-Lizenzen verfügbar sind. Dazu gehört der JW FLV Media Player [1], dessen Macher allerdings auf eine Non-Commercial-Lizenz von Creative Commons setzen. Wer auf einer kommerziellen Seite damit Filme zeigen möchte, muss zahlen. Der JW-Player ist etwa auf den Videoseiten der Linux-Foundation im Einsatz.

Unkomplizierter ist die Lizenzlage beim Flowplayer [2], den es in einer GPLv3-Version gibt, womit gewerbliche Nutzung kein Problem ist. Eine kostenpflichtige Lizenz benötigt für diesen Player nur, wer dessen Standardoberfläche gegen ein individuelles Look & Feel austauschen möchte. Zu den Flowplayer-Anwendern gehört das Projekt Archive.org mit seiner gewaltigen Filmsammlung.

E Abbildung 1: Status quo der Bedienungsfreundlichkeit: Der blassrote Balken zeigt an, wie weit der Player den Film schon gepuffert hat. Der Anwender kann jedoch auch darüber hinaus an beliebige Stellen springen.

Mogelpackung

Die Technik, die im Zusammenspiel mit den Flashplayern Verwendung findet, ist im traditionellen Sinne gar kein Streaming, sondern ein progressiver HTTP-Download. Im Zuge des Youtube- und Webvideo-Booms haben sich die Begriffsgrenzen aber aufgeweicht, in einigen Anleitungen findet sich zumindest der Ausdruck Pseudo-Streaming.

Damit der Anwender auch an Stellen des Films springen kann, die der Player noch gar nicht in seinen Puffer geladen hat, braucht es speziell präparierte Dateien. Sie enthalten Metadaten, die über die Länge des Clips und mögliche Einsprungspunkte (Cue Points) Auskunft geben. Für diesen Zweck gibt es das Kommandozeilen-Programm »flvtool2« [3]. Das BSD-lizenzierte Tool impft Videodateien im FLV-Format mit den erforderlichen Meta-Informationen. Ins Flashvideo-Format FLV lassen sich fast alle Arten von Videodateien mit dem Werkzeug Ffmpeg [4] bringen.

Der Befehl »flvtool2 -U Dateiname« versieht ein Video automatisch mit einer Reihe von Cue Points. Das Kommando »flvtool2 -P Dateiname« gibt alle Metadaten zur Kontrolle auf dem Terminal aus. Spult der Betrachter ein derart präpariertes Video per Schieberegler vor oder zurück, sendet der Player die gewünschte Startposition als GET-Variable in der HTTP-Anfrage an den Webserver. Diese Anfrage, beispielsweise in der Form »GET /video.flv?start=51858804 HTTP/1.1«, verarbeitet dann ein spezialisiertes Servermodul.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Flash-Alternative: Flowplayer 3.0 zeigt Web-Videos

    Mit Version 3.0 erreicht die Entwicklung des freien Flashplayers Flowplayer einen neuen Meilenstein.

  • Streaming-Migration

    Weiter stromaufwärts wartet HTML 5, um Flash abzulösen – so liest man immer wieder. Zumindest im Videostreaming-Bereich sind bei der Migration aber noch einige Stromschnellen zu überwinden.

  • Leichtgewichte

    Obwohl Apache seit langem der meistverwendete Webserver ist, sind nicht alle Anwender damit zufrieden. Als leichtgewichtige Konkurrenten treten Cherokee und Lighttpd gegen ihn an. Letzterer konnte sich im vergangenen Jahr sogar heimlich unter die ersten Plätze schleichen.

  • In eigener Sache: Bundle "Webserver-Tuning" für schlauere Webadmins

    Wem die Webapplikationen bummeln und die Benutzer meutern, für den ist der obligatorische Gang zum Hardware-Dealer als Eigner dieses Titelthema-Bundles nur die zweitbeste Lösung. Sie bekommen nämlich jetzt ihr Webserver-Tuning-Kit frei Haus geliefert.

  • Server-Statistik: Apache gewinnt hinzu

    In der von Netcraft monatlich ausgewiesenen Server-Statistik zeigt der freie Webserver Apache einen Zuwachs von 1,2 Millionen Websites.

comments powered by Disqus

Ausgabe 01/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.