Homepage |
© 2004 - 2007 Hubertus
Sandmann |
VDR installieren | Die Fernbedienung für VDR |
|
Für den Aufbau des Festplatten-Videorecorders (Video Disk Recorder) auf der Basis von Linux und der Software VDR von Klaus Schmidinger reicht prinzipiell ein PC mit Minimalausstattung, bestückt mit einem Prozessor der PII-Klasse ab 64 MByte RAM. In jedem Fall braucht man eine oder mehrere DVB-Karten zum Empfang von digitalen TV-Austrahlungen, entweder per Satellit (DVB-S), kabelgestützt (DVB-C) oder terrestrisch (DVB-T).
Die VDR-Software kann mit bis zu 4 DVB-Karten umgehen. Bei mindestes einer der Karten muss es sich um eine so genannte Full-Featured-Karte wie die Hauppauge Nexus oder deren Vorgängern und kompatiblen Karten mit aktiven MPEG-Decoderchip und TV-Ausgang handeln. Für die weiteren Karten lassen sich preiswertere Budget-Karten wie etwa die Hauppage Nova und baugleiche Karten nutzen. Die Ausgabe von Bild und Ton erfolgt im einfachsten Fall direkt über den FBAS-Ausgang und die Stereo-Klinkenbuchse der DVB-Karte.
Die Steuerung kann vollständig per Fernbedienung an Hand eines ins Bild eingeblendeten Menüs (OSD) erfolgen. Aufnahmen von digitalen TV-Sendungen lassen sich komfortabel auf der Basis der vom EPG (Electronic Programm Guide) übermittelten Daten realisieren. Ebenfalls ist ein Videoschnitt um z. B. Werbeeinblendungen in den digitalen Aufnahmen auszublenden möglich. Wie bei einer digitalen Aufnahme nicht anders zu erwarten, ist die Bildqualität der Wiedergabe hervorragend, da die MPEG-Daten verlustfrei abgespeichert werden. 1 GByte Speicherplatz auf der Festplatte reichen dabei für rund eine 1/2 Stunde Aufnahmedauer.
Mit der Hilfe von Plugins lässt sich der Funktionsumfang vielfältig erweitern. Die zusätzlichen Nutzung als DVD-Player sind nur ein kleiner Ausschnitt der umfangreichen Möglichkeiten. Ebenso das automatisierte Konvertieren von Aufnahmen für das Erstellen von Video-DVDs. Das offene Konzept von VDR ermöglicht die Entwicklung zu einer universellen Multimediazentrale fürs Wohnzimmer. Dahinter steckt der Gedanke von Open Source und freier Software. Dies alles sollte Grund genug sein, sich einmal mit dem Betriebssystem Linux zu beschäftigen. Es lohnt sich!
Dieses Dokument beinhaltet die Beschreibung zur Installation der aktuellen stabilen Version 1.4.6. Diese Version bietet neben Features wie Timeshift und gleichzeitiger Aufnahme mehrerer Sendungen vom gleichen Transponder mit nur einer einzigen DVB-Karte zusätzliche Leistungsmerkmale wie den lang ersehnten Sendersuchlauf und Unterstützung für VPS (Video Programming Service). Zu den allgemeinen Verbesserungen bzgl. des CAM-Supports kommt das automatische Umschalten im Zusammenhang mit lokalen Fensterprogrammen einiger Dritter Regionalprogramme.
Voraussetzung für eine erfolgreiche Übersetzung der Quellen sind entweder ein Kernel in der Version 2.4.X oder wie bei einer SuSE 9.3 ein Kernel der Version 2.6.X. Zudem müssen die passenden Kernelquellen kernel-source nachinstalliert werden. Gleiches gilt für Tools wie autoconf und automake und natürlich der Compiler zum Übersetzen von Quelltexten. Dazu installiert man am bequemsten mittels YaST die Pakete C/C++ Compiler und Werkzeuge komplett.
Obwohl bei der SuSE-9.3-Distribution ältere Pakete von vdr und den DVB-Treibern bereits vorhanden sind, nutze ich diese nicht um die Möglickeit zu haben, die aktuellen Versionen zu installieren. Dazu deaktiviert man die Dienste vdr und dvb mittels YaST im Runlevel-Editor und führt anschließend die folgenden Installationsschritte als Systemadministrator root durch.
Für die DVB-Karten braucht man den entprechenden Treiber, welcher
ursprünglich von der Firma Convergence entwickelt und als freie
Software auf http://linuxtv.org/
der Allgemeinheit zur Verfügung gestellt wird. Ich nutzte die Version, welche
vom Entwickler der VDR-Software zum Download http://www.cadsoft.de/vdr/download.htm angeboten wird. Die
Installation des Treibers erfolgt beispielsweise aus dem Verzeichnis
/usr/local/src
heraus.
cd /usr/local/src tar xfj hg-v4l-dvb-7b2efa772750.tar.bz2 ln -nfs hg-v4l-dvb-7b2efa772750 DVB cd /usr/local/src/DVB make make installNun muss noch die passende Firmware für die TechnoTrend-basierten Full-Featured Karten installiert werden. Entsprechende Firmwaredateien erhält man bei http://LinuxTV.org/downloads/firmware/. Bei einer SuSE-9.3-Distribution geschieht dies folgendermaßen:
cp dvb-ttpci-01.fw-2622 /usr/lib/hotplug/firmware cd /usr/lib/hotplug/firmware ln -nfs dvb-ttpci-01.fw-2622 dvb-ttpci-01.fw
Die Treiber können danach probehalber geladen werden mit:
cd /usr/local/src/DVB/v4l scripts/insmod.sh loadEin Sender wird zu diesem Zeitpunkt noch nicht eingestellt, sondern erst später mit dem erfolgreichen Start der VDR-Software.
Die aktuelle stabile Version der VDR-Software kann von http://www.cadsoft.de/vdr/download.htm downgeloaded werden.
Die Übersetzung dieser Software erfolgt beispielsweise aus dem Verzeichnis
/usr/local/src
heraus. Vor der Übersetzung des Quelltextes sind
ggf. noch die Pakete libjpeg und libjpeg-devel sowie libcap
vom Installationsmedium der Distribution nachzuinstallieren.
cd /usr/local/src tar xfj vdr-1.4.6.tar.bz2 ln -nfs vdr-1.4.6 VDR cd VDR make make installBei der vollständigen Installation der VDR-Software wird das Binary
vdr
und auch das Skript runvdr
in das Verzeichnis
/usr/local/bin
kopiert. Für die Bedienung ist die Steuerung mit der
Tastatur vorgesehen. Das Verzeichnis /video
wird bei der
Installation automatisch erzeugt, sofern es nicht bereits vorher existierte.
Hierin werden später die aufgezeichneteten Video-Dateien gespeichert. Die
entsprechende Partition sollte daher ausreichend groß sein.
Gleichzeitig werden bei der Installation noch die vorgefertigten
Konfigurationsdateien in das zuvor erstellte Verzeichnis /etc/vdr
,
welches ich für die Konfigurationsdateien vorgesehen habe, kopiert. Es wird hier
ebenfalls noch ein Unterverzeichnis für die EPG-Daten sowie ggf. später genutzte
Plugins angelegt.
cp svdrpsend.pl /usr/bin mkdir -p /etc/vdr/plugins /var/vdr cp *.conf /etc/vdrHierbei gilt es zu beachten, dass sich das Format der channels.conf gegenüber der Vorgängerversion geändert hat. Falls man die bisherige Datei weiter verwenden möchte, wird diese von der VDR-Software entsprechend angepasst. Da der Sendersuchlauf ständig im Hintergrund arbeitet, fügt er die neu aufgefundenen Kanäle am Ende der channels.conf an. Um die Übersicht nicht zu verlieren, fügt man am besten ein Zeile wie die folgende am Ende der Datei an, so dass diese ab Kanalnummer 1000 erscheinen.
:@1000 Neue Sender
Anschließend wird die Software testweise aus dem aktuellen Verzeichnis heraus gestartet und kann nach einmaligem Anlernen mit der Tastatur bedient werden. Der Aufruf aus einem Konsolenfenster kann auch später sehr hilfreich sein, da hierbei ggf. ausführliche Fehlermeldungen erscheinen. Zuvor sind noch einige Umgebungsvariablen passend zu setzen, weil die VDR-Software nicht mit der Zeichenkodierung der SuSE-9.3 zurecht kommt.
export LANG=de_DE.iso8859-1 export LC_CTYPE=de_DE.iso8859-1 /usr/local/bin/vdr -c /etc/vdr -E /var/vdrZm Beenden verwendet man die Tastenkombination STRG+c.
Beim ersten Aufruf der VDR-Software geht das Programm in den Lernmodus um die
Tasten zur Steuerung der VDR-Funktionen wunschgemäß zuzuordnen. Während der
Lernphase kann man Korrekturen durchführen oder vorzeitig abbrechen. Das
Ergebnis wird dann in der Datei /etc/vdr/remote.conf
gespeichert.
Möchte man sich das Anlernen sparen, lässt sich auch diese Beispieldatei mit den
wichtigsten Funktionen verwenden. Der Inhalt stimmt mit der in der Dokumentation
des VDR empfohlenen Belegung für die Tastatursteuerung überein. Für ein erneutes
Anlernen kann man die Datei einfach löschen und VDR geht wieder in den
Lernmodus.
KBD.Up 00000000001B4F41 KBD.Down 00000000001B4F42 KBD.Menu 000000001B5B317E KBD.Ok 000000000000000D KBD.Back 000000001B5B347E KBD.Left 00000000001B4F44 KBD.Right 00000000001B4F43 KBD.Red 00000000001B4F50 KBD.Green 00000000001B4F51 KBD.Yellow 00000000001B4F52 KBD.Blue 00000000001B4F53 KBD.0 0000000000000030 KBD.1 0000000000000031 KBD.2 0000000000000032 KBD.3 0000000000000033 KBD.4 0000000000000034 KBD.5 0000000000000035 KBD.6 0000000000000036 KBD.7 0000000000000037 KBD.8 0000000000000038 KBD.9 0000000000000039 KBD.Power 0000000000000070 KBD.Volume+ 000000000000002B KBD.Volume- 000000000000002D KBD.Mute 000000000000006DDie VDR-Software bietet die praktische Möglichkeit den Rechner nach einer bestimmten Zeit der Inaktivität und wenn keine Aufnahmen anstehen den Rechner automatisch oder aber auch per Tastendruck herunterzufahren. Man erstellt dazu lediglich ein kleines Skript, welches diese Aufgabe erledigt und beispielsweise unter dem Namen
vdrpoweroff.sh
im Verzeichnis
/usr/local/bin
angelegt wird und folgenden Inhalt hat: #!/bin/bash /sbin/poweroffDas Skript muss ausführbar gemacht werden.
chmod +x /usr/local/bin/vdrpoweroff.shSpäter muss nur noch die Option für den automatischen Shutdown im Skript
/usr/local/bin/runvdr
ergänzt werden. Die VDR-Software startet nur, wenn auch die DVB-Treiber geladen sind. Ein
geeigneter Weg dies zu gewährleisten ist, das Skript
/usr/local/bin/runvdr
dafür zu nutzen. Ruft man dieses als
root auf, lädt es die Treiber bei Bedarf automatisch und startet dann
die VDR-Software. Ausserdem sorgt es durch Aktivieren der internen
Watchdog-Funktion dafür, dass eine im Fehlerfall abgestürzte VDR-Software und
auch die DVB-Treiber im Bedarfsfall selbstständig innerhalb einer Minute wieder
neu gestartet werden. Ebenso nutzt man das freie Terminal 8 als kontrollierendes
Terminal. Auch könnte man hier die Option --vfat hinzufügen, wenn man
beispielsweise auf einer FAT32-Partition des Betriebssystems Windows aufzeichnen
will, oder aber auch, sobald man später einmal die gespeicherten Files zur
späteren Bearbeitung etwa mittels samba im Windows-Netzwerk exportieren
will. Dazu macht man einige Ergänzungen und Änderungen in der Datei
/usr/local/bin/runvdr
. Hierbei passt man auch die Pfade zum
Startskript der DVB-Treiber und zum VDR-Programm an.
export LANG=de_DE.iso8859-1 export LC_CTYPE=de_DE.iso8859-1 VDRPRG="/usr/local/bin/vdr" VDRCMD="$VDRPRG -t /dev/tty8 -w 60 -c /etc/vdr -E /var/vdr \ --vfat -s /usr/local/bin/vdrpoweroff.sh $*" KILL="/usr/bin/killall -q -TERM" # Detect whether the DVB driver is already loaded # and return 0 if it *is* loaded, 1 if not: function DriverLoaded() { return 1 } # Load all DVB driver modules needed for your hardware: function LoadDriver() { cd /usr/local/src/DVB/v4l scripts/insmod.sh load } # Unload all DVB driver modules loaded in LoadDriver(): function UnloadDriver() { cd /usr/local/src/DVB/v4l scripts/insmod.sh unload } # Load driver if it hasn't been loaded already: if ! DriverLoaded; then LoadDriver fi while (true) do eval "$VDRCMD" if test $? -eq 0 -o $? -eq 2; then exit; fi echo "`date` reloading DVB driver" $KILL $VDRPRG sleep 10 UnloadDriver LoadDriver echo "`date` restarting VDR" doneHier wird die VDR-Software mit den allumfassenden Rechten des Superusers root ausgeführt. Solange der Rechner nicht ohne Firewall ständig mit dem Internet verbunden ist, dürfte diese Vorgehensweise vertretbar sein.
Testweise kann man jetzt das Startskript als root aufrufen.
/usr/local/bin/runvdrSo ist auf einem Rechner mit graphischer Oberfläche schon einmal die Bedienung mittels der Programme kvdr oder xawtv möglich, die bei einer aktuellen SuSE-Distribution mitgeliefert werden.
Damit nun auch die VDR-Software samt DVB-Treiber automatisch bei jedem
Hochfahren des Rechners startet, kann man am Ende der Datei
/etc/inittab
z. B. folgende Zeile hinzufügen.
vdr:35:once:/usr/local/bin/runvdr
Das OSD der VDR-Software war bislang eher auf nüchterne Funktionalität ausgerichtet. Mit der aktuellen Version von VDR lassen sich neue Oberflächen in Form von zusätzlichen Skins und Themes einbinden. Im Menüpunkt -> Einstellungen für das OSD kann man zu den installierten Skins jeweils ein passendes Theme auswählen.
Neben den bereits standardmäßig enthaltenen Skins kann man die erweiterten Möglichkeiten des Designs beispielsweise mit der Hilfe des Plugins von http://linux.kompiliert.net/ nutzen. Weitere Skins werden z. B. auf http://vdrskins.org/ veröffentlicht. Hierbei ist darauf zu achten, dass diese zu der verwendeten Version des Plugins passen. Auch gibt es Skins, welche nur für modifizierte DVB-Karten mit erweitertem Speicher geeignet sind. Für eine zügige Darstellung der aufwändigen Menüs ist zudem ein schneller Rechner erforderlich.
Zur Fehlersuche, sowohl beim Laden des DVB-Treibers als auch beim Betrieb der VDR-Software, ist ein Blick in die Logdatei sehr nützlich. Hierzu kann man als root die laufenden Meldungen in einer geöffneten Konsole mitlesen.
tail -f /var/log/messagesAlternativ kann man zur Beobachtung auch von der graphischen Oberfläche mit der Tastenkombination STRG+ALT+PF10 umschalten bzw. von der Textkonsole aus mit ALT+PF10.
Als weitere Hilfestellung neben der beigefügten Dokumentation im Quellpaket wie README, INSTALL und MANUAL ist die Manpage auf dem System verfügbar und kann aufgerufen werden.
man vdrGleiches gilt für den Abschnitt 5 mit den Erläuterungen zum Format der einzelnen Konfigurationsdateien.
man 5 vdr
Weitere Hilfe lässt sich auch im deutschsprachigen VDR-Portal unter http://www.vdr-portal.de/ oder auch im VDR-Wiki unter http://www.vdr-wiki.de/ finden.
Das hier vorgestellte Konzept sollte keinesfalls als die einzige Möglichkeit angesehen werden einen vollwertigen Festplatten-Videorecorder mit Hilfe der VDR-Software einzurichten, sondern nur als eine von vielen Möglichkeiten. Mittlerweile gibt eine eine nahezu unüberschaubare Anzahl von Plugins und Addons für VDR. Diese manuell zu installieren ist aufgrund des Umfangs und der Komplexität so mancher Abhängigkeiten sehr mühsam und fehleranfällig. Glücklicherweise gibt es eine sehr rege Fangemeinde rund um VDR, sodass von dieser Seite diverse Hilfestellungen für all diejenigen bereit gestellt werden, die möglichst umfangreiche Zusatzfunktionen nutzen wollen. Hierzu zählt etwa das Installationsskript aus dem Downloadbereich vom VDR-Portal unter http://www.vdr-portal.de/ mit einer einfachen und menügestützten Installation. Gleiches gilt für spezielle auf VDR zugeschnittene Mini-Distributionen, die als bootfähige CD-Images zur Verfügung gestellt werden, wie beispielsweise c'tVDR auf http://www.heise.de/ct/ftp/projekte/vdr/ oder auch LinVDR von http://linvdr.org/.
VDR installieren | Die Fernbedienung für VDR |
Homepage |
© 2004 - 2007 Hubertus
Sandmann |