Mit wenigen Handgriffen machen Sie Linux zum vollwertigen Videoserver, der TV-Sendungen aufzeichnet, lagert und verteilt.
Videokassetten waren gestern – heute archiviert der Cineast die flimmernden Bilder auf DVDs oder einem Festplatten-Recorder. Letzterer rückt die Daten jedoch nur selten problemlos wieder heraus. DVDs taugen mitunter nicht für längere Aufnahmen: Eine “Herr-der-Ringe”-Verfilmung passt mitsamt Werbung nur unter starken Qualitätsverlusten auf einen handelsüblichen Rohling.
Einen preiswerten Ausweg bietet ein selbstgebastelter Videoserver. Alles, was Sie dazu benötigen, sind ein (ausgemusterter) PC, eine TV-Karte und die Software MythTV [1]. Diese kostenlose Media-Center-Software erweitern Sie bei Bedarf unkompliziert über zusätzliche Plugins.
Bastelstunde
Die Funktionsweise des gesamten Aufbaus verdeutlicht Abbildung 1: Als Basis dient ein herkömmlicher Linux-PC, der unter der Regie von MythTV zum digitalen Videorecorder mutiert. Über die eingebaute TV-Karte scannt die Software die Fernsehprogramme und legt sie auf der eingebauten Festplatte ab. Im Vergleich mit Festplatten-Recordern reicht hier der Plattenplatz praktisch unbegrenzt: Bei knappem Speicher ergänzen Sie eine weitere Festplatte oder tauschen die vorhandene gegen ein größeres Modell aus. Sie erhalten so genug Platz, um die Aufzeichnungen auch im Urlaub nicht stoppen zu müssen.

