Mit Linux auf Empfang

Die aktualisierte c't-VDR-Distribution nutzt nun Debian Lenny als Basis. Ein zusätzlicher Kernel und brandneue DVB-Treiber aus den Entwickler-Repositories bringen ihr spürbar verbesserte Hardware-Unterstützung und erlauben erste Versuche mit HDTV.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 16 Min.
Von
Inhaltsverzeichnis

Vor über neun Jahren bot das Programm VDR (Video Disk Recorder) von Klaus Schmidinger erstmals die Möglichkeit, das damals kaum verbreitete digitale Fernsehprogramm auf die Festplatte zu bannen. Voraussetzung war, dass man eine der wenigen digitalen Empfangskarten besaß und die damals noch nicht im Linux-Kernel integrierten DVB-Treiber vom LinuxTV-Projekt selbst übersetzte.

Mit einer Fertig-Distribution wie c't-VDR 7 von der Heft-DVD ist es heute kaum mehr nötig, von Hand einen neuen Kernel oder einzelne Treiber zusammenzupuzzeln. Die speziell auf VDR angepasste Linux-Distribution ist innerhalb weniger Minuten installiert und bringt alles mit, was man braucht, um einen PC in einen komfortablen digitalen Videorecorder mit Schnitt- und Brennfunktion zu verwandeln.

Eine wesentliche Neuerung von c't-VDR 7 ist die Migration auf Debian Lenny als Ausgangsbasis. Die Distribution enthält neben dem Standard-Debian-Kernel 2.6.26 zusätzlich den aktuellen, mit deutlich mehr DVB-Treibern ausgestatteten Linux-Kernel 2.6.28 sowie zum Nachrüsten ein umfangreiches Treiberpaket des DVB-Treiber-Entwicklers Igor M. Liplianin. Damit unterstützt c't-VDR 7 neben vielen herkömmlichen digitalen Fernsehkarten auch solche, die HDTV über DVB-S2 empfangen können.

FĂĽr die Installation verwendet c't-VDR 7 den grafischen Debian-Installer, wobei sich die Standardeinstellungen an einigen Stellen von denen der Debian-Distribution unterscheiden.

Der Einsatzbereich der Distribution beschränkt sich nicht auf den digitalen Videorecorder VDR. c't-VDR 7 bietet selbstverständlich auch die Möglichkeit, eine grafische Oberfläche nachzuinstallieren, falls man zum Beispiel plant, direkt am Computer fernzusehen oder den Videorecorder zusätzlich als Desktop-System einzusetzen.

Dank des von Debian Lenny übernommenen grafischen Installers ist es kein Hexenwerk, c't-VDR 7 zu installieren. Allerdings verwendet die VDR-Distribution an einigen Stellen andere Standardeinstellungen als Lenny, etwa bei der Partitionierung: So schlägt der Installer vor, für die Aufnahmen eine eigene Partition anzulegen, die dann im Verzeichnis /var/lib/video.00 eingebunden wird. Auch umfasst die Standard-Installation von c't-VDR 7 keinen Desktop, sodass nach Abschluss der Installation keine grafische Oberfläche zur Verfügung steht.

Möchten Sie den grafischen Desktop später nachinstallieren, rufen Sie dazu das Programm tasksel auf der Kommandozeile auf und wählen dort „Desktop“ aus. Allerdings hat die Installationsroutine keinen Benutzer-Account angelegt, sodass Sie dies von Hand auf der Kommandozeile nachholen müssen, bevor Sie sich an der grafischen Oberfläche einloggen können:

groupadd -g 1000 Benutzername
useradd -m -u 1000 -g 1000 -G dialout,cdrom,floppy,audio,video, \
plugdev Benutzername
passwd Benutzername

Um das Fernsehbild über den Monitor auszugeben, benötigen Sie weder einen kompletten grafischen Desktop wie Gnome noch einen Benutzer-Account. Sie müssen lediglich per ctvdrcfg in der Rubrik „base“ das VDR-Plug-in xineliboutput nachinstallieren. Anschließend fehlt Ihnen noch der Xineliboutput-Client vdr-sxfe, der für die Bildausgabe zuständig ist:

apt-get install xineliboutput-sxfe

