Drucken
Zugriffe: 48172

Bewertung: 5 / 5

Stern aktivStern aktivStern aktivStern aktivStern aktiv
 

Nach der Lektüre einiger Artikel zum Thema vdr, v.a. in der Zeitschrift c't habe ich es gewagt und auch versucht so ein Gerät zu bauen.
Es sollte aber nicht mit digitalen Signalen (DV-B, DV-C, DV-T) funktionieren, sondern rein analog.

Hardware

MPEG-Encoder

Eine reine TV-Karte tuts leider nicht, da ein Hardware-Encoder benötigt wird, der die analogen Signale in einen digitalen MPEG-Stream verwandelt.

Die meisten Linux-Projekte verwenden dafür die PVR250 (nur Encoder) oder die PVR350 (Encoder + Decoder) von Hauppauge.

Deshalb muss das Board nicht sehr leistungsfähig sein. Es würde auch mit einem 300MHz PII System laufen.

Board

Bei der Auswahl des Boards war mir ziemlich schnell klar, dass es folgende Eigenschaften haben musste:

Letztendlich kam nur in Frage ein Barebone-System (mit dem langsamsten Celeron) oder ein VIA EPIA Mini-ITX Board.

Da ich schon seit über einem Jahr mit dem VIA EPIA 5000 unter Linux 2.4.20 arbeite (bzw. Knoppix 3.1) und damit recht zufrieden bin (keine Lüfter! rein passiv aufgebautes System in einem Morex Cubid Gehäuse) lag es wieder so ein Board zu bestellen.
Da diese nur noch schwer erhältlich sind, ist es ein VIA EPIA M6000 geworden - ein bisschen schneller und ebenfalls ohne Prozessor-Lüfter.

Genauer gesagt habe ich mir das 6000-er Board zu meinem Arbeits-PC gemacht (leider musste ich die Gehäuse-Lüfter aktivieren) und das 5000-er zum VDR-System. Als Gehäuse für den VDR habe ich mir ein VIA Sereniti zugelegt.

Platte

Die Platte muss v.a. gross sein. Deshalb wurde eine 160 GByte Platte von Samsung gekauft. Natürlich mit 5400 Umdrehungen, denn sie sollte auch keinen Lärm verursachen.


 

Software

Da gab es nicht viel zu überlegen: es musste ein Linux-System sein, nämlich das, was auf der c't VDR CD enthalten ist.
Nach stundenlangem Probieren habe ich herausbekommen, dass man sicherheitshalber am Anfang nur das Allernötigste installiert:

Alles andere kann man später ohne weiteres mit apt-get install vdr-plugin-xy nachinstallieren.

Am 2. Abend lief das System, es konnten Filme aufgezeichnet und wieder abgespielt werden - auch gleichzeitig (Time-Shift).
Vorher musste ich allderdings noch mühsam im Internet nach einer channels.conf Datei suchen, in der alle Sender, die es im Münchner Kabelnetz gibt eingetragen sind.

Danach habe ich gleich ein paar interessante Plugins nachinstalliert.

Probleme

Bis jetzt konnte das System nur per Tastatur bedient werden. Der PVR350-Karte liegt aber eine Infrarot-Fernsteuerung bei, die sich viel besser dazu eignen würde.

Mit LIRC können die verschiedensten Fernbedienungen an ein Linux-System angebunden werden. Leider kann man die Hauppauge Fernbedienung (noch) nicht mit dem Standard apt-get Paket installieren. Man muss sich die Sourcen einer neueren LIRC-Version holen und diese compilieren.
Dazu gibt es viele Beschreibungen im Netz. Die wichtigste Info-Quelle ist das VDR-Portal.

Als nach einigem Probieren das Übersetzen der Sourcen gelang, liessen sich die beiden benötigten Kernel-Module lirc_dev und lirc_i2c zwar laden. Aber nach dem ersten Druck auf die Fernbedienung gab es einen schweren Kernel Fehler ("Kernel Oops").

Mein Verdacht war, dass mit dem installierten kernel-image-2.4.24-ctvdr-2 vielleicht etwas nicht in Ordnung war. Dann liess es sich wohl nicht vermeiden selber einen Kernel aus den Sourcen zu erstellen.
Also Kernel-Sourcen heruntergeladen (gut wenn man eine Flat-Rate sein eigen nennt...) und die üblichen Befehle abgesetzt make menuconfig && make dep && make bzImage && make modules && make modules_install. Leider liess sich der so erzeugte Kernel nicht starten.

Warum ??

Nach wiederum längerem Probieren fiel mir auf, dass der Kernel für die i586 Architektur gebaut wurde. V.a. die älteren VIA EPIA Boards verwenden aber eine Mischung aus 386-er und 486-er Befehlssatz. Deshalb wurden alle weitern Kernel-Übersetzungsversuche mit der Einstellung i386=true durchgeführt.
Da ich keinen lauffähigen Kernel produzieren konnte und ich mich zwischenzeitlich auch noch am 2.6.5-er und 2.4.25-er Kernel versucht hatte, bemerkte ich, dass ich einen wichtigen Schritt ausgelassen hatte: mit mkinitrd -o initrd-2.4.25 /lib/modules/2.4.25 wurde aus dem Kernel-Image eine Datei erzeugt, die beim Booten schneller geladen wird. Ich wunderte mich schon, was dieser initrd = /boot/initrd.img Eintrag in lilo.conf zu bedeuten hatte.

Um es kurz zu machen: Mit einem 2.4.25-er Kernel hatte ich schliesslich Erfolg. Die LIRC-Module konnten installiert werden und laufen jetzt problemlos.
(Nur die Codes der 4 Pfeiltasten der Fernbedienung waren nicht korrekt in der Hauppauge-Konfigurationsdatei eingetragen.)

An dieser Stelle möchte ich mich auch bei meiner Frau bedanken, die in vielen langen Nächten auf mich verzichten musste ...


Kosten

Summe: 495 Euro

Stand der Dinge

Wie gesagt, Aufzeichnen und Wiedergeben in akzeptabler Qualität ist möglich. Durch die Time-Shifting Funktionalität ändern sich die Fernsehgewohnheiten etwas. Man ist unabhängiger von dem starren Zeitraster, in welchem Filme angeboten werden. Man kann die Werbepausen überspringen, dazu startet man die Aufzeichnung, schaltet sich aber erst später dazu und kann dann bequem alle Werbepausen überspringen.
Mit dem noad-Plugin ("no advertising"), kann man die Werbepausen eines aufgezeichneten Films markieren und überspringen oder nachträglich ausschneiden. Funktioniert erstaunlich zuverlässig.

Über eine Netzwerkverbindung (nfs) kann ich von meinem Arbeits-PC auf den VDR zugreifen und mir Filme ansehen.

Ferner kann ich den VDR über das Web-Admin Tool bequem programmieren und mit einer virtuellen Fernbedienung fernsteuern. Nur der Live-Preview geht nicht.

Offene Punkte

Folgende Funktionen möchte ich noch gerne zum Laufen bringen:

Wie man sieht ist der Aufbau eines VDR etwas mühevoll. Am Ende hat man aber für nicht allzuviel Geld ein flexibles, erweiterbares System.
So ganz nebenbei wird man auch zum Linux-Experten ;-)

Buchtipp

56-seitige Leseprobe