Ubuntu HD VDR mittels Xine und VDPAU - VDR
Downloadverzeichnis vorbereiten
mkdir -p /data/installfiles/vdr
Installationsmedien herunterladen
cd /data/installfiles/vdr wget ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.18.tar.bz2
Videoverzeichnis vorbereiten
In diesem Verzeichnis werden später die VDR Aufnahmen abgelegt.
mkdir -p /data/vdrrecords cd / sudo ln -s /data/vdrrecords/ video
Installation VDR
VDR Verzeichnis vorbereiten und Installationsmedien entpacken
sudo su -
cd /usr/local/src tar -xjf /data/installfiles/vdr/vdr-1.7.18.tar.bz2 ln -s vdr-1.7.18/ vdr
Make.config erstellen und anpassen
cd /usr/local/src/vdr cp -a Make.config.template Make.config vi Make.config LOCDIR = /usr/local/src/vdr/locale PLUGINDIR= /usr/local/src/vdr/PLUGINS
VDR Konfigurationen ablegen
cd /usr/local/src/vdr cp -a svdrpsend.pl /usr/local/bin mkdir -p /etc/vdr/plugins /var/vdr mv *.conf /etc/vdr mv channels.conf.cable /etc/vdr mv channels.conf.terr /etc/vdr
Shutdownskript erstellen und ablegen
cd /usr/local/bin vi vdrpoweroff.sh #!/bin/bash sudo /sbin/poweroff
und anschließend das Skript ausführbar machen:
cd /usr/local/bin chmod +x vdrpoweroff.sh
sudoers erweitern
Das Skript muss mit root-Rechten ausgeführt werden. Passt man sudoers wie hier gezeigt an, kann vdruser ohne zusätzliche Passworteingabe mit root-Rechten arbeiten. Achtung! Der untiger Eintrag muss als letzte Zeile hinzugefügt werden.
visudo vdruser ALL=(ALL) NOPASSWD: /usr/local/bin/vdrpoweroff.sh,/sbin/poweroff
Installation VDR
cd /usr/local/src/vdr make REMOTE=LIRC && make plugins && make install
exit
Fehlermeldung nach erfolgreicher VDR Installation
Falls nach der VDR Installation folgende "Fehlermeldung" auftaucht kann diese ignoriert werden:
cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-dvbsddevice.so.1.7.18“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-dvbsddevice.so.1.7.18“ sind die gleiche Datei cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-hello.so.1.7.18“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-hello.so.1.7.18“ sind die gleiche Datei cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-osddemo.so.1.7.18“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-osddemo.so.1.7.18“ sind die gleiche Datei cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-pictures.so.1.7.18“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-pictures.so.1.7.18“ sind die gleiche Datei cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-skincurses.so.1.7.18“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-skincurses.so.1.7.18“ sind die gleiche Datei cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-status.so.1.7.18“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-status.so.1.7.18“ sind die gleiche Datei cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-svccli.so.1.7.18“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-svccli.so.1.7.18“ sind die gleiche Datei cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-svcsvr.so.1.7.18“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-svcsvr.so.1.7.18“ sind die gleiche Datei cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-svdrpdemo.so.1.7.18“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-svdrpdemo.so.1.7.18“ sind die gleiche Datei make: *** [install-plugins] Fehler 1
VDR mittels runvdr starten
Das Skript runvdr wird benötigt um die DVB Treiber sowie den VDR zu starten.
runvdr anpassen
cd /usr/local/bin sudo vi runvdr
#!/bin/bash # runvdr: Loads the DVB driver and runs VDR # # If VDR exits abnormally, the driver will be reloaded # and VDR restarted. # # In order to actually use this script you need to implement # the functions DriverLoaded(), LoadDriver() and UnloadDriver() # and maybe adjust the VDRPRG and VDRCMD to your particular # requirements. # # Since this script loads the DVB driver, it must be started # as user 'root'. Add the option "-u username" to run VDR # under the given user name. # # Any command line parameters will be passed on to the # actual 'vdr' program. # # See the main source file 'vdr.c' for copyright information and # how to reach the author. # # $Id: runvdr 2.0 2006/05/14 16:02:05 kls Exp $ export LANG=de_DE.utf8 export LC_COLLATE=de_DE.utf8 PATH=/usr/local/bin:$PATH VDRPRG="/usr/local/bin/vdr" VDRCMD="$VDRPRG -w 60 -c /etc/vdr -E /var/vdr -u vdruser \ -L /usr/local/src/vdr/PLUGINS/lib \ -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() { return 0 } # Unload all DVB driver modules loaded in LoadDriver(): function UnloadDriver() { return 0 } # 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" done
runvdr Skript ausführbar machen
cd /usr/local/bin sudo chmod +x runvdr
runvdr Skript als User root starten
Damit der vdruser das runvdr Skript ausführen kann benötigt dieser root Rechte. Achtung! Der untiger Eintrag muss als letzte Zeile hinzugefügt werden.
sudo visudo vdruser ALL=(ALL) NOPASSWD: /usr/local/bin/runvdr,/usr/local/bin/vdr,/usr/bin/killall
VDR auf non-root User umstellen
sudo chown -R vdruser.vdruser /usr/local/src/vdr sudo chown -R vdruser.vdruser /usr/local/src/vdr/ sudo chown -R vdruser.vdruser /etc/vdr/ sudo chown -R vdruser.vdruser /var/vdr/ sudo chown -R vdruser.vdruser /usr/local/bin/runvdr sudo chown -R vdruser.vdruser /usr/local/bin/svdrpsend.pl sudo chown -R vdruser.vdruser /usr/local/bin/vdr sudo chown -R vdruser.vdruser /usr/local/bin/vdrpoweroff.sh
remote.conf erstellen
cd /etc/vdr vi remote.conf KBD.Up 00000000001B4F41 KBD.Down 00000000001B4F42 KBD.Menu 0000001B5B31397E #F8 KBD.Ok 000000000000000D #Enter KBD.Back 000000001B5B347E #Backspace KBD.Left 00000000001B4F44 KBD.Right 00000000001B4F43 KBD.Red 00000000001B4F50 #F1 KBD.Green 00000000001B4F51 #F2 KBD.Yellow 00000000001B4F52 #F3 KBD.Blue 00000000001B4F53 #F4 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 0000001B5B32347E #F12 KBD.Volume+ 000000000000002B #+ KBD.Volume- 000000000000002D #- KBD.Mute 0000001B5B32307E #F9
VDR in den Autostart
Damit der VDR zukünftig automatisch mit der grafischen Oberfläche startet muss das runvdr Skript in den Autostart hinzugefügt werden.
- System -> Einstellungen -> Startprogramme -> Hinzufügen ->
Name: VDR Befehl: /usr/local/bin/runvdr Kommentar: VDR Startskript
VDR auf Lauffähigkeit überprüfen
Achtung! Bei diesen Test´s wird noch kein TV Bild angezeigt. Hier wird erstmal die grundsätzliche Lauffähigkeit des VDR´s geprüft. Sobald der VDR ordnungsgemäß läuft gehts mit den nächsten Schritten und dem Ausgabeplugin für den VDR weiter.
VDR manuell starten und Log überprüfen
Am besten ist Ihr macht euch zwei SSH Session´s auf euren VDR auf.
SSH Session 1
Hier wird das VDR Log geöffnet:
tail -f /var/log/user.log
SSH Session 2
Hier wird der VDR manuell gestartet:
/usr/local/bin/runvdr
VDR Logausgabe
Jetzt könnt Ihr auf der "SSH Session 1" genau mitverfolgen was der VDR macht. Wenn der VDR ordnungsgemäß läuft sollte es so aussehen:
Mar 14 18:52:39 vdr vdr: [6838] VDR version 1.7.18 started Mar 14 18:52:39 vdr vdr: [6838] codeset is 'UTF-8' - known Mar 14 18:52:39 vdr vdr: [6838] found 28 locales in /usr/local/src/vdr/locale Mar 14 18:52:39 vdr vdr: [6838] no locale for language code 'por' Mar 14 18:52:39 vdr vdr: [6838] creating directory /etc/vdr/themes Mar 14 18:52:39 vdr vdr: [6838] loading /etc/vdr/sources.conf Mar 14 18:52:39 vdr vdr: [6838] loading /etc/vdr/diseqc.conf Mar 14 18:52:39 vdr vdr: [6838] loading /etc/vdr/channels.conf Mar 14 18:52:39 vdr vdr: [6838] loading /etc/vdr/svdrphosts.conf Mar 14 18:52:39 vdr vdr: [6838] loading /etc/vdr/remote.conf Mar 14 18:52:39 vdr vdr: [6838] loading /etc/vdr/keymacros.conf Mar 14 18:52:39 vdr vdr: [6840] video directory scanner thread started (pid=6838, tid=6840) Mar 14 18:52:39 vdr vdr: [6841] video directory scanner thread started (pid=6838, tid=6841) Mar 14 18:52:39 vdr vdr: [6838] registered source parameters for 'A - ATSC' Mar 14 18:52:39 vdr vdr: [6838] registered source parameters for 'C - DVB-C' Mar 14 18:52:39 vdr vdr: [6838] registered source parameters for 'S - DVB-S' Mar 14 18:52:39 vdr vdr: [6838] registered source parameters for 'T - DVB-T' Mar 14 18:52:39 vdr vdr: [6838] probing /dev/dvb/adapter0/frontend0 Mar 14 18:52:39 vdr vdr: [6838] creating cDvbDevice Mar 14 18:52:39 vdr vdr: [6838] new device number 1 Mar 14 18:52:39 vdr vdr: [6841] video directory scanner thread ended (pid=6838, tid=6841) Mar 14 18:52:39 vdr vdr: [6840] video directory scanner thread ended (pid=6838, tid=6840) Mar 14 18:52:39 vdr vdr: [6838] frontend 0/0 provides DVB-S2 with QPSK ("STV090x Multistandard") Mar 14 18:52:39 vdr vdr: [6843] tuner on frontend 0/0 thread started (pid=6838, tid=6843) Mar 14 18:52:39 vdr vdr: [6844] section handler thread started (pid=6838, tid=6844) Mar 14 18:52:39 vdr vdr: [6838] probing /dev/dvb/adapter0/frontend1 Mar 14 18:52:39 vdr vdr: [6838] creating cDvbDevice Mar 14 18:52:39 vdr vdr: [6838] new device number 2 Mar 14 18:52:39 vdr vdr: [6838] frontend 0/1 provides DVB-S2 with QPSK ("STV090x Multistandard") Mar 14 18:52:39 vdr vdr: [6846] tuner on frontend 0/1 thread started (pid=6838, tid=6846) Mar 14 18:52:39 vdr vdr: [6847] section handler thread started (pid=6838, tid=6847) Mar 14 18:52:39 vdr vdr: [6838] found 2 DVB devices Mar 14 18:52:39 vdr vdr: [6838] setting primary device to 1 Mar 14 18:52:39 vdr vdr: [6838] device 1 has no MPEG decoder Mar 14 18:52:39 vdr vdr: [6838] assuming manual start of VDR Mar 14 18:52:39 vdr vdr: [6838] SVDRP listening on port 6419 Mar 14 18:52:39 vdr vdr: [6838] setting current skin to "sttng" Mar 14 18:52:39 vdr vdr: [6838] loading /etc/vdr/themes/sttng-default.theme Mar 14 18:52:39 vdr vdr: [6848] LIRC remote control thread started (pid=6838, tid=6848) Mar 14 18:52:39 vdr vdr: [6838] remote control LIRC - keys known Mar 14 18:52:39 vdr vdr: [6838] remote control KBD - keys known Mar 14 18:52:39 vdr vdr: [6849] KBD remote control thread started (pid=6838, tid=6849) Mar 14 18:52:39 vdr vdr: [6838] setting watchdog timer to 60 seconds Mar 14 18:52:39 vdr vdr: [6838] OSD size changed to 720x480 @ 1 Mar 14 18:52:39 vdr vdr: [6838] ERROR: no OSD provider available - using dummy OSD!
Die Error Meldung im Log ist derzeit noch normal da noch kein Ausgabeplugin für das TV Bild installiert ist.
System neu starten und prüfen ob der VDR automatisch gestartet wird
Hiermit ist die VDR INstallation grundsätzlich abgeschlossen. Nach einem System neustart sollte der VDR automatisch gestartet werden. Das könnt Ihr wie oben beschrieben im VDR Log sehen.
sudo init 6