Abbildung 1: Auf dem Videoserver im Keller läuft das MythTV-Backend, welches das Frontend auf dem Wohnzimmer-PC mit Inhalten versorgt.
Den Server stöpseln Sie an das Hausnetzwerk und verbannen ihn in den Keller. Von dort aus versorgt er nun den kleinen Media-Center-PC im Wohnzimmer mit Video- und Fernsehmaterial. Auf ihm läuft wiederum die MythTV-Oberfläche, die Kontakt mit dem Server im Untergeschoss hält. Sie kramen bequem von der Couch aus im Videoarchiv oder wählen aus dem elektronischen Programmführer, welche Sendung der Server im Keller als nächstes aufnehmen soll. Doch zuvor wird ein prüfender Blick auf die Hardware fällig.
Ab in den Keller
Bis auf wenige Ausnahmen empfängt Deutschland mittlerweile digitales Fernsehen. Das Empfangsgerät muss den Datenstrom somit nur noch auffangen und auf der Festplatte ablegen. Die Hardware-Anforderungen an den Videoserver bleiben so erfreulich niedrig, ein drei Jahre alter Computer genügt bereits.
Zum Empfang des Fernsehprogramms benötigen Sie eine TV-Karte, die unbedingt zum existierenden Anschluss passen muss. Zur Auswahl stehen derzeit die gute alte Antenne (DVB-T), das Kabel (DVB-C) und der Satellit (DVB-S). Bevor Sie jetzt in den nächstgelegenen Elektronikmarkt eilen, werfen Sie einen Blick auf die Seite Linuxtv.org [2]. Im dortigen DVB Wiki finden Sie eine Datenbank mit allen TV-Karten, die derzeit unter Linux laufen. Zudem gab es gerade einen Test von DVB-T-Empfängern im LinuxUser 12/2007 [3]. Ob die TV-Karte funktioniert, überprüfen Sie am einfachsten mittels Kaffeine. Erscheint dort kein Bild oder fehlt gar die Option Digitales Fernsehen im Eingangsmenü, werfen Sie einen Blick in die Ausgabe von dmesg. Meist verlangen die TV-Karten nach einer so genannten Firmware. In diesem Fall gilt es, die zugehörige Datei aus dem Internet zu fischen und in das entsprechende Verzeichnis zu kopieren (meist /lib/firmware). Bei Problemen und Fragen hilft das Wiki unter Linuxtv.org weiter.
Platz da!
Die Übertragung der Daten folgt in Europa dem DVB-Standard (für Digital Video Broadcast). Dieser schickt Videos im gleichen Format über den Äther, das auch DVDs nutzen. Folglich produzieren die TV-Karten einen recht hohen, kontinuierlichen Datenstrom. Der belastet zum einen den Hauptprozessor, zum anderen müssen die Festplatten die Daten schnell genug entgegennehmen. Daher sollten Sie Videos auf eine eigene, zweite Festplatte auslagern, die Sie notfalls schnell gegen ein größeres Modell austauschen: Die von MythTV produzierten Dateien wachsen schnell. Dies erfordert neben viel freiem Speicherplatz auch ein Dateisystem, das solche Brocken klaglos schluckt: FAT32 etwa streicht bei 4 GByte großen Dateien laut Microsoft die Segel. Ähnliches gilt übrigens auch für ReiserFS in den Versionen 3 und 4. Die Dokumentation zu MythTV rät deshalb zu XFS oder JFS, aber auch Ext3-Platten funktionieren tadellos.
MythTV
Zeigt sich die Hardware des neuen Videoservers einsatzbereit, installieren Sie die Media-Center-Software. Das ist zwar nicht ganz trivial, aber dennoch mit wenigen Handgriffen erledigt. Fast alle größeren Distributionen bringen MythTV mit oder verstecken es in einem ihrer Repositories.
Unter OpenSuse 10.3 aktivieren Sie etwa in YaST unter Software | Community Repositories das Packman-Repository. Anschließend wechseln Sie zu Software installieren und löschen und spielen die Pakete mythtv-backend, mythtv-setup und mythtv-frontend ein, die in Version 0.20.2 vorliegen. Unter Ubuntu 7.10 “Gutsy Gibbon” müssen Sie nicht einmal ein externes Repository einbinden: Es genügt, die Pakete der Version 0.20.2 via Synaptic oder Adept einzurichten. Wer die Software aus den Quellen erstellen muss oder will, wirft einen Blick auf den Kasten “Kompilieren”. Erscheint Ihnen die Installation zu aufwändig, schnuppern Sie über eine spezielle Live-Distribution wie KnoppMyth [4] oder Mythbuntu [5] in MythTV hinein.
Kompilieren
Um MythTV zu übersetzen, benötigen Sie zunächst folgende Bibliotheken und Werkzeuge: Das übliche g++– und make-Besteck, Qt einschließlich der Pakete und Werkzeuge für Entwickler (unter OpenSuse beispielsweise das Paket qt3-devel), Freetype 2, den MP3-Encoder Lame und die komplette MySQL-Datenbank.
Lief Ihre TV-Karte out of the box ohne externe Treiber, installieren Sie zusätzlich noch die Linux-Kernelquellen. Anderenfalls benötigen Sie das entpackte Archiv mit den externen Treibern. Unter OpenSuse nehmen Sie noch /usr/lib/qt3/bin in die Umgebungsvariable $PATH auf:
export PATH=$PATH:/usr/lib/qt3/bin
Wer mag, darf abschließend noch XMLTV installieren. Dieses Werkzeug liefert eine aufgebohrte, elektronische Programmzeitschrift (EPG) mit, die ihre Daten aus dem Internet fischt. Entpacken Sie dann das MythTV-Quellcode-Archiv von der Heft-CD und starten Sie den Übersetzungsvorgang mit
$ ./configure --enable-dvb --dvb-path=/usr/src/linux/include $ qmake mythtv.pro $ make $ sudo make install
Verwenden Sie einen externen Treiber für Ihre TV-Karte, suchen Sie in dessen Quellcode nach der Datei frontend.h. Dann wird es etwas komplizierter: Wechseln Sie wieder zwei Verzeichnisse nach oben (frontend.h liegt in linux/dvb). Ermitteln Sie nun den gesamten Pfad, der vom Wurzelverzeichnis (/) in das aktuelle Verzeichnis führt. Diesen Pfad verwenden Sie in der obigen Befehlskette anstelle von /usr/src/linux/include (also den kompletten Pfad zu linux/dvb/frontend.h).
Taucht während der Programmerstellung eine Fehlermeldung auf, die sich um die Datei dca.h dreht, so müssen Sie noch die Bibliothek libdca (auch als libdts bekannt) samt Entwicklerbibliotheken (-dev oder -devel) einspielen [6].
Nach der Installation von MythTV ergänzen Ubuntu-Benutzer noch die Zeile /usr/local/lib in der Datei /etc/ld.so.conf.
Gespaltene Persönlichkeit
MythTV besteht aus zwei Teilen: Das so genannte Frontend umfasst lediglich die Oberfläche und läuft später im Wohnzimmer. Die eigentliche Arbeit erledigt das Backend auf dem Server. Es merkt sich alle Informationen, wie beispielsweise die Aufnahmezeit einer Sendung, in einer MySQL-Datenbank. Diese muss folglich vor dem Start von MythTV im Hintergrund laufen.
Wie Sie die Datenbank anwerfen, hängt von der verwendeten Distribution ab. Unter OpenSuse 10.3 genügt beispielsweise der Befehl rcmysql als Benutzer root, unter Ubuntu sudo /etc/init.d/mysql restart. Auf dem Server sollten Sie MySQL so einrichten, dass es automatisch bei jedem Bootvorgang Ihres Computer startet. Geschieht das – wie bei Ubuntu – nicht ohnehin, bieten die Systemeinstellungen Ihrer Distribution in der Regel die passenden Werkzeuge an.
Damit läuft nun MySQL jungfräulich im Hintergrund. Die vom MythTV-Backend benötigte Datenbank erzeugt der Aufruf mysql -u root < mc.sql. Die Datei mc.sql finden Sie im Unterverzeichnis database des MythTV-Quellcode-Archivs.
Installieren Sie die paketierte Version unter Ubuntu, kümmert sich ein Wizard um das Einrichten der Datenbank – folgen Sie einfach den Anweisungen. Zwischendurch erscheint ein Passwort für den Zugriff auf die Datenbank des Backends, das Sie sich notieren sollten: Das Frontend braucht es später, um auf die Datenbank des Backends zuzugreifen. Sie finden das Kennwort aber auch in der Datei /etc/mythtv/mysql.txt.