Unter den Paketabhängigkeiten befindet sich unter anderem die grafische Oberfläche, die vollautomatisch konfiguriert wird und üblicherweise keine manuellen Anpassungen erfordert. Sind alle Pakete installiert, rufen Sie den Wiedergabe-Client mit folgendem Kommando im Vollbildmodus auf:

xinit -e vdr-sxfe --fullscreen

Eine ausfĂĽhrliche Installationsanleitung zu c't-VDR sowie Details zu den Plug-ins und den verschiedenen Konfigurationsdateien finden Sie auf der Projektseite zu c't-VDR ĂĽber den Link am Ende des Artikels.

Nach einer Standard-Installation verwendet c't-VDR 7 den Debian-Kernel 2.6.26. Diesem fehlen jedoch Treiber für etliche moderne DVB-Empfangskarten, insbesondere solcher mit HDTV-Unterstützung wie zum Beispiel die Hauppauge WinTV Nova HD-S2. Möchten Sie eine solche Karte verwenden, können Sie das Liplianin-Paket mit den neuesten DVB-Treibern aus dem Entwickler-Repository (siehe Link am Ende des Artikels) nachinstallieren:

apt-get install dvb-s2api-liplianin-modules-2.6.26-2-486

Wie bei allen Entwicklerversionen von Software gilt, dass sie eigentlich nicht für den produktiven Einsatz gedacht und meist auch nicht umfassend getestet sind. Als Alternative können Sie das System auf den ebenfalls auf der Heft-DVD enthaltenen Kernel 2.6.28 umstellen, in den bereits viele getestete und für stabil befundene Treiber des Liplianin-Repositories übernommen wurden:

apt-get install linux-image-2.6.28-etobi.3-486 \
lirc-modules-2.6.28-etobi.3-486

Wer den PC rechtzeitig per ACPI zur nächsten Aufnahme aufwecken möchte (Paket vdr-addon-acpiwakeup), der muss in jedem Fall Kernel 2.6.28 installieren. Zudem finden Sie auch für den Kernel 2.6.28 ein entsprechendes Debian-Paket mit den Liplianin-Treibern auf der Heft-DVD, falls Ihnen die Standard-Treiber des Kernels nicht ausreichen.

Die nebenstehende Tabelle zeigt, welche aktuellen DVB-Empfangskarten von Hauppauge, Mystique, Technotrend, TeVii und Pinnacle c't-VDR 7 unterstützt, welche Kernel-Version Sie dafür benötigen und ob die Treiber auch im Liplianin-Paket enthalten sind.

Neben dem passenden Treiber benötigen Sie für die meisten DVB-Empfänger zusätzlich eine Firmware-Datei, die teils beim Laden des Treibers, teils aber auch erst bei Initialisierung des Tuners auf die Karte hochgeladen werden muss. Die Firmwares der meisten DVB-Empfänger sind in der Standard-Installation von c't-VDR enthalten, jedoch nicht für alle. Eine gute Quelle für etwaige fehlende Firmware-Dateien ist das Paket linux-firmware von Ubuntu, das Sie einfach aus dem Ubuntu-Paket-Pool (siehe Link am Artikelende) herunterladen und per dpkg -i linux-firmware*.deb einspielen können. Dabei muss eine neuere Version des Firmware-Pakets nicht zwangsläufig umfassender sein als eine ältere, so enthielt die Version 1.11 des Firmware-Pakets bei Redaktionsschluss mehr Firmware-Dateien als die Version 1.20. Es lohnt sich also im Zweifel, auch ältere Versionen auszuprobieren.

Da Ubuntu die Firmware-Dateien standardmäßig im Verzeichnis /lib/firmware ablegt und nicht wie c't-VDR 7 unter /usr/lib/hotplug/firmware, kommt es zu keinen Kollisionen. Die Firmware-Datei dvb-fe-cx24116.fw, die die DVB-S2-Karte S460 von TeVii sowie die Hauppauge-Karten Nova-HD-S2, HVR-3000 und HVR-4000 benötigen, mussten wir von der TeVii-Homepage herunterladen, da sich die Firmware aus dem Ubuntu-Paket nicht mit den getesteten Karten vertrug.

