Ubuntu HD VDR mittels Xine und VAAPI - VDR Rev2
Inhaltsverzeichnis |
Installationsmedien herunterladen
cd /data wget ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.22.tar.bz2 tar xf vdr-1.7.22.tar.bz2 ln -s vdr-1.7.22 vdr
Videoverzeichnis vorbereiten
In diesem Verzeichnis werden später die VDR Aufnahmen abgelegt.
mkdir /video chown vdruser:vdruser /video
Installation VDR
Make.config erstellen und anpassen
cd /data/vdr cp Make.config.template Make.config vi Make.config
LOCDIR = /data/vdr/locale PLUGINDIR= /data/vdr/PLUGINS
VDR Konfigurationen ablegen
cd /soft/vdr sudo cp -a svdrpsend.pl /usr/local/bin sudo mkdir -p /etc/vdr/plugins /var/vdr sudo chown -R vdruser:vdruser /etc/vdr /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.
visudo
vdruser ALL=(ALL) NOPASSWD: /usr/local/bin/vdrpoweroff.sh,/sbin/poweroff
Installation VDR
cd /data/vdr make REMOTE=LIRC make plugins sudo make install
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-dvbhddevice.so.1.7.18“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-dvbhddevice.so.1.7.18“ sind die gleiche Datei 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 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 \ $*" eval "$VDRCMD"
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.
sudo visudo
vdruser ALL=(ALL) NOPASSWD: /usr/local/bin/runvdr,/usr/local/bin/vdr,/usr/bin/killall
Falls nur ein Tuner der TV Karte genutzt wird
Achtung! Falls nur 1 SAT-Kabel an die TV Karte angeschlossen ist kann nur 1 Tuner verwendet werden. Deshalb muss der zweite Tuner für den VDR deaktiviert werden.
Hier die VDR Parameter um einen der Tuner zu deaktivieren:
-D NUM, --device=NUM use only the given DVB device (NUM = 0, 1, 2...) there may be several -D options (default: all DVB devices will be used)
Das "runvdr" Skript könnte folgendermaßen erweitert werden:
cd /usr/local/bin sudo vi runvdr
VDRCMD="$VDRPRG -w 60 -c /etc/vdr -E /var/vdr -D0 -u vdruser \
somit wird nur 1 Tuner der TV-Karte genutzt.
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
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 TV 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/syslog
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:
May 15 12:57:24 vdr vdr: [3733] cTimeMs: using monotonic clock (resolution is 1 ns) May 15 12:57:24 vdr vdr: [3733] VDR version 1.7.18 started May 15 12:57:24 vdr vdr: [3733] codeset is 'UTF-8' - known May 15 12:57:24 vdr vdr: [3733] found 28 locales in /usr/local/src/vdr/locale May 15 12:57:24 vdr vdr: [3733] no locale for language code 'por' May 15 12:57:24 vdr vdr: [3733] loading /etc/vdr/setup.conf May 15 12:57:24 vdr vdr: [3733] loading /etc/vdr/sources.conf May 15 12:57:24 vdr vdr: [3733] loading /etc/vdr/diseqc.conf May 15 12:57:24 vdr vdr: [3733] loading /etc/vdr/channels.conf May 15 12:57:24 vdr vdr: [3733] loading /etc/vdr/svdrphosts.conf May 15 12:57:24 vdr vdr: [3733] loading /etc/vdr/keymacros.conf May 15 12:57:24 vdr vdr: [3735] video directory scanner thread started (pid=3733, tid=3735) May 15 12:57:24 vdr vdr: [3733] reading EPG data from /var/vdr/epg.data May 15 12:57:24 vdr vdr: [3736] video directory scanner thread started (pid=3733, tid=3736) May 15 12:57:24 vdr vdr: [3733] registered source parameters for 'A - ATSC' May 15 12:57:24 vdr vdr: [3733] registered source parameters for 'C - DVB-C' May 15 12:57:24 vdr vdr: [3733] registered source parameters for 'S - DVB-S' May 15 12:57:24 vdr vdr: [3733] registered source parameters for 'T - DVB-T' May 15 12:57:24 vdr vdr: [3733] probing /dev/dvb/adapter0/frontend0 May 15 12:57:24 vdr vdr: [3733] creating cDvbDevice May 15 12:57:24 vdr vdr: [3733] new device number 1 May 15 12:57:25 vdr vdr: [3736] video directory scanner thread ended (pid=3733, tid=3736) May 15 12:57:25 vdr vdr: [3735] video directory scanner thread ended (pid=3733, tid=3735) May 15 12:57:25 vdr vdr: [3733] frontend 0/0 provides DVB-S2 with QPSK ("STV090x Multistandard") May 15 12:57:25 vdr vdr: [3738] tuner on frontend 0/0 thread started (pid=3733, tid=3738) May 15 12:57:25 vdr vdr: [3739] section handler thread started (pid=3733, tid=3739) May 15 12:57:25 vdr vdr: [3733] probing /dev/dvb/adapter1/frontend0 May 15 12:57:25 vdr vdr: [3733] creating cDvbDevice May 15 12:57:25 vdr vdr: [3733] new device number 2 May 15 12:57:25 vdr vdr: [3733] frontend 1/0 provides DVB-S2 with QPSK ("STV090x Multistandard") May 15 12:57:25 vdr vdr: [3741] tuner on frontend 1/0 thread started (pid=3733, tid=3741) May 15 12:57:25 vdr vdr: [3742] section handler thread started (pid=3733, tid=3742) May 15 12:57:25 vdr vdr: [3733] found 2 DVB devices May 15 12:57:25 vdr vdr: [3733] setting primary device to 1 May 15 12:57:25 vdr vdr: [3733] device 1 has no MPEG decoder May 15 12:57:25 vdr vdr: [3733] assuming manual start of VDR May 15 12:57:25 vdr vdr: [3733] SVDRP listening on port 6419 May 15 12:57:25 vdr vdr: [3733] setting current skin to "sttng" May 15 12:57:25 vdr vdr: [3733] loading /etc/vdr/themes/sttng-default.theme May 15 12:57:25 vdr vdr: [3733] ERROR: /dev/lircd: Datei oder Verzeichnis nicht gefunden May 15 12:57:25 vdr vdr: [3733] ERROR: remote control LIRC not ready! May 15 12:57:25 vdr vdr: [3743] KBD remote control thread started (pid=3733, tid=3743) May 15 12:57:25 vdr vdr: [3733] remote control KBD - learning keys May 15 12:57:25 vdr vdr: [3733] ERROR: no OSD provider available - using dummy OSD! May 15 12:57:35 vdr vdr: [3733] switching to channel 1 May 15 12:57:35 vdr vdr: [3733] setting watchdog timer to 60 seconds May 15 12:57:35 vdr vdr: [3733] OSD size changed to 720x480 @ 1 May 15 12:57:35 vdr vdr: [3733] ERROR: no OSD provider available - using dummy OSD! May 15 12:57:36 vdr vdr: [3733] retuning due to modification of channel 1 May 15 12:57:36 vdr vdr: [3733] switching to channel 1
Die Error Meldungen im Log sind an dieser Stelle noch normal da noch kein Ausgabeplugin für das TV Bild gestartet ist.