Abbildung 2: Das Hauptmenü des Setup-Programms. Die angebotenen Menüpunkte sollten Sie von oben nach unten durchgehen.
Grundeinstellungen
Als nächstes rufen Sie auf dem Videoserver mythtv-setup auf, um das Backend auf den Zugriff durch das MythTV-Frontend vorzubereiten. Nach einigen verwirrenden Meldungen präsentiert das Programm die Sprachauswahl aus Abbildung 2. Wählen Sie mit den Pfeiltasten Deutsch und betätigen Sie mit [Eingabe]. Damit erscheint das Konfigurationsmenü, bei dem Sie die angebotenen Punkte von oben nach unten durchgehen und an Ihre Gegebenheiten anpassen. Mit [Tab] und den Pfeiltasten springen Sie zwischen den Feldern hin- und her, [Esc] bringt Sie immer wieder schnell zum Hauptmenü zurück. Den Wert einer Liste ändern die Pfeiltasten nach links und rechts, eine hervorgehobene Schaltfläche aktivieren Sie über die Leertaste.
Kontrollieren Sie zunächst unter Allgemeines, ob die IP-Adresse hinter IP Adresse für der des Servers entspricht (Abbildung 3). Die voreingestellte 127.0.0.1 bezeichnet den Client selbst, das MythTV-Backend ließe sich folglich nur lokal auf dem Computer nutzen. Darunter stehen ein paar TCP-Ports, über die Backend und Frontend miteinander kommunizieren. Sofern Sie eine Firewall einsetzen, müssen Sie dort entsprechende Löcher bohren. Ein Klick auf Weiter führt zu einem Eingabefeld: Dort hinein gehört das Verzeichnis, in dem MythTV alle seine Aufnahmen ablegen soll. Sie landen ja nicht auf dem Wohnzimmer-Rechner, sondern auf der Festplatte im Keller.