Auch der USB-Sat-Empfänger TeVii S650 benötigt eine Firmware. Der Linux-Treiber versucht, die Datei dvb-usb-dw2104.fw hochzuladen, die im Firmware-Paket von TeVii jedoch dvb-usb-s650.fw heißt und daher nicht gefunden wird. Für die Inbetriebnahme des Empfängers genügt es, die Firmware-Datei umzubenennen oder einen symbolischen Link anzulegen. Ähnlich ist es beim Hauppauge WinTV MiniStick, dieser benötigt die Firmware-Datei dvb_nova_12mhz_b0.inp, die über den Link am Ende des Artikels unter dem Namen sms1xxx-hcw-55xxx-dvbt-01.fw zu finden ist und ebenfalls umbenannt oder über einen symbolischen Link verknüpft werden muss.

Alle anderen, hier nicht explizit erwähnten, aber in der Tabelle aufgelisteten DVB-Empfänger konnten wir mit den in der Standard-Installation enthaltenen Firmware-Dateien von c't-VDR 7 in Betrieb nehmen – Langzeiterfahrungen haben wir allerdings mit den verschiedenen DVB-Empfängern, Treibern und Firmware-Dateien nicht. Auch wurden nur Empfangskarten und USB-Adapter aufgeführt, die aktuell noch als Neuware im Handel erhältlich sind. Allerdings gibt es mitunter nur noch eine einzige Bezugsquelle in Deutschland, etwa für die meisten Technotrend-Karten, die nur noch DVBShop.net im Programm hat.

Bei VDR gab es seit dem letzten c't-VDR-Release keine wesentlichen Neuerungen, sondern nur einige Detailverbesserungen und Fehlerkorrekturen. Neben den Paket-Updates im Zuge der Umstellung auf Debian Lenny wurden auch einige Plug-ins, die nicht mehr weiterentwickelt werden und an denen kein besonderes Interesse besteht, aus c't-VDR 7 entfernt. Dies betrifft vdr-plugin-calc, vdr-plugin-fussball und vdr-plugin-mldonkey. vdr-plugin-dvdswitch und vdr-plugin-devstatus ersetzen zudem vdr-plugin-dvdselect und vdr-plugin-recstatus. Grundlage dieser Entscheidung war eine im letzten Jahr durchgeführte Umfrage, in der etwa 500 VDR Nutzer ihre bevorzugten Plug-ins wählen und kommentieren konnten.

Neu hinzu gekommen ist das Webvideo-Plug-in. Diese VDR-Erweiterung des finnischen Entwicklers Antti Ajanki erlaubt es, in populären Video-Sharing-Websites wie zum Beispiel YouTube zu stöbern, Videos herunterzuladen und diese wiederzugeben. Das Abspielen der Videos funktioniert jedoch nur bei VDR-Installationen, die das Xineliboutput-Plug-in verwenden. Die Wiedergabe über eine eingebaute Full-Featured-Karte, die das Fernsehbild selbst dekodiert und über die Video-Anschlüsse ausgibt, ist nur eingeschränkt möglich: Zwar lädt das Webvideo-Plug-in die Videos herunter und speichert sie in /var/lib/video/webvideo, sodass man sie theoretisch auch mit dem Mplayer-Plug-in auf einer DVB-Karte mit TV-Ausgang wiedergeben könnte, jedoch funktioniert der Mplayer hier nicht zuverlässig bei jedem Video.

Die wirklich interessanten Dinge passieren derzeit im VDR-Entwicklerzweig bei Version 1.7. Sie drehen sich in erster Linie um das Thema HDTV. Ein erster wichtiger Meilenstein hin zum HDTV-fähigen VDR war die Unterstützung des DVB-S2-Standards. Dabei handelt es sich um eine Weiterentwicklung des digitalen Fernsehempfangs per Satellit, welche die für HDTV nötigen höheren Datenraten ermöglicht.

Bei den für DVB-S2 nötigen Erweiterungen des Kernels konkurrierten zwei verschiedene Ansätze, die Multiproto-Treiber und das S2API. Inzwischen hat sich das S2API durchsetzen können und ist seit Version 2.6.28 in den Standard-Kernel aufgenommen worden. Richtig rund laufen die S2API-Treiber aber erst im derzeit in Entwicklung befindlichen Kernel 2.6.30 oder mit den aktuellen Treibern aus dem schon erwähnten Liplianin-Repository.

