Multimedia-Server mit Linux bauen

Linux-Projekt, Teil 1: Preiswerter TV/Video-Server mit Zusatzfunktionen

22.11.2005
Im TV laufen informative Sendungen, die für Mitarbeiter wichtig sein könnten, zum Beispiel aktuelle Börsenberichte oder ein Fernsehbericht über das eigene Unternehmen. Wir zeigen wie Sie mit der richtigen Hardware und Linux einen kompletten Multimedia-Server aufbauen und im Netz wichtige Informationen für Ihre Mitarbeiter bereit stellen.

In dieser Artikelserie beschreiben wir, wie Sie mit der richtigen Hardware, Linux und ein paar Zusatzprogrammen einen kompletten Multimedia-Server aufbauen und im Netz bereit stellen.

Eine TV-Karte, ein ausreichend schneller Prozessor und die richtige Software, schon ist der digitale Video-Recorder kein Problem mehr und innerhalb weniger Stunden einsatzbereit. So einfach funktioniert das Ganze allerdings nicht, ohne Handarbeit und Tüftelei geht es einfach nicht. Insbesondere dann, wenn auch noch bestimmte Wünsche an das System gestellt werden:

Ein Rechner, der ständig läuft, verbraucht im Laufe des Jahres eine ganze Menge Strom. Angesichts der ständig steigenden Strompreise ist das gerade in Privathaushalten oder kleinen Büros nicht erwünscht. Die meiste Zeit hat ein solcher Video-Server ohnehin nicht viel zu tun, in Ruhephasen sollte er also automatisch abschalten und bei Bedarf wieder hochfahren.

Ganz wichtig ist natürlich eine Time-Shifting-Funktion. Diese lässt sich in zwei Ausprägungen realisieren: Zum einen puffert das Video-System ständig einige Sekunden, so dass man auch mal schnell ein Stück zurückspulen kann. Die andere Möglichkeit besteht darin, jederzeit Pause oder Stopp drücken zu können, etwa wenn das Telefon klingelt. Dann fängt das Video-System an, den Datenstrom aufzuzeichnen. Mit einem Klick auf Play wird dann das Abspielen an der unterbrochenen Stelle fortgesetzt.

Wunschliste

Zusätzlich zu den grundsätzlichen Funktionen, sind der Fantasie hinsichtlich neuer Features natürlich keine Grenzen gesetzt. Hier eine kleine Auswahl, die sich beliebig fortsetzen lässt:

In Privatumgebungen, wenn der Rechner beispielsweise als Set-Top-Box dient, sollten zusätzliche Dienste verfügbar sein. Denkbar ist beispielsweise die Anzeige aktueller Nachrichten, Wetterberichte oder bei eingehenden Anrufen eine Anzeige auf dem Fernseher, wer gerade anruft.

Das automatische Entfernen von Werbeblöcken aus aufgezeichneten Sendungen wäre ein großes Plus.

Gleichzeitig einen Fernsehkanal anschauen und einen Kanal aufzeichnen oder per Bild-im-Bild einen zweiten Sender verfolgen zu können, wäre ein nettes Add-on. Dazu benötigt man allerdings zusätzliche Hardware.

In Netzwerkumgebungen sollte der Server an eine Reihe von Clients streamen können.

Unterstützung für mehrere TV-Karten, am besten mit verschiedenen Standards wie DVB-T und analoges Kabel-TV, erlaubt eine größere Flexibilität bei der Aufzeichnung.

Welche Hardware-Komponenten für ein solches TV-System in Frage kommen, zeigen wir in diesem Artikel. In weiteren Folgen beschreiben wir die Einrichtung von DVB-T unter Linux und von MythTV, einer Linux-basierten Open Source Software.

Hardware-Voraussetzungen

Linux und brandaktuelle Hardware ist nach wie vor eine Kombination, die nicht immer optimal zusammen funktioniert. Das liegt meist daran, dass viele Hersteller nach wie vor nur Windows-Treiber mitliefern und den Linux-Support der Community überlassen.

Ein erster Schritt auf dem Weg zum Video-Server besteht also in der Auswahl der zu verwendenden Hardware. Diese hängt in nicht unerheblichem Maße auch von den Empfangsmöglichkeiten für TV ab. Hier gibt es die folgenden Optionen:

Natürlich kann auch eine beliebige Kombination dieser Verfahren zum Einsatz kommen. Beispielsweise erscheint es durchaus sinnvoll, analoges Kabel und DVB-T zu kombinieren, denn DVB-T bietet bei weitem nicht alle Sender, die im Kabel verfügbar sind. In vielen Gebäuden wird der Kabelanschluss ohnehin zwangsweise per Mietvertrag mitgeliefert.

Auf linuxtv.org findet sich das DVB-Wiki, das sehr viele Informationen rund um DVB-Hardware und die Verwendbarkeit unter Linux liefert. Auf derselben Site wird auch ein Video4Linux-Wiki gehostet. Video4Linux existiert inzwischen in der Version 2 und stellt eine API für Video-Capture und -Overlay zur Verfügung. Dieses enthält vornehmlich Informationen zu analogen TV-Karten.

Unterstützte TV-Hardware

DVB-S (digitales Satellitenfernsehen) gibt es schon seit einiger Zeit, dementsprechend ausgereift ist die Versorgung mit Linux-Treibern. In Diskussionsforen und Wikis findet man häufig den Hinweis auf so genannte „Full Featured“-Karten, die um jeden Preis zu bevorzugen seien. Dabei handelt es sich um Karten mit TV-Ausgang und MPEG-Decoder.

Diese bieten zwar den Vorteil, dass sie auch mit einem vergleichsweise schwachen Prozessor verwendbar sind, kosten dafür aber deutlich mehr. Zudem sind diese Karten fast nicht mehr erhältlich. Selbst VDR kommt inzwischen - dank des Software-Decoder-Plug-ins - ohne eine solche Karte aus.

Für DVB-S eignen sich vor allem die Karten von Hauppauge (NOVA-S PCI und NOVA-CI) sowie die diversen Twinhan-Varianten. Hier existiert eine breite installierte Basis, sprich, es gibt auch genügend How-Tos und Support aus der Community, falls irgendetwas nicht funktioniert.

Unterstützung für das digitale Kabelfernsehen DVB-C, das die Kabelanbieter jetzt zunehmend im Programm haben, finden Sie vornehmlich für Technotrend (C-2100), Hauppauge (WinTV-Nexus-CA) und Terratec (Cinergy 1200-C).

DVB-T und analog

So langsam kommt auch das digitale terrestrische Fernsehen DVB-T so richtig in Fahrt. Immer mehr Ballungsräume werden damit versorgt, das Angebot an neuer Hardware ist groß und wird ständig um neue Varianten erweitert. Unter Linux sind bereits sehr viele Karten nutzbar, allerdings ist die Revision der Karte sehr oft entscheidend. Der Grund: Viele Hersteller wechseln die verwendeten Tuner-Chips, behalten aber den Produktnamen bei. Da die meisten DVB-T-Treiber für Linux allerdings generisch für bestimmte Chips erstellt sind, kommt es häufig zu Schwierigkeiten, die einen manuellen Eingriff erforderlich machen.

Analoge TV-Karten haben immer noch ihre Berechtigung. Hier herrschten lange Zeit die Chips von Brooktree (BT848 und BT878) vor, die in sehr vielen TV-Karten verbaut sind. Dementsprechend gut ist hier der Support durch Linux. Als problematisch erweist sich allerdings die Tatsache, dass der Datenstrom zur Speicherung erst MPEG-kodiert werden sollte. Wenn der Prozessor diese Aufgabe übernehmen soll, muss er entsprechend leistungsstark sein, was der Grundidee eines Systems widerspricht, das wenig Strom verbrauchen soll. Es gibt allerdings auch analoge TV-Karten mit eingebautem MPEG-Encoder, die auf dem Conexant cx23415/cx23416 basieren.

TV-Ausgabe

Am Monitor macht Multimedia nur äußerst begrenzt Spaß. Deshalb sollte schon eine Lösung her, die sich direkt an einen Fernseher anschließen lässt. Die Anzahl verfügbarer Karten und Lösungen ist quasi unüberschaubar.

Angefangen bei einer Selbstbau-Lösung, die direkt an den VGA-Ausgang der Grafikkarte angeschlossen wird, über TV- und andere Erweiterungskarten mit eigenem TV-Ausgang bis hin zu dedizierten TV-out-Karten ist so ziemlich alles denkbar und möglich.

NVIDIA bietet für seine Grafikkarten inzwischen Linux-Treiber (allerdings Closed Source) an, die – eine entsprechende Grafikkarte vorausgesetzt - auch TV-out bieten. Ähnliches leistet ein Open-Source-Projekt. ATI will auf Grund von Lizenzvereinbarungen und Macrovision TV-out unter Linux nicht unterstützen. Allerdings gibt es ein Open-Source-Projekt, das sich ATI-Grafikkarten widmet.