IP Adresse für ganz oben wichtig: Steht dort wie in der Abbildung nur die 127.0.0.1, so erhält das Frontend auf dem Wohnzimmer-PC keinen Zugriff auf das Backend im Keller.” width=”300″ height=”225″ />
Abbildung 3: In diesem Bildschirm ist dieIP Adresse für ganz oben wichtig: Steht dort wie in der Abbildung nur die 127.0.0.1, so erhält das Frontend auf dem Wohnzimmer-PC keinen Zugriff auf das Backend im Keller.Wieder einen Schritt weiter setzen Sie die TV-Norm auf das in Deutschland verwendete PAL, die Videotext-Norm (VBI) auf Pal Teletext und die Tabelle der Senderfrequenzen auf europe-west. Alle weiteren Dialoge tragen bereits die korrekten Einstellungen, weshalb Sie einfach so lange Weiter und schließlich Fertig wählen, bis Sie wieder im Hauptmenü landen.
Weiter geht es bei den TV-Karten. Dort richten Sie zunächst eine (Neue TV-Karte) ein. Im nächsten Schirm wählen Sie unter Kartentyp die DVB DTV TV-Karte (v3.x) (Abbildung 4). Unter Frontend ID zeigt MythTV den Namen oder den Chipsatz der gefundenen Karte an. Bei DVB-S Karten müssen Sie noch die Einstellungen hinter DiSEqC kontrollieren.

Kartentyps auf den angezeigten Wert wurde der angeschlossene DVB-T USB-Stick erkannt. Weitere Einstellungen waren in diesem Fall nicht notwendig.” width=”300″ height=”225″ />
Abbildung 4: Direkt nach der Einstellung desKartentyps auf den angezeigten Wert wurde der angeschlossene DVB-T USB-Stick erkannt. Weitere Einstellungen waren in diesem Fall nicht notwendig.Sobald Sie Fertig wählen, landen Sie wieder in der Liste mit allen vorhandenen TV-Karten. Hier könnten Sie nun noch weitere Karten einrichten. Dies ist beispielsweise dann notwendig, wenn Sie ein Programm sehen und gleichzeitig ein anderes aufzeichnen wollen. Da jede TV-Karte – mit wenigen Ausnahmen – immer nur genau einen Sender liefert, kommen Sie in diesen Fällen nicht um eine zusätzliche Karte herum. Achten Sie aber dann darauf, dass sich die Kartennummer bei beiden Empfängern unterscheidet. Per [Esc] landen Sie wieder im Hauptmenü.
Programmzeitschrift
Der nächste Punkt Videoquelle führt ziemlich in die Irre: Über ihn legen Sie lediglich fest, woher MythTV die Informationen für seinen elektronischen Programm-Guide bekommt. Wechseln Sie also im Hauptmenü zum Punkt Videoquellen und wählen dort (Neue Videoquelle) (Abbildung 5). Vergeben Sie zunächst einen Namen und wählen Sie anschließend unter Listings grabber, auf welche Weise MythTV an die Programminformationen gelangt. Transmitted guide only (EIT) sammelt sie direkt aus den Zusatzdaten, die jede DVB-Variante mitsendet. Haben Sie XMLTV installiert, dürfen Sie hier auch diese Anwendung bemühen, wobei ihre Einrichtung im Terminalfenster geschieht wohin Sie per [ALT]+[Tab] wechseln.

Abbildung 5: Bei der Einrichtung der “Videoquelle” stimmen genau diese Werte. MythTV angelt sich damit die elektronischen Programminfos direkt aus dem Programmstrom.
Damit haben Sie eine Quelle für die Daten des elektronischen Programmführers. MythTV weiß aber noch nicht, zu welcher TV-Karte diese Informationen gehören. Dies ändert der Punkt Verknüpfungen im Hauptmenü. Er führt zu einer Liste mit allen TV-Karten. Wählen Sie dort eine aus und stellen Sie im neuen Schirm unter Videoquelle die gerade erstellte ein (Abbildung 6). Starten Sie anschließend den Sendersuchlauf. Belassen Sie die angezeigten Vorgaben und klicken Sie auf Weiter >. Der Sendersuchlauf dauert nun eine Weile, wobei MythTV immer mal wieder Denkpausen einlegt (Abbildung 7). Das Ergebnis: eine komplette Senderliste für die zugehörige TV-Karte. Zweimal Fertig und einmal [Esc] führen wieder zum Hauptmenü, wo Sie unter Sender bearbeiten die Liste noch einmal nachbearbeiten.