VDR führt mit der aktuellen Entwicklerversion auch ein neues Aufzeichnungsformat ein. Statt wie bisher im PES-Format (Packetized Elementary Stream) speichert das VDR den DVB-Datenstrom nun im TS-Format (Transport Stream). Aufnahmen im alten Format kann VDR aber auch weiterhin abspielen und schneiden. Darüber hinaus dürfen Videodateien inzwischen bis zu 1 TByte groß werden – bisher lag das Maximum bei 2 GByte.

Auf Grund der umfangreichen Änderungen wird die kommende stabile Version voraussichtlich auch gleich einen Sprung auf die Versionsnummer 2.0 machen. Bis zum Erscheinen eines stabilen HDTV-fähigen VDR 2.0 dürfte jedoch noch einige Zeit ins Land gehen. Momentan arbeitet Klaus Schmidinger unter anderem noch an einem flexibleren OSD, das 32 Bit Farbtiefe erlaubt und sich an Größe und Auflösung des Ausgabegeräts anpasst. Zudem will er die DVB-Karten-Unterstützung in separate Plug-ins auslagern. Weiterhin steht noch die Integration von Patches, die einige spezielle Plug-ins benötigen, auf der Agenda.

Wer den aktuellen Entwicklungsstand von VDR selbst testen möchte, findet die Entwicklerversion 1.7.7 im Paket vdrdevel auf der Heft-DVD. Wie schon bei der Entwicklung von VDR 1.5 werden die vdrdevel-Plug-in-Pakete mittels eines eigens dafür von Thomas Günther entwickelten Skripts aus denselben Debian-Paket-Quellen gebaut, wie die für die stabile VDR-Version 1.6. Allerdings stehen noch nicht alle Plug-ins für VDR 1.6 auch für die Entwicklerversion 1.7.7 zur Verfügung. Die Installation von VDR 1.7.7 muss nebst der gewünschten Plug-ins von Hand erfolgen:

apt-get install vdrdevel  vdrdevel-plugin-xineliboutput

Dabei müssen Sie beachten, dass VDR 1.7.7 in jedem Fall die aktuellen DVB-Treiber mit S2API aus dem Liplianin-Repository 2.6.28 benötigt. Mit Kernel 2.6.26 und den Standard-DVB-Treibern funktioniert die VDR-Entwicklerversion nicht und bei den Treibern aus Kernel 2.6.28 ist es nicht möglich, auf HDTV-Kanäle umzuschalten.

Um VDR 1.7.7 mit Fernbedienung oder Tastatur bedienen zu können, müssen Sie folgende Zeilen an die Datei /etc/default/vdrdevel anfügen:

KEYB_TTY="/dev/tty8"
KEYB_TTY_SWITCH=1

Die Tastenbelegung können Sie von VDR 1.6 übernehmen:

ln -sf /var/lib/vdr/remote.conf /var/lib/vdrdevel/

Ist die Entwicklerversion einmal installiert, kann man wie gewohnt bequem ĂĽber das VDR-Befehle-MenĂĽ zwischen der stabilen und der Entwicklerversion umschalten. Sie mĂĽssen allerdings beachten, dass sich beide VDR-Versionen ein Aufnahmeverzeichnis teilen und VDR 1.6 Aufnahmen, die die Entwicklerversion im neuen TS-Format angelegt hat, nicht abspielen kann.

Eine entsprechend starke CPU und Grafikkarte vorausgesetzt, können Sie mit der Entwicklerversion von VDR sowie dem Paket vdrdevel-plugin-xineliboutput sogar erste Gehversuche mit HDTV unternehmen. Das funktioniert sowohl bei der lokalen Ausgabe über die Grafikkarte als auch über eine schnelle Netzwerkverbindung mit dem Xineliboutput-Client vdr-sxfe.

