Kategorie:Ubuntu HD VDR mittels SoftHDDevice und VDPAU
Einleitung
Diese Step-by-Step-Anleitung beschreibt die Installation und Konfiguration eines Video Disk Recorder (VDR) unter dem Linux Betriebssystem Ubuntu. Grundsätzlich gibt es zu Beginn eine Entscheidung zu treffen wie das VDR-System aufgebaut wird. Zum einen gibt es die Möglichkeit ein VDR-System mit einer Full-Featured TV-Karte aufzubauen. Hier ist es so das die Bildverarbeitung sowie die Bildausgabe über die TV-Karte erledigt werden. Die zweite Möglichkeit ist eine TV-Karte ohne Hardwaredecoder. Hier kann die Bildverarbeitung eine Grafikkarte oder die CPU erledigen und das Bild wird dann über eine Grafikkarte auf den TV ausgegeben. In dieser Anleitung habe ich mich für diese Art entschieden.
Das Internetforum VDR Portal ist für eine Entscheidung sowie Fragen aller Art zum Thema VDR der richtige Ort.
Inbetriebnahme Grafikkarte
Prüfen der Grafikkarte
lspci -v 01:00.0 VGA compatible controller: NVIDIA Corporation GK208 [GeForce GT 630 Rev. 2] (rev a1) (prog-if 00 [VGA controller]) Subsystem: ZOTAC International (MCO) Ltd. Device 1308 Flags: fast devsel, IRQ 16 Memory at f6000000 (32-bit, non-prefetchable) [size=16M] Memory at e8000000 (64-bit, prefetchable) [size=128M] Memory at f0000000 (64-bit, prefetchable) [size=32M] I/O ports at e000 [size=128] Expansion ROM at f7000000 [disabled] [size=512K] Capabilities: <access denied>
01:00.1 Audio device: NVIDIA Corporation Device 0e0f (rev a1) Subsystem: ZOTAC International (MCO) Ltd. Device 1308 Flags: bus master, fast devsel, latency 0, IRQ 17 Memory at f7080000 (32-bit, non-prefetchable) [size=16K] Capabilities: <access denied> Kernel driver in use: snd_hda_intel
Grafikkartentreiber installieren
sudo apt-get install nvidia-331
sudo init 6
Prüfen der Treiberversion
nvidia-smi
+------------------------------------------------------+ | NVIDIA-SMI 331.38 Driver Version: 331.38 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GT 630 Off | 0000:01:00.0 N/A | N/A | | N/A 60C N/A N/A / N/A | 259MB / 1023MB | N/A Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Compute processes: GPU Memory | | GPU PID Process name Usage | |=============================================================================| | 0 Not Supported | +-----------------------------------------------------------------------------+
xorg.conf erstellen
sudo nvidia-xconfig
sudo init 6
edid.bin erstellen
Nachdem das System neu gestartet wurde kann unter der grafischen Oberfläche das NVIDIA Konfigurationsmenü aufgerufen werden.
- Dash-Startseite -> Suchen -> Terminal
sudo nvidia-settings
GPU-0 (GeForce GT 630) -> DFP-1 (DENON, Ltd. DENON-AVAMP) -> Acquire EDID...
Die erstellte Datei unter folgendem Pfad ablegen:
/etc/X11/edid.bin
Falls Ihr die edid.bin nicht direkt unter /etc/X11 abspeichern könnt speichert diese vorerst unter /tmp und kopiert diese dann manuell nach /etc/X11:
sudo cp /tmp/edid.bin /etc/X11
xorg.conf anpassen
Gegebenfalls müsst Ihr eure xorg.conf auf eure Grafikkarte und TV anpassen. Anbei findet Ihr meine xorg.conf.
Zu finden unter:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf_orig sudo vi /etc/X11/xorg.conf
# nvidia-xconfig: X configuration file generated by nvidia-xconfig # nvidia-xconfig: version 331.38 (buildmeister@swio-display-x64-rhel04-15) Wed Jan 8 19:53:14 PST 2014 Section "ServerLayout" Identifier "Layout0" Screen 0 "Screen0" InputDevice "Keyboard0" "CoreKeyboard" InputDevice "Mouse0" "CorePointer" EndSection Section "Files" EndSection Section "InputDevice" # generated from default Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/psaux" Option "Emulate3Buttons" "no" Option "ZAxisMapping" "4 5" EndSection Section "InputDevice" # generated from default Identifier "Keyboard0" Driver "kbd" EndSection Section "Monitor" Identifier "Monitor0" VendorName "Unknown" ModelName "Unknown" HorizSync 28.0 - 33.0 VertRefresh 43.0 - 72.0 Option "DPMS" EndSection Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" Option "CustomEdid" "DFP-1:/etc/X11/edid.bin" Option "ConnectedMonitor" "DFP-1" Option "UseDisplayDevice" "DFP-1" EndSection Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 Option "ExactModeTimingsDVI" "True" Option "FlatPanelProperties" "Dithering = disabled" Option "NoLogo" "True" Option "CustomEdid" "DFP-1:/etc/X11/edid.bin" Option "ConnectedMonitor" "DFP-1" Option "UseDisplayDevice" "DFP-1" SubSection "Display" Depth 24 Modes "1920x1080_50" "1920x1080_60_0" "1920x1080_24" EndSubSection EndSection
sudo init 6
Prüfen ob der Bildschirm richtig angesteuert wird
Es ist wichtig das euer LCD Bildschirm mit 50 Hz angesteuert wird. Es kann folgendermaßen geprüft werden:
DISPLAY=:0 nvidia-settings --query RefreshRate
Attribute 'RefreshRate' (vdr:0[dpy:2]): 50,00 Hz. 'RefreshRate' is an integer attribute. 'RefreshRate' is a read-only attribute. 'RefreshRate' is display device specific. 'RefreshRate' can use the following target types: X Screen, GPU, Display Device.
Toneinstellungen
Der Ton wird über HDMI der Grafikkarte ausgegeben.
sudo cp /etc/pulse/client.conf /etc/pulse/client.conf_orig sudo vi /etc/pulse/client.conf
Ändern von:
;autospawn = yes
Abändern in:
autospawn = no
sudo init 6
Inbetriebnahme TV Karte
Die TV Karte muss zwingend an ein Floppy Stromkabel angeschlossen werden. Wichtig ist das an allen Tunern der TV-Karte auch Antennenkabel angeschlossen sind. Falls nicht an allen Tunern ein Antennenkabel angeschlossen ist muss dies später beim starten vom VDR berücksichtigt werden.
Prüfen der eingebauten DVB-Karte
Mittels dem unten genannten Befehl kann geprüft werden ob die DVB-Karte vom System erkannt wird. Achtung! Falls die Karte nicht wie unten beschrieben angezeigt wird gegebenfalls mal den PCIe-Slot wechseln und danach nochmals testen.
lspci -v
03:00.0 Multimedia controller: Digital Devices GmbH Octopus DVB Adapter Subsystem: Digital Devices GmbH Cine S2 V6.5 DVB adapter Flags: bus master, fast devsel, latency 0, IRQ 17 Memory at f7100000 (64-bit, non-prefetchable) [size=64K] Capabilities: <access denied> Kernel driver in use: DDBridge
Installation DVB-Treiber
Es gibt zwei Varianten wie der DVB Treiber installiert werden kann. Mit der ersten Variante wird der DVB Treiber manuell installiert und dadurch werden die vorhandenen DVB-Kernelmodule durch die neuen ersetzt. Der Vorteil ist man kann sich selbst den DVB Treiber zusammenstellen und kann immer auf den aktuellsten Stand vom DVB-Treiber setzen. Achtung! Bei dieser Variante muss nach einem Kernelupdate der DVB Treiber erneut installiert werden.
Mit der zweiten Variante kann das fertige DVB-Treiberpaket über ein Repository installiert werden. Hier liegt der Vorteil darin das dies sehr schnell geht und nach einem Kernelupdate das DVB-Treibermodul automatisch wieder in den Kernel integriert wird.
Variante 1 - manuelle DVB Treiber Installation
Achtung! Bei dieser Variante muss nach einem Kernelupdate der DVB Treiber erneut installiert werden.
Downloadverzeichnis erstellen
mkdir -p /data/installfiles/dvb
DVB-Treiber herunterladen
cd /data/installfiles/dvb/ hg clone http://linuxtv.org/hg/~endriss/media_build_experimental cd media_build_experimental/ make distclean make download make untar cd /data/installfiles/dvb/ tar -czf media_build_experimental-cvs-rev434.tar.gz media_build_experimental/
Welche Neuerungen gibt es im DVB-Treiber?
Hier können die Neuerungen im Repository eingesehen werden:
http://linuxtv.org/hg/~endriss/media_build_experimental
DVB Treiber vorbereiten
sudo cp -a /data/installfiles/dvb/media_build_experimental/ /usr/local/src/ cd /usr/local/src sudo ln -s media_build_experimental/ dvb
Benötigte Treiber Module aktivieren
cd /usr/local/src/dvb sudo make distclean && sudo make menuconfig
Die folgende Objekte müssen angewählt werden:
- Multimedia support
- Digital TV support
- Digital Devices bridge support
- Cypress firmware helper routines
- Autoselect ancillary drivers (tuners, sensors, i2c, frontends)
<M> Multimedia support --->
<M> Multimedia support ---> [*] Digital TV support
<M> Multimedia support ---> [*] Media PCI Adapters ---> <M> Digital Devices bridge support
<M> Multimedia support ---> <M> Cypress firmware helper routines
<M> Multimedia support ---> [*] Autoselect ancillary drivers (tuners, sensors, i2c, frontends)
Die benötigten Tuner werden dann automatisch angewählt. Außerdem muss noch kontrolliert werden, dass:
- Staging drivers
- Media staging drivers
- CXD2099AR Common Interface driver
[*] Staging drivers --->
[*] Staging drivers ---> Media devices in staging ---> [*] Media staging drivers --->
[*] Staging drivers ---> Media devices in staging ---> [*] Media staging drivers ---> -M- CXD2099AR Common Interface driver
angewählt sind. Alle anderen Objekte können abgewählt werden.
Zum Schluss mit Exit das Tool verlassen und die Konfiguration abspeichern.
Exit -> Do you wish to save your new configuration? -> Yes
DVB Treiber Installation starten
- sudo make -jX && sudo make -jX install
Das X ersetzt man durch die Anzahl der Kerne, die der Prozessor hat. Bei einem Dualcore-Prozessor müsste der Befehl also lauten:
cd /usr/local/src/dvb sudo make -j2 && sudo make -j2 install
Link auf compiler.h setzen
Achtung! Dieser Link ist wichtig, da sonst der VDR im späteren Verlauf nicht installiert werden kann.
cd /usr/local/src/dvb/linux/include/linux sudo ln -s /usr/src/linux-headers-$(uname -r)/include/linux/compiler.h compiler.h
Prüfen der DVB Treiber Installation
Im Modulverzeichnis des Kernels kann das Datum und Uhrzeit der DVB Module betrachtet werden.
Hier ist ersichtlich dass der DVB-Treiber am 20.02.2015 um 16:39 Uhr installiert wurde. Wenn am gleichen Tag das OS installiert wurde, sollte die Uhrzeit betrachtet werden.
cd /lib/modules/$(uname -r)/updates/media/ ls -l |grep dd* -rw-r--r-- 1 root root 132328 Feb 20 16:39 ddbridge.ko
Variante 2 - automatische DVB Treiber Installation
Repository hinzufügen
sudo add-apt-repository ppa:yavdr/unstable-main sudo apt-get update
DVB Treiber installieren
sudo apt-get install dddvb-dkms
Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen
Damit der Benutzer vdruser die benötigten Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen kann muss dies mittels visudo konfiguriert werden. Achtung! Die Einträge müssen untereinander und am Ende der Datei eingefügt werden.
sudo visudo
vdruser ALL=(ALL) NOPASSWD: /sbin/modinfo,/sbin/modprobe
DVB Module - Info, Starten und Stoppen
modinfo
Um euch Modulparameter anzeigen zu lassen könnt Ihr folgenden Befehl verwenden:
sudo modinfo ddbridge
filename: /lib/modules/3.13.0-45-generic/updates/media/ddbridge.ko version: 0.9.16 license: GPL author: Ralph Metzler, Metzler Brothers Systementwicklung GbR description: Digital Devices PCIe Bridge srcversion: 80861CE40D688702D175EDB alias: pci:v0000DD01d00000201sv*sd*bc*sc*i* alias: pci:v0000DD01d00000011sv*sd*bc*sc*i* alias: pci:v0000DD01d00000003sv*sd*bc*sc*i* alias: pci:v0000DD01d00000320sv*sd*bc*sc*i* alias: pci:v0000DD01d00000201sv0000DD01sd00000001bc*sc*i* alias: pci:v0000DD01d00000013sv0000DD01sd00000043bc*sc*i* alias: pci:v0000DD01d00000011sv0000DD01sd00000041bc*sc*i* alias: pci:v0000DD01d00000011sv0000DD01sd00000040bc*sc*i* alias: pci:v0000DD01d00000007sv0000DD01sd00000023bc*sc*i* alias: pci:v0000DD01d00000006sv0000DD01sd00000033bc*sc*i* alias: pci:v0000DD01d00000006sv0000DD01sd00000032bc*sc*i* alias: pci:v0000DD01d00000006sv0000DD01sd00000031bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd0000DB03bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd00000030bc*sc*i* alias: pci:v0000DD01d00000006sv0000DD01sd00000022bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd00000021bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd00000020bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd00000010bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd00000003bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd00000002bc*sc*i* alias: pci:v0000DD01d00000005sv0000DD01sd00000004bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd00000001bc*sc*i* alias: pci:v0000DD01d00000002sv0000DD01sd00000001bc*sc*i* depends: cxd2099,dvb-core vermagic: 3.13.0-45-generic SMP mod_unload modversions parm: adapter_alloc:0-one adapter per io, 1-one per tab with io, 2-one per tab, 3-one for all (int) parm: msi: Control MSI interrupts: 0-disable, 1-enable (default) (int) parm: ci_bitrate: Bitrate for output to CI. (int) parm: ts_loop:TS in/out test loop on port ts_loop (int) parm: vlan:VLAN and QoS IDs enabled (int) parm: tt: (int) parm: fmode:frontend emulation mode (int) parm: adapter_nr:DVB adapter numbers (array of short)
modprobe
Hiermit werden die DVB-Treibermodule geladen:
sudo modprobe ddbridge
Nachdem die DVB-Treibermodule geladen wurden, sollte der Aufruf 'dmesg' folgendes Anzeigen:
dmesg |grep ddbridge
[ 4.059263] ddbridge 0000:03:00.0: irq 45 for MSI/MSI-X [ 4.337809] ddbridge 0000:03:00.0: DVB: registering adapter 0 frontend 0 (STV090x Multistandard)... [ 4.379940] ddbridge 0000:03:00.0: DVB: registering adapter 1 frontend 0 (STV090x Multistandard)... [ 4.671500] ddbridge 0000:03:00.0: DVB: registering adapter 2 frontend 0 (STV090x Multistandard)... [ 4.707372] ddbridge 0000:03:00.0: DVB: registering adapter 3 frontend 0 (STV090x Multistandard)...
dmesg |grep Digital
[ 611.949805] Digital Devices PCIE bridge driver 0.9.16, Copyright (C) 2010-14 Digital Devices GmbH [ 611.949948] DDBridge driver detected: Digital Devices Cine S2 V6.5 DVB adapter
Die DVB-Treibermodule können folgendermaßen wieder gestoppt werden:
sudo modprobe -r ddbridge
Inbetriebnahme IRTrans
In meinem verwendeten Gehäuse ist bereits ein Infrarot Empfänger im Display verbaut. Dieser kann mit der IRTrans Software verwendet werden.
Fernbedienung
Ich verwende eine Logitech Harmony 650 Remote Fernbedienung. Für die Konfiguration der Fernbedienung ist ein Benutzerprofil auf der Logitech Webseite einzurichten. Dort kann ein individuelles Profil für die Fernbedienung erstellt werden. Hier der Link zur Webseite:
Geräte hinzufügen
Im ersten Schritt im Konfigurations-Wizard werden die verwendeten Geräte wie TV, Spielekonsole, VDR etc. hinzugefügt. Für den VDR habe ich folgende Konfiguration verwendet:
Hersteller: KLS Modellnummer: VDR 1.6
Fernbedienung aktualisieren
Zum Schluss muss die Fernbedienung aktualisiert werden damit die Konfiguration übertragen wird.
IRTrans
Downloadverzeichnis vorbereiten
mkdir -p /data/installfiles/irtrans
Software herunterladen
cd /data/installfiles/irtrans/ wget http://www.irtrans.de/download/Server/Linux/irserver.tar.gz
Installation
mkdir -p /tmp/irtrans cd /tmp/irtrans/ tar -xzf /data/installfiles/irtrans/irserver.tar.gz sudo /tmp/irtrans/install.sh
IRTrans Server starten und Verbindungstest durchführen
sudo /usr/local/irtrans/irserver64 -loglevel 4 -debug_code /dev/ttyUSB0
Nach dem starten des IRTrans Servers kann mittels drücken einer beliebigen Taste auf der Fernbedienung der Infrarotempfang getestet werden.
Beispiel:
Init Server Socket done IRServer64 Version 6.09.04 Init Events done Opening Device: /dev/ttyUSB0 IRTRans Send Done: 1 Name : Version: D5.08.10 FW SNo : 14035 Capab : Power On; FW Cap : 0x3c8019 USB SNo: Node : /dev/ttyUSB0 Init communication ... [ 0]: D5.08.10 SN: 14035 Chdir to DB OK Read routing OK Read Switches OK Open DIR: 12 Get Dirent: 512 Remote dream compiled: 0 Timings - 36 Commands Remote kathrein-ufs compiled: 2 Timings - 36 Commands Remote dbox2 compiled: 1 Timings - 26 Commands Remote mediacenter compiled: 1 Timings - 49 Commands **** CCF Error: ac1 [Remote: ccf.rem] Remote ccf compiled: 20 Timings - 20 Commands Remote mce-mouse compiled: 1 Timings - 1 Commands Remote sky-hd compiled: 1 Timings - 34 Commands Remote pace compiled: 2 Timings - 38 Commands Remote irtrans compiled: 1 Timings - 33 Commands Remote sky-digital compiled: 1 Timings - 31 Commands Remote mce-keyboard compiled: 1 Timings - 77 Commands Get Dirent: 0 Duplicate Commands for ccf.1: ccf.2 ccf.3 ccf.4 Duplicate Commands for ccf.2: ccf.3 ccf.4 Duplicate Commands for ccf.3: ccf.4 Duplicate Commands for pace.0: pace.0- Total: 11 Remotes - 31 Timings - 381 Commands - 0 Calib. Commands 0 Togglec. - 19 CCF Data - 0 CCF RAW - 1 CCF Error IRTRans Send Done: 1 IRTRans Send Done: 1
[0.0]: LEN: 14 11000000001010 [0.0]: LEN: 14 11000000001010 [0.0]: LEN: 14 11000000001011
IRTrans Server als Daemon starten
sudo /usr/local/irtrans/irserver64 -daemon -logfile /usr/local/irtrans/irserver.log /dev/ttyUSB0
IRTrans Client starten und Konfigurationsdatei (rem) für die Fernbedienung erstellen
IRTrans Client starten
sudo /usr/local/irtrans/irclient64 localhost
Konfigurationsdatei für Fernbedienung erstellen
Hier wird eine passende Konfigurationsdatei für eure Fernbedienung erstellt. Falls Ihr ebenfalls wie ich eine Logitech Harmony 885 verwendet könnt Ihr einfach die untige Konfiguration kopieren.
- Learn
1 - Send 2 - Learn 3 - Status 99 - Exit Select command 2
- Select remote
Hier wird ein Name für die Konfigurationsdatei vergeben.
Selected Remote: [] 1 - Select remote 2 - Learn Timing 3 - Learn Command [Based on timing] 4 - Learn Command [Command with timing] 5 - Learn Command [RAW Data] 99 - Exit Select command 1 Enter Remote Name: harmony885
- Learn Command [Command with timing]
Hier werden die einzelnen Tasten der Fernbedienung angelernt. Es wird erst der Name der Taste festgelegt und danach wird man aufgefordert die Taste auf der Fernbedienung zu drücken. Einfach alle Tasten der Fernbedienung wie im untigen Beispiel durchgehen.
Selected Remote: [harmony885] 1 - Select remote 2 - Learn Timing 3 - Learn Command [Based on timing] 4 - Learn Command [Command with timing] 5 - Learn Command [RAW Data] 99 - Exit Select command 4
Command Name: Up Command Name: Down Command Name: Menu Command Name: OK Command Name: Exit Command Name: Left Command Name: Right Command Name: Red Command Name: Green Command Name: Yellow Command Name: Blue Command Name: 0 Command Name: 1 Command Name: 2 Command Name: 3 Command Name: 4 Command Name: 5 Command Name: 6 Command Name: 7 Command Name: 8 Command Name: 9 Command Name: INFO Command Name: PLAY Command Name: PAUSE Command Name: STOP Command Name: REC Command Name: FWD Command Name: REW Command Name: SKIP Command Name: REPLAY Command Name: POWER Command Name: CH+ Command Name: CH- Command Name: PREV Command Name: VOL+ Command Name: VOL- Command Name: MUTE Command Name: Audio Command Name: Subtitle Command Name: GUIDE Command Name: Channels Command Name: Timer Command Name: Recordings Command Name: Setup Command Name: Commands Command Name: User1 Command Name: User2 Command Name: User3 Command Name: User4 Command Name: User5 Command Name: User6 Command Name: User7 Command Name: User8 Command Name: User9 Press Remote Button to learn ....OK
99 - Exit
harmony885.rem Konfigurationsdatei
Die Datei wird erstellt und automatisch unter folgendem Verzeichnis abgelegt:
/usr/local/irtrans/remotes/harmony885.rem
[REMOTE] [NAME]harmony885 [TIMING] [0][N]0[RC]2[RP]87[FREQ]36[RC5] [COMMANDS] [Volume+][T]0[D]11000000000001 [Volume-][T]0[D]11000000000010 [Channel+][T]0[D]11000000000100 [Channel-][T]0[D]11000000000011 [Clear][T]0[D]11000000100000 [Enter][T]0[D]11000000100010 [Up][T]0[D]10001011000100 [Down][T]0[D]10001011000101 [Menu][T]0[D]10001011001001 [OK][T]0[D]10001011001000 [Exit][T]0[D]10001011001010 [Left][T]0[D]10001011000110 [Right][T]0[D]10001011000111 [Red][T]0[D]10001011000000 [Green][T]0[D]10001011000001 [Yellow][T]0[D]10001011000010 [Blue][T]0[D]10001011000011 [0][T]0[D]11001011000000 [1][T]0[D]11001011000001 [2][T]0[D]11001011000010 [3][T]0[D]11001011000011 [4][T]0[D]11001011000100 [5][T]0[D]11001011000101 [6][T]0[D]11001011000110 [7][T]0[D]11001011000111 [8][T]0[D]11001011001000 [9][T]0[D]11001011001001 [INFO][T]0[D]10001011001100 [PLAY][T]0[D]11001011110101 [PAUSE][T]0[D]11001011110011 [STOP][T]0[D]11001011110110 [REC][T]0[D]11001011110111 [FWD][T]0[D]11001011110100 [REW][T]0[D]11001011110010 [SKIP][T]0[D]11001011110001 [REPLAY][T]0[D]11001011110000 [POWER][T]0[D]11001010001100 [CH+][T]0[D]11001011100000 [CH-][T]0[D]11001011100001 [PREV][T]0[D]11001011100010 [VOL+][T]0[D]11001011010000 [VOL-][T]0[D]11001011010001 [MUTE][T]0[D]11001011001101 [Audio][T]0[D]10001011010001 [Subtitle][T]0[D]10001011010010 [GUIDE][T]0[D]10001011001011 [Channels][T]0[D]10001011010011 [Timer][T]0[D]10001011001111 [Recordings][T]0[D]10001011001110 [Setup][T]0[D]10001011010000 [Commands][T]0[D]10001011001101 [User1][T]0[D]10001011110000 [User2][T]0[D]10001011110001 [User3][T]0[D]10001011110010 [User4][T]0[D]10001011110011 [User5][T]0[D]10001011110100 [User6][T]0[D]10001011110101 [User7][T]0[D]10001011110110 [User8][T]0[D]10001011110111 [User9][T]0[D]10001011111000
IRTRans in den Autostart
Skript erstellen
sudo vi /etc/init.d/irtrans
#! /bin/bash # # IRTrans initscript # ### BEGIN INIT INFO # Provides: irtrans # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: irtrans # Description: Start IRTrans Server ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="IRTrans Server" NAME=irtrans SCRIPTNAME=/etc/init.d/$NAME set -e case "$1" in start) echo -n "Starting $DESC: " sudo /usr/local/irtrans/irserver64 -daemon -logfile /var/log/irserver.log /dev/ttyUSB0 if [ ! -h /var/run/lirc/lircd ] ; then mkdir /var/run/lirc ; ln -s /dev/lircd /var/run/lirc/lircd ; fi echo "$NAME." ;; stop) echo -n "Stopping $DESC: " sudo killall irserver64 echo "$NAME." ;; restart|force-reload) echo -n "Restarting $DESC: " $0 stop sleep 1 $0 start ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0
Skript ausführbar machen
sudo chmod +x /etc/init.d/irtrans
IRTrans in den Autostart aufnehmen
sudo update-rc.d irtrans defaults 99 99
IRTrans aus dem Autostart entfernen
Falls das Skript mal nicht funktionieren sollte kann man dieses wieder aus dem Autostart entfernen:
sudo update-rc.d -f irtrans remove
Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen
Damit der Benutzer vdruser die benötigten Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen kann muss dies mittels visudo konfiguriert werden. Achtung! Die Einträge müssen untereinander und am Ende der Datei eingefügt werden.
sudo visudo
vdruser ALL=(ALL) NOPASSWD: /usr/local/irtrans/irserver64,/etc/init.d/irtrans
Installation VDR
Downloadverzeichnis vorbereiten
mkdir -p /data/installfiles/vdr
Installationsmedien herunterladen
cd /data/installfiles/vdr wget ftp://ftp.tvdr.de/vdr/vdr-2.2.0.tar.bz2
vdruser in die Gruppe video und audio aufnehmen
sudo adduser vdruser video sudo adduser vdruser audio
Danach müsst Ihr euch erneut am System anmelden damit die neue Gruppenzugehörigkeit für den vdruser angezogen wird. Alternativ einfach einen Neustart durchführen.
VDR entpacken, vorbereiten und installieren
cd /usr/local/src sudo tar -xjf /data/installfiles/vdr/vdr-2.2.0.tar.bz2 sudo ln -s vdr-2.2.0/ vdr
Shutdownskript erstellen und ablegen
sudo vi /usr/local/bin/vdrpoweroff.sh
#!/bin/bash sudo /sbin/poweroff
und anschließend das Skript ausführbar machen:
sudo chmod +x /usr/local/bin/vdrpoweroff.sh
Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen
Damit der Benutzer vdruser die benötigten Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen kann muss dies mittels visudo konfiguriert werden. Achtung! Die Einträge müssen untereinander und am Ende der Datei eingefügt werden.
sudo visudo
vdruser ALL=(ALL) NOPASSWD: /sbin/poweroff,/usr/local/bin/vdrpoweroff.sh
VDR Installation starten
cd /usr/local/src/vdr sudo make REMOTE=LIRC && sudo make install
Videoverzeichnis anpassen
In das Videoverzeichnis werden später die TV Aufnahmen vom VDR abgelegt. Da ich mich an den Standardpfad für das Videroverzeichnis des VDR halten möchte, mein vorhander Festplattenspeicher aber auf einer anderen Partition liegt, setzen wir einen Link.
mkdir -p /data/vdrrecords sudo rm -r /srv/vdr/video sudo ln -s /data/vdrrecords/ /srv/vdr/video
Somit werden die VDR Aufnahmen in das Standardverzeichnis /srv/vdr/video geschrieben, landen aber auf der Festplattenpartition mit dem dafür vorgesehen Speicherplatz.
VDR mittels runvdr starten
Um den VDR zu starten verwende ich das mittgelieferte runvdr Skript.
runvdr vorbereiten
sudo cp /usr/local/src/vdr/runvdr.template /usr/local/bin/runvdr
runvdr anpassen
Achtung! Die erste Zeile im Skript muss von #!/bin/sh nach #!/bin/bash angepasst werden.
sudo vi /usr/local/bin/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.template 3.1 2015/02/05 10:28:53 kls Exp $ export LANG=de_DE.utf8 export LC_COLLATE=de_DE.utf8 export VDR_CHARSET_OVERRIDE=ISO-8859-9 VDRPRG="/usr/local/bin/vdr" VDROPTIONS="-w 0 -u vdruser -c /var/lib/vdr -s /usr/local/bin/vdrpoweroff.sh" # For other options see manpage vdr.1 VDRPLUGINS="" # You will need to select your output device plugin if you want # to use VDR to watch video. For instance, for a "Full Featured" # SD DVB card that would be # VDRPLUGINS="-P dvbsddevice" # For a "Full Featured" HD DVB card you could use # VDRPLUGINS="-P dvbhddevice" # There are also other output device plugins available, see # http://www.vdr-wiki.de/wiki/index.php/Plugins. VDRCMD="$VDRPRG $VDROPTIONS $VDRPLUGINS $*" KILL="/usr/bin/killall -q -TERM" # Detect whether the DVB driver is already loaded # and return 0 if it *is* loaded, 1 if not: DriverLoaded() { return 1 } # Load all DVB driver modules needed for your hardware: LoadDriver() { return 0 } # Unload all DVB driver modules loaded in LoadDriver(): 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
sudo chmod +x /usr/local/bin/runvdr
Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen
Damit der Benutzer vdruser die benötigten Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen kann muss dies mittels visudo konfiguriert werden. Achtung! Die Einträge müssen untereinander und am Ende der Datei eingefügt werden.
sudo visudo
vdruser ALL=(ALL) NOPASSWD: /usr/local/bin/runvdr,/usr/local/bin/vdr,/usr/bin/killall
Optional: Tuner auf der TV Karte konfigurieren
Achtung! Falls nicht alle Tuner an der TV Karte angeschlossen bzw. benutzt werden, muss dies im VDR konfiguriert 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 wenn nur zwei der vier vorhandenen Tuner verwendet werden:
sudo vi /usr/local/bin/runvdr
VDROPTIONS="-w 0 -D0 -D1 -u vdruser -c /var/lib/vdr -s /usr/local/bin/vdrpoweroff.sh"
somit werden nur der Tuner 0 und Tuner 1 der TV-Karte verwendet.
Optional: remote.conf erstellen
Die Datei muss nicht manuell erstellt werden. Startet der VDR ohne diese Datei wird automatisch ein Anlernmenü am TV gestartet. Nach Konfiguration über das Anlernmenü wird automatisch eine remote.conf erzeugt.
sudo vi /var/lib/vdr/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
remote.conf für IRTrans erweitern
Ihr könnt euch die remote.conf mittels VDR über das OSD-Anlernprogramm erstellen. Wenn Ihr euch die remote.conf manuell erstellen möchtet müssen die VDR-LIRC Kommandos mit den Tasten aus der obigen IRTrans Konfigurationsdatei zugeordnet werden. Achtung! Die Namen sind Case Sensitive.
sudo vi /var/lib/vdr/remote.conf
LIRC.Up up LIRC.Down down LIRC.Menu menu LIRC.Ok ok LIRC.Back exit LIRC.Left left LIRC.Right right LIRC.Red red LIRC.Green green LIRC.Yellow yellow LIRC.Blue blue LIRC.0 0 LIRC.1 1 LIRC.2 2 LIRC.3 3 LIRC.4 4 LIRC.5 5 LIRC.6 6 LIRC.7 7 LIRC.8 8 LIRC.9 9 LIRC.Info info LIRC.Play play LIRC.Pause pause LIRC.Stop stop LIRC.Record rec LIRC.FastFwd fwd LIRC.FastRew rew LIRC.Next skip LIRC.Prev replay LIRC.Power power LIRC.Channel+ ch+ LIRC.Channel- ch- LIRC.PrevChannel prev LIRC.Volume+ vol+ LIRC.Volume- vol- LIRC.Mute mute LIRC.Audio audio LIRC.Subtitles subtitle LIRC.Schedule guide LIRC.Channels channels LIRC.Timers timer LIRC.Recordings recordings LIRC.Setup setup LIRC.Commands commands LIRC.User1 user1 LIRC.User2 user2 LIRC.User3 user3 LIRC.User4 user4 LIRC.User5 user5 LIRC.User6 user6 LIRC.User7 user7 LIRC.User8 user8 LIRC.User9 user9
svdrphosts.conf anpassen
sudo vi /var/lib/vdr/svdrphosts.conf
# svdrphosts This file describes a number of host addresses that # are allowed to connect to the SVDRP port of the Video # Disk Recorder (VDR) running on this system. # Syntax: # # IP-Address[/Netmask] # 127.0.0.1 # always accept localhost #192.168.100.0/24 # any host on the local net #204.152.189.113 # a specific host #0.0.0.0/0 # any host on any net (USE THIS WITH CARE!) 192.168.0.0/24 # Euer Netzwerk
VDR auf non-root vdruser umstellen
sudo chown -R vdruser.vdruser /var/lib/vdr /var/cache/vdr
VDR auf Lauffähigkeit überprüfen
Achtung! Bisher kann noch kein TV Bild angezeigt werden da noch kein Ausgabedevice Plugin eingerichtet ist. Die ERROR Meldungen sind hier vorerst normal. Am besten Ihr öffnet zwei SSH Sessions, wie folgt, auf eurem VDR.
SSH Session 1
Hier wird das syslog geöffnet um die VDR Meldungen beim starten zu sehen:
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:
Jan 31 16:40:17 vdr vdr: [4320] VDR version 2.1.9 started Jan 31 16:40:17 vdr vdr: [4320] switched to user 'vdruser' Jan 31 16:40:17 vdr vdr: [4320] codeset is 'UTF-8' - known Jan 31 16:40:17 vdr vdr: [4320] found 28 locales in /usr/local/share/locale Jan 31 16:40:17 vdr vdr: [4320] creating directory /var/lib/vdr/themes Jan 31 16:40:17 vdr vdr: [4320] loading /var/lib/vdr/sources.conf Jan 31 16:40:17 vdr vdr: [4320] loading /var/lib/vdr/diseqc.conf Jan 31 16:40:17 vdr vdr: [4320] loading /var/lib/vdr/scr.conf Jan 31 16:40:17 vdr vdr: [4320] loading /var/lib/vdr/channels.conf Jan 31 16:40:17 vdr vdr: [4320] loading /var/lib/vdr/svdrphosts.conf Jan 31 16:40:17 vdr vdr: [4320] loading /var/lib/vdr/remote.conf Jan 31 16:40:17 vdr vdr: [4320] loading /var/lib/vdr/keymacros.conf Jan 31 16:40:17 vdr vdr: [4320] registered source parameters for 'A - ATSC' Jan 31 16:40:17 vdr vdr: [4320] registered source parameters for 'C - DVB-C' Jan 31 16:40:17 vdr vdr: [4320] registered source parameters for 'S - DVB-S' Jan 31 16:40:17 vdr vdr: [4320] registered source parameters for 'T - DVB-T' Jan 31 16:40:17 vdr vdr: [4322] video directory scanner thread started (pid=4320, tid=4322, prio=high) Jan 31 16:40:17 vdr vdr: [4323] epg data reader thread started (pid=4320, tid=4323, prio=high) Jan 31 16:40:17 vdr vdr: [4323] epg data reader thread ended (pid=4320, tid=4323) Jan 31 16:40:17 vdr vdr: [4321] video directory scanner thread started (pid=4320, tid=4321, prio=high) Jan 31 16:40:17 vdr vdr: [4320] probing /dev/dvb/adapter0/frontend0 Jan 31 16:40:17 vdr vdr: [4320] creating cDvbDevice Jan 31 16:40:17 vdr vdr: [4320] new device number 1 Jan 31 16:40:17 vdr vdr: [4320] DVB API version is 0x050A (VDR was built with 0x050A) Jan 31 16:40:17 vdr vdr: [4320] frontend 0/0 provides DVB-S,DVB-S2,DSS with QPSK ("STV090x Multistandard") Jan 31 16:40:17 vdr vdr: [4325] frontend 0/0 tuner thread started (pid=4320, tid=4325, prio=high) Jan 31 16:40:17 vdr vdr: [4320] cTimeMs: using monotonic clock (resolution is 1 ns) Jan 31 16:40:17 vdr vdr: [4320] probing /dev/dvb/adapter1/frontend0 Jan 31 16:40:17 vdr vdr: [4320] creating cDvbDevice Jan 31 16:40:17 vdr vdr: [4320] new device number 2 Jan 31 16:40:17 vdr vdr: [4326] device 1 section handler thread started (pid=4320, tid=4326, prio=low) Jan 31 16:40:17 vdr vdr: [4320] frontend 1/0 provides DVB-S,DVB-S2,DSS with QPSK ("STV090x Multistandard") Jan 31 16:40:17 vdr vdr: [4320] probing /dev/dvb/adapter2/frontend0 Jan 31 16:40:17 vdr vdr: [4320] creating cDvbDevice Jan 31 16:40:17 vdr vdr: [4320] new device number 3 Jan 31 16:40:17 vdr vdr: [4329] device 2 section handler thread started (pid=4320, tid=4329, prio=low) Jan 31 16:40:17 vdr vdr: [4328] frontend 1/0 tuner thread started (pid=4320, tid=4328, prio=high) Jan 31 16:40:17 vdr vdr: [4320] frontend 2/0 provides DVB-S,DVB-S2,DSS with QPSK ("STV090x Multistandard") Jan 31 16:40:17 vdr vdr: [4331] frontend 2/0 tuner thread started (pid=4320, tid=4331, prio=high) Jan 31 16:40:17 vdr vdr: [4320] probing /dev/dvb/adapter3/frontend0 Jan 31 16:40:17 vdr vdr: [4320] creating cDvbDevice Jan 31 16:40:17 vdr vdr: [4320] new device number 4 Jan 31 16:40:17 vdr vdr: [4332] device 3 section handler thread started (pid=4320, tid=4332, prio=low) Jan 31 16:40:17 vdr vdr: [4320] frontend 3/0 provides DVB-S,DVB-S2,DSS with QPSK ("STV090x Multistandard") Jan 31 16:40:17 vdr vdr: [4320] found 4 DVB devices Jan 31 16:40:17 vdr vdr: [4334] frontend 3/0 tuner thread started (pid=4320, tid=4334, prio=high) Jan 31 16:40:17 vdr vdr: [4320] setting primary device to 1 Jan 31 16:40:17 vdr vdr: [4320] device 1 has no MPEG decoder Jan 31 16:40:17 vdr vdr: [4320] assuming manual start of VDR Jan 31 16:40:17 vdr vdr: [4335] device 4 section handler thread started (pid=4320, tid=4335, prio=low) Jan 31 16:40:17 vdr vdr: [4320] SVDRP listening on port 6419 Jan 31 16:40:17 vdr vdr: [4320] setting current skin to "lcars" Jan 31 16:40:17 vdr vdr: [4320] loading /var/lib/vdr/themes/lcars-default.theme Jan 31 16:40:17 vdr vdr: [4320] remote control LIRC - keys known Jan 31 16:40:17 vdr vdr: [4320] remote control KBD - keys known Jan 31 16:40:17 vdr vdr: [4337] KBD remote control thread started (pid=4320, tid=4337, prio=high) Jan 31 16:40:17 vdr vdr: [4336] LIRC remote control thread started (pid=4320, tid=4336, prio=high) Jan 31 16:40:17 vdr vdr: [4320] OSD size changed to 720x480 @ 1 Jan 31 16:40:17 vdr vdr: [4320] ERROR: no OSD provider available - using dummy OSD! Jan 31 16:40:20 vdr vdr: [4322] video directory scanner thread ended (pid=4320, tid=4322) Jan 31 16:40:21 vdr vdr: [4321] video directory scanner thread ended (pid=4320, tid=4321)
Achtung! Ein TV Bild wird noch nicht angezeigt da noch kein VDR Ausgabedevice Plugin eingerichtet ist.
VDR Plugins
Downloadverzeichnis für Plugins vorbereiten
mkdir /data/installfiles/vdrplugins
SoftHDDevice Plugin
Infos zum Plugin
VDR SoftHDDevice Plugin
Download
cd /data/installfiles/vdrplugins git clone git://projects.vdr-developer.org/vdr-plugin-softhddevice.git tar -czf vdr-plugin-softhddevice-git-16022015.tar.gz vdr-plugin-softhddevice/
Was hat sich geändert?
Auf der folgenden Webseite können die aktuellen Änderungen des Plugins eingesehen werden:
http://projects.vdr-developer.org/projects/plg-softhddevice/repository
Installation
cd /usr/local/src/vdr/PLUGINS/src sudo cp -a /data/installfiles/vdrplugins/vdr-plugin-softhddevice . sudo ln -s vdr-plugin-softhddevice softhddevice cd /usr/local/src/vdr/ sudo make plugins && sudo make install sudo chown -R vdruser.vdruser /var/lib/vdr /var/cache/vdr
Passendes Sounddevice auswählen
aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) **** Karte 0: PCH [HDA Intel PCH], Gerät 0: ALC892 Analog [ALC892 Analog] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 0: PCH [HDA Intel PCH], Gerät 1: ALC892 Digital [ALC892 Digital] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 1: NVidia [HDA NVidia], Gerät 3: HDMI 0 [HDMI 0] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 1: NVidia [HDA NVidia], Gerät 7: HDMI 1 [HDMI 1] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0
Wer hier nicht sicher ist, welches das richtige Sounddevice ist, kann folgendermaßen einen Soundcheck durchführen:
speaker-test -c 2 -D hw:0,0 speaker-test -c 2 -D hw:0,1 speaker-test -c 2 -D hw:1,3 speaker-test -c 2 -D hw:1,7 usw.
runvdr anpassen
Die Plugins werden in das bestehende runvdr Skript hintereinander eingefügt:
Zum Beispiel:
VDRPLUGINS="-P Plugin1 -P Plugin2 -P Plugin3"
Hier der Eintrag für das SoftHDDevice Plugin:
sudo vi /usr/local/bin/runvdr
VDRPLUGINS="-P'softhddevice -a hw:1,7 -d :0 -f -v vdpau'"
Die einzelnen Pluginparameter lassen sich im Wiki Softhddevice-plugin Konfiguration nachlesen.
VDR in den Autostart
Damit der VDR zukünftig mit der grafischen Oberfläche startet, kann das runvdr Skript in den Autostart vom Betriebssystem aufgenommen werden.
- Dash-Startseite -> Suchen -> Startprogramme -> Hinzufügen
Name: VDR Befehl: /usr/local/bin/runvdr Kommentar: VDR Autostart Script
Nach einem Neustart vom System sollte der VDR automatisch mit der grafischen Oberfläche gestartet werden.
Finetuning
Achtung! Die setup.conf darf nur bei gestopptem VDR bearbeitet werden.
vi /var/lib/vdr/setup.conf
softhddevice.1080i.Deinterlace = 3 softhddevice.576i.Deinterlace = 3
softhddevice.1080i.Scaling = 2 softhddevice.576i.Scaling = 2
softhddevice.StudioLevels = 1
Die Parameter können hier eingesehen werden SoftHDDevice Plugin setup.conf
LCDProc Plugin
Infos zum Plugin
VDR LCDproc Plugin
Download
cd /data/installfiles/vdrplugins git clone git://projects.vdr-developer.org/vdr-plugin-lcdproc.git tar -czf vdr-plugin-lcdproc-cvs-28032013.tar.gz vdr-plugin-lcdproc/
Was hat sich geändert?
Auf der folgenden Webseite können die aktuellen Änderungen des Plugins eingesehen werden:
http://projects.vdr-developer.org/repositories/show/plg-lcdproc
Anpassen des LCDProc Treibers
sudo cp /etc/LCDd.conf /etc/LCDd.conf_orig sudo vi /etc/LCDd.conf
DriverPath=/usr/lib/x86_64-linux-gnu/lcdproc/ Driver=irtrans Foreground=no Hello=" Welcome to" Hello=" VDR!" ServerScreen=off Backlight=open Heartbeat=open
Installation
cd /usr/local/src/vdr/PLUGINS/src sudo cp -a /data/installfiles/vdrplugins/vdr-plugin-lcdproc/ . sudo ln -s vdr-plugin-lcdproc/ lcdproc cd /usr/local/src/vdr/ sudo make plugins && sudo make install sudo chown -R vdruser.vdruser /var/lib/vdr /var/cache/vdr
runvdr anpassen
sudo vi /usr/local/bin/runvdr
-P lcdproc
Femon Plugin
Infos zum Plugin
DVB Frontend Status Monitor plugin for VDR
Download
cd /data/installfiles/vdrplugins wget http://www.saunalahti.fi/~rahrenbe/vdr/femon/files/vdr-femon-2.1.1.tgz
Was hat sich geändert?
Auf der folgenden Webseite können die aktuellen Änderungen des Plugins eingesehen werden:
http://www.saunalahti.fi/~rahrenbe/vdr/femon/files/
Installation
cd /usr/local/src/vdr/PLUGINS/src sudo tar -xzf /data/installfiles/vdrplugins/vdr-femon-2.1.1.tgz sudo ln -s femon-2.1.1/ femon cd /usr/local/src/vdr/ sudo make plugins && sudo make install sudo chown -R vdruser.vdruser /var/lib/vdr /var/cache/vdr
runvdr anpassen
sudo vi /usr/local/bin/runvdr
-P femon
Markad Plugin
Infos zum Plugin
VDR Markad Plugin
Download
cd /data/installfiles/vdrplugins git clone git://projects.vdr-developer.org/vdr-plugin-markad.git tar -czf vdr-plugin-markad-cvs-02092014.tar.gz vdr-plugin-markad/
Was hat sich geändert?
Auf der folgenden Webseite können die aktuellen Änderungen des Plugins eingesehen werden:
http://projects.vdr-developer.org/repositories/show/plg-markad
Installation
cd /usr/local/src/vdr/PLUGINS/src sudo cp -a /data/installfiles/vdrplugins/vdr-plugin-markad/ . sudo ln -s vdr-plugin-markad/ markad cd /usr/local/src/vdr/ sudo make plugins && sudo make install sudo chown -R vdruser.vdruser /var/lib/vdr /var/cache/vdr
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 unten angegebene Eintrag muss als letzte Zeile hinzugefügt werden.
sudo visudo
vdruser ALL=(ALL) NOPASSWD: /usr/bin/markad
Ubuntu services mit dem svdrp Port erweitern
sudo vi /etc/services
svdrp 6419/tcp # svdrp (vdr)
runvdr anpassen
sudo vi /usr/local/bin/runvdr
-P markad
EPGSearch Plugin
Infos zum Plugin
VDR Epgsearch Plugin
Download
cd /data/installfiles/vdrplugins git clone git://projects.vdr-developer.org/vdr-plugin-epgsearch.git vdr-plugin-epgsearch tar -czf vdr-plugin-epgsearch-cvs-27122014.tar.gz vdr-plugin-epgsearch/
Was hat sich geändert
Auf der folgenden Webseite können die aktuellen Änderungen des Plugins eingesehen werden:
http://projects.vdr-developer.org/git/vdr-plugin-epgsearch.git/
Installation
cd /usr/local/src/vdr/PLUGINS/src sudo cp -a /data/installfiles/vdrplugins/vdr-plugin-epgsearch . sudo ln -s vdr-plugin-epgsearch/ epgsearch cd /usr/local/src/vdr/ sudo make plugins && sudo make install sudo chown -R vdruser.vdruser /var/lib/vdr /var/cache/vdr
runvdr anpassen
sudo vi /usr/local/bin/runvdr
-P epgsearch
Streamdev Plugin
Infos zum Plugin
VDR Streamdev Plugin
Download
cd /data/installfiles/vdrplugins git clone git://projects.vdr-developer.org/vdr-plugin-streamdev.git vdr-plugin-streamdev tar -czf vdr-plugin-streamdev-24012015.tar.gz vdr-plugin-streamdev/
Was hat sich geändert?
Auf der folgenden Webseite können die aktuellen Änderungen des Plugins eingesehen werden:
http://projects.vdr-developer.org/repositories/show/plg-streamdev
Installation
cd /usr/local/src/vdr/PLUGINS/src sudo cp -a /data/installfiles/vdrplugins/vdr-plugin-streamdev . sudo ln -s vdr-plugin-streamdev/ streamdev cd /usr/local/src/vdr/ sudo make plugins && sudo make install sudo chown -R vdruser.vdruser /var/lib/vdr /var/cache/vdr
Konfiguration streamdevhosts.conf
mkdir -p /var/lib/vdr/plugins/streamdev-server cp /usr/local/src/vdr/PLUGINS/src/streamdev/streamdev-server/streamdevhosts.conf /var/lib/vdr/plugins/streamdev-server/ vi /var/lib/vdr/plugins/streamdev-server/streamdevhosts.conf
# streamdevhosts This file describes a number of host addresses that # are allowed to connect to the streamdev server running # with the Video Disk Recorder (VDR) on this system. # Syntax: # # IP-Address[/Netmask] # 127.0.0.1 # always accept localhost #192.168.100.0/24 # any host on the local net #204.152.189.113 # a specific host #239.255.0.0/16 # uncomment for IGMP multicast streaming #0.0.0.0/0 # any host on any net (DON'T DO THAT! USE AUTHENTICATION) 192.168.0.0/24 # Euer Netwerk
runvdr anpassen
sudo vi /usr/local/bin/runvdr
-P streamdev-server
Skindesigner Plugin
Infos zum Plugin
VDR Skindesigner Plugin
Download
cd /data/installfiles/vdrplugins git clone git://projects.vdr-developer.org/vdr-plugin-skindesigner.git tar -czf vdr-plugin-skindesigner-git-12022015.tar.gz vdr-plugin-skindesigner/
Was hat sich geändert?
Auf der folgenden Webseite können die aktuellen Änderungen des Plugins eingesehen werden:
http://projects.vdr-developer.org/projects/plg-skindesigner/repository
Installation
cd /usr/local/src/vdr/PLUGINS/src sudo cp -a /data/installfiles/vdrplugins/vdr-plugin-skindesigner . sudo ln -s vdr-plugin-skindesigner skindesigner cd /usr/local/src/vdr/ sudo make plugins && sudo make install sudo chown -R vdruser.vdruser /var/lib/vdr /var/cache/vdr
cd PLUGINS/src/skindesigner/fonts/ sudo cp -a VDROpenSans/ /usr/share/fonts/
runvdr anpassen
sudo vi /usr/local/bin/runvdr
-P'skindesigner -l /var/lib/vdr/plugins/skindesigner/logos/'
Logos einbinden
mkdir -p /var/lib/vdr/plugins/skindesigner cp -a /data/installfiles/vdrplugins/logos /var/lib/vdr/plugins/skindesigner/
Skindesigner Plugin konfigurieren
Es muss über das VDR OSD noch die passende Schriftart ausgewählt werden.
- VDR Menü -> Einstellungen -> OSD -> Oberfläche -> metrixhd ->
Standard-Schriftart: VDROpen Sans:Bold Kleine Schriftart: VDROpen Sans:Regular
TVGuide Plugin
Infos zum Plugin
VDR TVGuide Plugin
Download
cd /data/installfiles/vdrplugins git clone git://projects.vdr-developer.org/vdr-plugin-tvguide.git tar -czf vdr-plugin-tvguide-git-27092014.tar.gz vdr-plugin-tvguide/
Was hat sich geändert?
http://projects.vdr-developer.org/projects/plg-tvguide/repository
Installation
cd /usr/local/src/vdr/PLUGINS/src sudo cp -a /data/installfiles/vdrplugins/vdr-plugin-tvguide . sudo ln -s vdr-plugin-tvguide/ tvguide cd /usr/local/src/vdr/ sudo make plugins && sudo make install sudo mkdir -p /var/lib/vdr/plugins/tvguide/ sudo chown -R vdruser.vdruser /var/lib/vdr /var/cache/vdr
runvdr anpassen
sudo vi /usr/local/bin/runvdr
-P'tvguide -l /var/lib/vdr/plugins/tvguide/logos/'
EPG Daemon
Infos zu EPG Daemon
VDR EPG Daemon
Download EPG Daemon
cd /data/installfiles/vdrplugins git clone git://projects.vdr-developer.org/vdr-epg-daemon.git tar -czf vdr-epg-daemon-git-02022015.tar.gz vdr-epg-daemon/
Was hat sich geändert?
http://projects.vdr-developer.org/projects/vdr-epg-daemon/repository
Installation MySQL EPG Daemon Plugin
cd /usr/local/src sudo cp -a /data/installfiles/vdrplugins/vdr-epg-daemon . sudo ln -s vdr-epg-daemon/ epgd cd /usr/local/src/epgd sudo make && sudo make install
mysql -u root -p mysql> DROP FUNCTION IF EXISTS epglv; DROP FUNCTION IF EXISTS epglvr; CREATE FUNCTION epglv RETURNS INT SONAME 'mysqlepglv.so'; CREATE FUNCTION epglvr RETURNS INT SONAME 'mysqlepglv.so'; SELECT * FROM mysql.func; +--------+-----+---------------+----------+ | name | ret | dl | type | +--------+-----+---------------+----------+ | epglv | 2 | mysqlepglv.so | function | | epglvr | 2 | mysqlepglv.so | function | +--------+-----+---------------+----------+ 2 rows in set (0,00 sec) exit
Datenbank und Benutzer anlegen
mysql -u root -p mysql> CREATE DATABASE epg2vdr charset utf8; CREATE USER 'epg2vdr'@'%' IDENTIFIED BY 'epg'; GRANT ALL PRIVILEGES ON epg2vdr.* TO 'epg2vdr'@'%'; exit
Datenbank Benutzer überprüfen
mysql -u epg2vdr -pepg -Depg2vdr -h localhost
Die Ausgabe sollte in etwas so aussehen:
Warning: Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 47 Server version: 5.6.19-0ubuntu0.14.04.1 (Ubuntu) Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> exit
MySQL Konfiguration
Damit später auch remote verschiedene Clients auf die MySQL Datenbank zugreifen können muss dies konfiguriert werden.
sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf_orig sudo vi /etc/mysql/my.cnf
Ändern von:
# Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 127.0.0.1
Abändern in:
# Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 192.168.0.10
Neustart MySQL
sudo /etc/init.d/mysql restart
Installation EPG Daemon
cd /usr/local/src/epgd/ sudo make && sudo make plugins && sudo make install && sudo make install-plugins
Konfiguration EPG Daemon
sudo cp /etc/epgd/channelmap.conf /etc/epgd/channelmap.conf_orig sudo cp /etc/epgd/channelmap.conf-epgdata-astra /etc/epgd/channelmap.conf sudo cp /etc/epgd/epgd.conf /etc/epgd/epgd.conf_orig sudo vi /etc/epgd/epgd.conf
DaysInAdvance = 14
EPG Daemon mittels Upstart in den Autostart
epgd.conf erstellen
sudo vi /etc/init/epgd.conf
start on (started mysql and local-filesystems and net-device-up IFACE!=lo) stop on runlevel [!2345] script export LANG="de_DE.UTF-8" ulimit -c unlimited exec /usr/local/bin/epgd -n -p /usr/local/lib/epgd/plugins end script
EPG Daemon Initskript erstellen
sudo vi /etc/init.d/epgd
#! /bin/bash # # VDR EPG Daemon initscript # # /etc/init.d/epgd # ### BEGIN INIT INFO # Provides: epgd # Required-Start: $remote_fs $syslog $network mysql # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: epgd # Description: VDR EPG Daemon ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin NAME=epgd DESC="VDR EPG Daemon" # Check for missing binaries EPGD_BIN=/usr/local/bin/epgd test -x $EPGD_BIN || exit 5 # Check for existence of needed config directory EPGD_CONFDIR=/etc/epgd test -d $EPGD_CONFDIR || exit 6 # Check for existence of needed config file and read it EPGD_CONFIG=${EPGD_CONFDIR}/epgd.conf test -r $EPGD_CONFIG || exit 6 # Check for existence of needed plugin directory EPGD_PLGDIR=/usr/local/lib/epgd/plugins test -d $EPGD_PLGDIR || exit 6 start_epgd() { echo -n "Starting $DESC: " start-stop-daemon --start --verbose --background --oknodo --exec ${EPGD_BIN} -- -n -c ${EPGD_CONFDIR} -p ${EPGD_PLGDIR} echo "$NAME." } stop_epgd() { echo -n "Stoppig $DESC: " start-stop-daemon --stop --signal KILL --verbose --oknodo --exec ${EPGD_BIN} echo "$NAME." } case "$1" in start) start_epgd ;; stop) stop_epgd ;; restart) stop_epgd sleep 2 start_epgd ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac
Skript ausführbar machen
sudo chmod +x /etc/init.d/epgd
Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen
Damit der Benutzer vdruser die benötigten Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen kann muss dies mittels visudo konfiguriert werden. Achtung! Die Einträge müssen untereinander und am Ende der Datei eingefügt werden.
sudo visudo
vdruser ALL=(ALL) NOPASSWD: /usr/local/bin/epgd,/etc/init.d/epgd
EPG Daemon manuell starten
export LANG="de_DE.UTF-8" ulimit -c unlimited sudo /usr/local/bin/epgd -n -p /usr/local/lib/epgd/plugins -t
System neustart
sudo init 6
Prüfen ob EPG Daemon nach dem Systemneustart läuft
ps -ax |grep epgd
1390 ? Ss 0:00 /usr/local/bin/epgd -n -p /usr/local/lib/epgd/plugins
Scraper2VDR Plugin
Infos zum Plugin
Scraper2VDR Plugin
Download
cd /data/installfiles/vdrplugins git clone https://github.com/horchi/scraper2vdr tar -czf scraper2vdr-git-19022015.tar.gz scraper2vdr/
Was hat sich geändert?
http://projects.vdr-developer.org/projects/plg-scraper2vdr/repository
Installation
cd /usr/local/src/vdr/PLUGINS/src sudo cp -a /data/installfiles/vdrplugins/scraper2vdr . cd /usr/local/src/vdr/ sudo make plugins && sudo make install sudo chown -R vdruser.vdruser /var/lib/vdr /var/cache/vdr
runvdr anpassen
sudo vi /usr/local/bin/runvdr
-P'scraper2vdr -m client'
Danksagungen
Hiermit möchte ich mich bei allen Bedanken die mir bei meinem Problemen, Fragen etc. weitergeholfen haben. Insbesondere bedanke ich mich bei:
- VDR-Portal
- kls
- johns
- fnu
- copperhead
- seahawk1986
- mini73
- TheChief
- UFO
- CKone
- utility
- louis
- reufer
- gda
- 3PO
- decembersoul
- tehlers
- vectra130
Linksammlung
- Video Disk Recorder
- VDR FTP-Server
- VDR Portal
- Digital Devices
- Ubuntu
- IRTrans
- TightVNC
- Putty
- LinuxTV
- UFO DVB Repository
- Softhddevice Plugin
- LCDProc Plugin
- Femon Plugin
- Markad Plugin
- Epgsearch Plugin
- Streamdev Plugin
- VDR Skindesigner Plugin
- TVGuide Plugin
- VDR EPG Daemon
- Scraper2VDR plugin
Kategrorien
Seiten in der Kategorie „Ubuntu HD VDR mittels SoftHDDevice und VDPAU“
Es werden 9 von insgesamt 9 Seiten in dieser Kategorie angezeigt:
U |
U (Fortsetzung) |
U (Fortsetzung) |