DVB-T und der TV-Karte.” width=”300″ height=”225″ />
Abbildung 6: Die Verknüpfung zwischen der Videoquelle mit dem NamenDVB-T und der TV-Karte.
Abbildung 7: Der Sendersuchlauf wirkt ab und an, als wäre MythTV abgestürzt. Im Hintergrund laufen die erkannten Kanäle durch.
Oberflächlich
Schließen Sie nun das Setup-Programm per [Esc] und öffnen Sie anschließend zwei Terminalfenster. Im ersten starten Sie mit Root-Rechten das Backend via mythbackend – unter Ubuntu 7.10 funktioniert der Befehl sudo /etc/init.d/mythbackend restart nicht. Im anderen Fenster rufen Sie das Frontend über mythfrontend auf. Dies ist die Oberfläche, die Sie später auch auf dem Wohnzimmer-PC zu Gesicht bekommen (Abbildung 8). Aktivieren Sie hier zu Testzwecken den Punkt Fernsehen. Es sollte nun wie in Abbildung 9 ein Fernsehbild erscheinen. Mit den Pfeiltasten navigieren Sie durch die Sender, per [Eingabe] schalten Sie um. Beenden Sie nach dem kleinen Funktionstest das Frontend, indem Sie zweimal [Esc] drücken und die Abfrage bestätigen. Damit funktioniert bereits der Server. Auf ihm müssen Sie nur noch sicherstellen, dass mythbackend automatisch beim Booten startet. Das Frontend brauchen Sie im Folgenden nicht.

Abbildung 9: Dass Backend und Frontend funktionieren, beweist das laufende Fernsehprogramm. Die Programminformationen erscheinen nur kurzzeitig beim Umschalten.
Sofakartoffel
Wer im Wohnzimmer den Datenbestand des MythTV-Backends anzapfen möchte, benötigt dort einen möglichst leisen PC – schließlich trübt jegliches Lüftersummen den Kinospaß. Dummerweise verbrät ein potenter Prozessor recht viel Leistung, die ein schneller und somit deutlich hörbarer Lüfter aus dem Gehäuse befördern muss. Die Zusammenstellung eines Wohnzimmer-PCs ist nicht ganz einfach. Der Elektronikhandel bietet deshalb unter der Bezeichnung Media-Center-PCs kleine, leise, auf diesen Einsatz zugeschnittene Computer an.
Egal ob von der Stange oder selbst gebaut: Neben der Linux-tauglichkeit sollten Sie darauf achten, dass der PC zumindest DVDs ohne Ruckler wiedergibt. Das hochauflösende Fernsehen HDTV ist derzeit allerdings nur mit Prozessoren der oberen Leistungsklasse zu haben. Am besten testen Sie den Media-PC noch im Laden mit einer der bereits angesprochenen MythTV-Live-CDs ([4],[5]). Wer selbst einen flüsterleisen Media-Center-PC basteln möchte, sollte einen Blick in die LinuxUser-Ausgabe 12/2007 [7] werfen.
Achten Sie beim Zusammenbau oder Kauf auch darauf, dass sich der PC an den vorhandenen Fernseher klemmen lässt: Für ein altes Röhrengerät ist entweder ein (unter Linux funktionierender) TV-Ausgang an der Grafikkarte notwendig, oder aber ein externer VGA-nach-TV-Konverter, wie ihn verschiedene Elektronikversender anbieten.
Sobald der Media-Center-PC bereitsteht, bestücken Sie ihn wieder mit MythTV. Dies geschieht genau so, wie auf dem Server, nur fällt diesmal die umständliche Einrichtung über mythtv-setup aus. Stattdessen starten Sie direkt mythtvfrontend und wechseln dort im Hauptmenü zum Punkt Zubehör / Konfiguration.
Drücken Sie noch einmal [Eingabe] und wählen Sie Grundeinstellungen. Unter localhost tippen Sie den Rechnernamen oder die IP-Adresse des Servers im Keller ein. Die anderen Werte bleiben auf ihren Vorgaben. Lediglich das vorhandene Passwort ersetzen Sie noch durch das anfangs notierte Kennwort für die Datenbank des Backends im Wohnzimmer. Klicken Sie nun so lange auf Weiter, bis Sie auf Fertig stoßen. Das Frontend versucht dann den Server zu kontaktieren. Klappt dies reibungslos, landen Sie wieder im Untermenü. Dort dürfen Sie unter Erscheinungsbild noch das Aussehen der Oberfläche ändern.
TIPP
Erhält das Backend eine neue IP-Adresse, müssen Sie auf allen Rechnern mit Back- und Frontends in der Datei $HOME/.mythtv/mysql.txt die jeweilige IP-Adresse ersetzen. Dann starten Sie auf dem Rechner im Keller erneut mythtv-setup und ändern auch hier die IP-Adresse. Anschließend klappt wieder alles: Im Dauerbetrieb empfiehlt es sich aber, den Rechner im Keller mit einer festen IP-Adresse zu versehen.
Keine Zeit
Über den Punkt Aufnahmen verwalten setzen Sie über das Frontend im Wohnzimmer das Backend im Keller auf eine Fernsehsendung an. Am einfachsten geht dies mit der Programmübersicht. Sie liefert eine Liste mit den in den nächsten Stunden anstehenden Sendungen (Abbildung 10). Dort wählen Sie die gewünschte per [Eingabe] aus und legen dann im neuen Schirm die Eckdaten der Aufnahme fest: Mit [Pfeil-links] und [Pfeil-rechts] ändern Sie den Wert, [Pfeil-oben] und [Pfeil-unten] wechseln zwischen den Optionen. Der Klick auf Einstellungen speichern versetzt das Backend im Keller schließlich in Aufnahmebereitschaft.
Eine Alternative bietet die manuelle Aufnahme. Hier geben Sie wie vom Videorecorder gewohnt die Start- und Stoppzeiten vor; Aufnahmeoptionen führt dann schon zum bekannten Bildschirm mit den weiteren Einstellungen.