Für einen vernünftigen HDTV-Videorecorder ist allerdings mehr nötig, als nur VDR 1.7.7 zu installieren. Die Dekodierung und Darstellung von hochauflösenden Fernsehbildern lastet ohne zusätzliche Hardware-Unterstützung auch eine CPU mit mehr als 2 GHz vollständig aus. Das macht sich nicht nur bei der Stromrechnung bemerkbar, sondern bedeutet auch einen erheblichen technischen und finanziellen Aufwand, wenn man einen solchen Rechner mit leiser Kühltechnik für den Wohnzimmereinsatz ausstatten will.

Einen entsprechend leistungsfähigen Rechner und die passende Grafikkarte vorausgesetzt, ermöglicht die Entwicklerversion VDR 1.7.7 erste HDTV-Versuche.

Derzeit gibt es zwei Lösungsansätze zur Hardware-unterstützten Dekodierung von HDTV: die Reel Extension HD (eHD) von Reel Multimedia und der Einsatz einer Nvidia-Grafikkarte mit Video-Decoding-Unterstützung (VDPAU). Beide Varianten sind derzeit noch ausgewiesene Bastellösungen und erfordern etwas Geduld, um ein funktionierendes HDTV-System zu bekommen.

Die Reel Extension HD ist mit 139 Euro recht teuer im Vergleich zu etwa 50 Euro für eine günstige Nvidia-Grafikkarte mit GeForce-8-Chip, die ebenfalls die CPU beim Dekodieren entlasten kann. Zudem lässt sich die Grafikkarte meist einfacher für die HDTV-Wiedergabe einrichten als die eHD-Karte von Reel Multimedia. Wichtig ist, dass die Grafikkarte von der VDPAU-Schnittstelle (Video Decode and Presentation API for Unix) unterstützt wird. Im VDR-Wiki und im MythTV-Wiki werden einige unterstützte Modelle genannt.

Da Xine diese Schnittstelle bereits unterstĂĽtzt, kann auch VDR mit dem Xine- oder Xineliboutput-Plug-in davon profitieren. So gelingt die HDTV-Wiedergabe sogar mit einem Via-C3-Prozessor mit nur 1 GHz Taktfrequenz bei deutlich unter 50 Prozent CPU-Last.

Derzeit ist die Umgestaltung von VDR zum Media-Center per XBMC noch sehr aufwendig, die Entwickler arbeiten aber schon an einer Lösung des Problems.

HDTV war auch beim diesjährigen VDR-Camp in Kandel eines der zentralen Themen. Dort zeigte Andreas Regel ein HDTV-VDR-System, das mit dem Prototypen einer „Full-Featured-HDTV-Karte“ ausgestattet war. Bei dieser Karte handelt es sich um eine Technotrend S2-6400. Sie ist mit zwei DVB-S2-Tunern und einem Video-Decoder bestückt, sodass man wie bei den altbekannten Full-Featured-Karten den Fernseher direkt an die DVB-Karte anschließen kann und keine leistungsfähige CPU mehr für die HDTV-Wiedergabe benötigt. Möglicherweise kommt die Karte noch im Sommer zu Preisen um oder gar unter 300 Euro in den Handel. Einen konkreten Termin für den Verkaufsstart gibt es jedoch nicht.

Die Bedienung von VDR ähnelt traditionell der eines Fernsehers oder herkömmlichen digitalen Receivers. Für Anwender, die den Media-Center-Ansatz bevorzugen, bei dem Multimedia allgemein und nicht Fernsehen im Mittelpunkt steht, zeichnet sich mit XBMC eine Lösung ab: Das ursprünglich für die Xbox-Spielekonsole von Microsoft entwickelte XBMC Media Center gibt es seit 2007 auch für Linux. Derzeit ist die Installation von XBMC und die Anbindung an VDR alles andere als einfach, die Entwickler arbeiten aber bereits an Verbesserungen. Auch c't-VDR wird XBMC wohl zukünftig enthalten, sobald es sich mit vertretbarem Aufwand installieren lässt. Bis das nächste c't-VDR-Release veröffentlicht wird, erhalten Sie aktualisierte Debian-VDR-Pakete für Lenny und Sid wie immer im vdr-experimental-Repository auf e-tobi.net. Die gleichen Pakete bietet Hanno Zulla übrigens inzwischen auch für Ubuntu an.

www.ctmagazin.de/0913190 (mid)