OnBoard-Grafik mit TV-Out

Für die diversen Onboard-Grafikchipsätze von Intel bieten aktuelle Kernel-Versionen und Xorg ebenfalls eingebauten Support. Zur Not ist auch ein Closed-Source-Treiber direkt von Intel erhältlich. Eine solche Onboard-Lösung hat gleich mehrere Vorteile:

Viele Systeme schalten ohnehin automatisch auf TV-Ausgabe um, wenn beim Booten nur ein TV, nicht aber ein Monitor angeschlossen ist. Diese Funktion reicht für ein Video-System völlig aus und man kann sich viel Zeit und Mühe mit den Closed-Source-Treibern sparen. Denn diese dienen hauptsächlich dazu, eine Umschaltung zwischen TV und Monitor zu ermöglichen.

Da die Wartung eines Systems am Fernseher allerdings keine große Freude macht, bieten sich zwei Lösungsansätze an: Entweder man holt sich per X und ssh ein Applikationsfenster auf einen Remote Desktop und erledigt hierüber die gesamte Arbeit oder man schaltet sich mittels NX auf den Video-Server auf.

Weitere Hardware

Das System soll aus mehreren Gründen möglichst wenig Leistung aufnehmen. Da ist zunächst natürlich der Kostenfaktor, da der Server ständig in Betrieb sein soll. Hohe Leistungsaufnahme bedeutet jedoch viel Wärme, und die muss abtransportiert werden. Laute Lüfter machen sich in einem System, das unter Umständen im Wohnzimmer steht, allerdings nicht besonders gut, denn sie stören das Multimedia-Vergnügen erheblich.

Hier gibt es zwei Ansätze. Entweder man nimmt eine leistungsstarke CPU und versucht mit aufwendigen (und teuren) Maßnahmen, eine leise Kühlung zu erreichen. Oder man lässt das System auf einem Stromsparprozessor wie beispielsweise dem Pentium-M, Via C3 Nehemia oder Turion basieren. Die zweite Lösung hat den Vorteil, dass per Speedstep/Longhaul/PowerNow der Prozessortakt dynamisch den Anforderungen angepasst werden kann. Linux bietet dafür hervorragende Unterstützung.

Hardware - Festplatte

Was die Festplatte anbelangt, soreichen eigentlich 5400 Umdrehungen, denn damit ist sie schnell genug für die Anforderungen. Solche Platten gibt es jedoch nicht mehr allzu häufig. Bei Harddisks mit 7200 Umdrehungen lässt sich zumindest per Acoustic Management die Lärmentwicklung reduzieren. Das Linux-Programm hdparm leistet hier sehr gute Dienste. Auch die Frage, ob SATA oder PATA, ist bei einem Multimedia-System nebensächlich. Allerdings kann hdparm SATA noch nicht so gründlich kontrollieren wie eine PATA-Platte.

Eine denkbare Lösung ist gerade bei kleinen Gehäusen die Verwendung einer kleinen Notebook-Platte im Gehäuse für das System. Die Video-Daten kommen dann auf eine große Platte, die per USB 2.0 oder Firewire ans System angeschlossen wird. Der Vorteil dieser Kombination: Die Wärmeentwicklung im Inneren des Gehäuses ist geringer und der Speicher für Videos lässt sich leichter abklemmen und durch einen neuen ersetzen.

Hardware - Gehäuse

Soll es ein Wohnzimmer-PC werden, muss das Gehäuse Ehefrauen-kompatibel sein: also klein und schick. Das beißt sich allerdings mit den sonstigen Wünschen. In manche flachen Gehäuse kann man nur halbhohe PCI-Karten einbauen. Hier sieht es allerdings mit der Auswahl sehr bescheiden aus, bei DVB-Karten gibt es fast gar keine.

Unter Umständen kann man zumindest eine PCI-Karte mit voller Bauhöhe mittels PCI-Riser unterbringen, das sollte man allerdings vorher genau überprüfen. Ein kleines LCD-Display an der Front wäre hilfreich, denn zum Musikhören will man ja nicht unbedingt den Fernseher einschalten. Linux bietet zur Ansteuerung eines solchen Displays eine Menge Treiber und Tools. Ansonsten haben Sie beim Gehäuse die volle Auswahl und können allein für diesen Bestandteil des HTPC von 49 bis weit über 1000 Euro ausgeben. (mha)