Abbildung 10: Die Programmierung einer Aufnahme erfolgt bequem in der Ansicht des elektronischen TV-Guides.
![Abbildung 11: Über so genannte Themes verändern Sie das Aussehen des Frontends. Zusätzliche Themes finden Sie auf der MythTV-Homepage [2].](https://www.linux-community.de/wp-content/uploads/2008/11/Abbildung-11-32-300x225.jpg)
Abbildung 11: Über so genannte Themes verändern Sie das Aussehen des Frontends. Zusätzliche Themes finden Sie auf der MythTV-Homepage [2].
Ausblicke
Um das Frontend auf dem Wohnzimmer-PC nicht immer manuell starten zu müssen, binden Sie auch dieses Programm direkt in den Systemstart ein. Dann können Sie die Tastatur verbannen und durch eine Fernbedienung ersetzen. Diese unterstützt MythTV genau so, wie das automatische Herauf- und Herunterfahren des Servers im Keller. Letzterer läuft dann nur, wenn tatsächlich eine Aufnahme stattfindet – und spart somit Strom. Auf Wunsch schneidet das Backend sogar automatisch die Werbeblöcke heraus.
Die zahlreichen, erhältlichen Erweiterungen auf der MythTV-Seite verwandeln den Videoserver in einen richtigen Mediaserver. MythTV spielt dann auch DVDs und verwaltet die Musiksammlung. Eine Beschreibung dieser ganzen Zusatzfunktionen würde den Rahmen dieser kleinen Einführung sprengen, MythTV bringt jedoch eine ausführliche Dokumentation im Unterverzeichnis docs des Quellcode-Archivs mit.
MPEG-Problematik
Um die per DVB transportierten Datenströme auf den Bildschirm zu bringen, müssen sie erst durch die Dekodierung. Dies übernehmen Bibliotheken, die bei manchen Distributionen fehlen. Normalerweise lassen sie sich aber bequem aus einem Repository unter dem Stichwort multimedia saugen. OpenSuse-Besitzer schalten wie anfangs beschrieben das Packman-Repository frei. Welche Bibliotheken Sie genau benötigen, verrät Kaffeine zum Beispiel beim ersten Start und bietet zugleich den Download an.
[1] MythTV Homepage:http://mythtv.org
[2] Webseite zu Linux-TV: http://linuxtv.org
[3] DVB-T-Hardware: Tim Schürmann, Marcel Hilzinger, “Glücksspiel”, LinuxUser 12/2007, S. 42
[4] Distribution KnoppMyth: http://mysettopbox.tv/knoppmyth.html
[5] Distribution Mythbuntu: http://www.mythbuntu.org
[6] Bibliothek Libdca: http://www.videolan.org/developers/libdca.html
[7] Multimedia-PC fürs Wohnzimmer: Rene Gäbler, “Marke Eigenbau”, LinuxUser 12/2007, S. 38






