Kategorie:Ubuntu HD VDR mittels SoftHDDevice und VDPAU

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

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.

Welche Hardware wird benötigt?

Passende Hardware für ein VDR-System ist sehr wichtig. Da es sehr viele verschiedene Hardwarekombinationen gibt, auf denen ein VDR-System lauffähig ist, empfehle ich als Einstieg das VDR-Portal. Dort gibt es bereits eine Diskussion über aktuell empfohlene Hardware VDR-PC HDTV 2013 Empfohlene Systeme.

Hardwarebeispiel

Hier die Übersicht von meinem VDR-System:

Gehäuse:               OrigenAE HTPC Aluminium S16V, schwarz
Netzteil:              Seasonic Platinum Series Fanless 400 ATX (passiv/fanless)
Mainboard:             Intel® DH77EB mATX
Prozessor              Intel® Celeron® Processor G1620T (FC-LGA4, "Ivy Bridge")
Prozessor Kühler       Dynatron K-618 (passiv/fanless)
Arbeitsspeicher:       Kingston 4GB Kit HyperX PC3-10667 DDR3-1333 CL7 (KHX1333C7D3K2/4G)
Festplatte 1 SSD:      Kingston SSDNow V300 2,5" SSD 60 GB (SV300S37A/60G)
Festplatte 2 HDD:      Western Digital WD20EFRX 2 TB (SATA 600, WD Red)
Grafikkarte:           Zotac Geforce GT 630 ZONE Edition (ZT-60408-20L passiv/fanless)
TV-Karte (vier Tuner): Digital Devices Cine S2 V6.5 + DuoFlex S2 (Bundle)
Fernbedienung:         Logitech Harmony 650 Remote

Grafikkarte

Die Grafikkarte aus meinem Hardwarebeispiel wurde im VDR-Portal genau unter die Lupe genommen. Den Artikel findet Ihr hier Review - Zotac GeForce GT 630 ZONE Edition. Falls Ihr euch diese Grafikkarte bestellen möchtet achtet bitte genau auf die Modellnummer.

Mainboard Bios

Es ist Ratsam eine aktuelle Biosversion einzusetzen. Ich setze folgende Version ein:

  • EBH7710H.86A 103 (EB0103.BIO)

SSD Bios

Es ist Ratsam eine aktuelle Biosversion einzusetzen. Ich setze folgende Version ein:

  • 525ABBF0

Stromverbrauch

  • Muss noch ergänzt werden *

Wie schnell startet das System?

Vom einschalten über den Powerbutton am Gehäuse bis zum TV Bild vergehen 20 Sekunden.

Welche Softwareversionen werden eingesetzt?

Betriebssystem

  • Ubuntu 14.04.1 LTS x86_64 Trusty Tahr (Kernel 3.13.0-40-generic)

Grafikkarten Treiber

  • NVIDIA 331.38 x86_64

DVB Treiber

  • media_build_experimental DVB Treiber (rev434 aus dem CVS vom 31.01.2015)

IRTrans Infrared Control System

  • IRTrans Server 6.09.04 (vom 27.06.2012)

Video Disk Recorder

  • VDR 2.1.7

Video Disk Recorder Plugins

  • SoftHDDevice Plugin (aus dem GIT vom 16.10.2014)
  • LCDProc Plugin (aus dem CVS vom 28.03.2013)
  • Femon Plugin 2.1.1
  • Markad Plugin (aus dem CVS vom 02.09.2014)
  • EPGSearch Plugin (aus dem CVS vom 27.12.2014)
  • Streamdev Plugin (aus dem CVS vom 24.01.2015)
  • Skindesigner Plugin (aus dem GIT vom 31.01.2015)
  • TVGuide Plugin (aus dem GIT vom 27.09.2014)
  • EPG Daemon (aus dem GIT vom 14.01.2015)
  • Scraper2VDR Plugin (aus dem GIT vom 17.11.2014)

Installation Betriebssystem

Die Ubuntu Installationsmedien können kostenfrei auf der Webseite http://www.ubuntu.com/ heruntergeladen werden.

Starten der Ubuntu Installation - Willkommen

Booten der Ubuntu CD und im darauf folgenden Bootmenü folgendes auswählen:

  • Sprache wählen: Deutsch - Der VDR läuft natürlich auch in einer anderen Sprache
  • danach "Ubuntu installieren" auswählen und die Installation starten.

Installation von Ubuntu wird vorbereitet

  • anwählen: Aktualisierungen während der Installation herunterladen
  • anwählen: Software von Drittanbietern installieren

Installationsart

  • anwählen: Etwas Anderes (damit wir die Festplatte selbst partitionieren können)

Partitionen manuell festlegen

Alle Partitionen auf der Festplatte werden der Reihe nach folgendermaßen angelegt:

  • /dev/sda SSD Festplatte
  • Neue Partitionstabelle...
  • Freier Speicherplatz auswählen und folgendes hinzufügen:
Laufwerk Beschreibung der Partition Verwendung Einbindungspunkt Formatieren? Größe
/dev/sda1 Root Verzeichnis ext4 / ja 56000 MB
/dev/sda2 Swap Verzeichnis swap Rest von /dev/sda ca. 4000 MB
  • /dev/sdb HDD Festplatte
  • Neue Partitionstabelle...
  • Freier Speicherplatz auswählen und folgendes hinzufügen:
Laufwerk Beschreibung der Partition Verwendung Einbindungspunkt Formatieren? Größe
/dev/sdb1 Daten Verzeichnis xfs /data ja komplett /dev/sdb

Gerät für die Bootloader-Installation

Hier muss darauf geachtet werden das der Bootloader auf der richtigen Festplatte installiert wird. In meinem Fall ist das die SSD Festplatte auf der sich auch das Betriebssystem befindet.

Gerät für Bootloader-Installation:

  • /dev/sda SSD Festplatte

Jetzt installieren

Sobald auf die Schaltfläche Jetzt installieren ausgewählt wird startet die Installation. Achtung! Ab diesem Zeitpunkt wird die Festplatte partitioniert und formatiert somit werden alle Daten auf der Festplatte gelöscht.

Wo befinden Sie sich?

  • Zeitzone: Berlin

Tastaturbelegung

  • Tastaturbelegung: Deutsch / Deutsch

Wer sind Sie?

  • Ihr name?: vdruser
  • Name Ihres Rechners: vdr01
  • Wählen Sie einen Benutzernamen: vdruser
  • Wählen Sie ein Passwort: hier ein Passwort vergeben
  • Automatische Anmeldung: aktivieren

Konfiguration der Netzwerkkarte

Oben rechts auf dem Desktop befindet sich der "Power Button":

  • Power -> Systemeinstellungen... -> Netzwerk -> Kabelgebunden -> Optionen... -> IPv4-Einstellungen ->
Methode:      Manuell 
Adresse:      192.168.0.10    # Hier eine IP Adresse aus eurem Netzwerk vergeben
Netzmaske:    255.255.255.0
Gateway:      192.168.0.1     # Hier die Adresse von eurem Router eintragen
DNS-Server:   192.168.0.1     # Hier die Adresse von eurem Router eintragen

Optional: Remotezugriff auf die grafische Linux Oberfläche einrichten

Falls Ihr von eurem Windows PC etc. auf die grafische Oberfläche von eurem VDR zugreifen möchtet könnt Ihr dies folgendermaßen einrichten:

  • Dash-Startseite -> Suchen -> Freigabe der Arbeitsfläche
anwählen:   Anderen Benutzern erlauben, Ihren Bildschirm anzuzeigen
anwählen:   Anderen Benutzern erlauben, Ihren Bildschirm zu steuern
abwählen:   Jeder Zugriff auf diesen Rechner muss bestätigt werden
anwählen:   Der Benutzer muss folgendes Passwort eingeben: <Euer Passwort>
anwählen:   UPnP-Router automatisch so konfigurieren, dass Ports geöffnet und weitergeleitet werden

Remotezugriff mittels VNC Client

Als Remoteclient kommt TightVNC zum Einsatz. TightVNC ist Freeware und kann kostenfrei auf der Webseite http://www.tightvnc.com/ heruntergeladen werden. Nach dem starten von TightVNC kann auf die grafische Oberfläche zugegriffen werden:

Remote Host: 192.168.0.10

VNC Remoteverbindung geht nicht?

Bei mir hatte die Remoteverbindung nicht auf anhieb funktioniert es kam folgende Fehlermeldung: Error in TightVNC Viewer: No security types supported. Server sent security types, but we do not support any of their. Abhilfe schaffte das deaktivieren der Verschlüsselung:

sudo apt-get install dconf-editor
  • Dash-Startseite -> Suchen -> dconf-Bearbeitung
dconf-Bearbeitung -> org -> gnome -> desktop -> remote-access ->

abwählen: require-encryption

Optional: Remotezugriff auf die Linux Konsole

Dieser Schritt ist optional. Falls Ihr von eurem Windows PC etc. auf die Linux Console von eurem VDR zugreifen möchtet könnt Ihr dies folgendermaßen einrichten:

  • Dash-Startseite -> Suchen -> Terminal
sudo apt-get install openssh-server

Remotezugriff mittels SSH client

Als Remoteclient kommt Putty zum Einsatz. Putty ist Freeware und kann kostenfrei auf der Webseite http://www.putty.org/ heruntergeladen werden. Nach dem starten von Putty kann auf die Linux Konsole zugegriffen werden:

Host name: 192.168.0.10

Datenverzeichnis für den Benutzer vdruser vorbereiten

Die von der Installationsroutine angelegte Partition gehört Standardmäßig dem User root. Mit folgendem Befehl kann die Rechte Struktur für euren vdruser übernommen werden, damit dieser später Zugriff auf das Dateisystem erlangt:

  • Dash-Startseite -> Suchen -> Terminal
sudo chown -R vdruser.vdruser /data

Datenverzeichnis für das Netzwerk freigeben

Damit mittels Filebrowser (Windows Explorer) auf das Datenverzeichnis von eurem VDR zugegriffen werden kann, kann eine Netzwerkfreigabe eingerichtet werden. Somit könnt Ihr später Dateien wie z.B. Filme über diese Freigabe mit anderen PCs im Netzwerk kopieren.

  • Dateien -> Rechner -> klick mit der Rechten Maustaste auf den Ordner "data" -> Freigabe im lokalen Netzwerk
anwählen:       Diesen Ordner freigeben
Freigabename:   data
Kommentar:      data auf vdr01
  • -> Freigabe erstellen -> Die Zugriffsrechte automatisch setzen


Nachdem die Freigabe erstellt wurde muss noch ein Samba-Passwort für euren vdruser gesetzt werden. Das Passwort muss nicht das gleiche wie euer Betriebssystem Passwort sein.

sudo smbpasswd -a vdruser

Bildschirmschoner konfigurieren

Damit später beim TV schauen nicht automatisch die grafische Oberfläche gesperrt wird, muss folgendes konfiguriert werden:

  • Power -> Systemeinstellungen... -> Helligkeit und Sperren
Bildschirm abschalten, wenn inaktiv für:   Nie
Sperren:                                   Aus
abwählen:                                  Mein Passwort verlangen, um Rechner aus Bereitschaft zu wecken

Betriebssystem Popups deaktivieren

Damit später beim TV schauen keine Popups vom Betriebssystem auftauchen können diese deaktiviert werden.

apport

sudo cp /etc/default/apport /etc/default/apport_orig
sudo vi /etc/default/apport
enabled=0

Update Manager

sudo cp /etc/apt/apt.conf.d/10periodic /etc/apt/apt.conf.d/10periodic_orig
sudo vi /etc/apt/apt.conf.d/10periodic
APT::Periodic::Update-Package-Lists "0";

Network notifications

sudo apt-get install dconf-editor

Dash-Startseite -> Suchen -> dconf-Bearbeitung

org -> gnome -> nm-applet ->

anwählen: disable-connected-notifications
anwählen: disable-disconnected-notifications
anwählen: disable-vpn-notifications

Mauszeiger deaktivieren

Damit später beim TV schauen der Mauszeiger nicht im TV Bild auftaucht muss dafür das Programm unclutter installiert werden.

sudo apt-get install unclutter

Die Standardkonfiguration von unclutter sieht folgendermaßen aus:

sudo cat /etc/default/unclutter
# /etc/default/unclutter - configuration file for unclutter

# Set this option to 'true' if you want to start unclutter
# automagically after X has been started for a user.
# Otherwise, set it to 'false'.
START_UNCLUTTER="true"

# Options passed to unclutter, see 'man unclutter' for details.
EXTRA_OPTS="-idle 1 -root"

Nach einem Neustart vom System wird unclutter automatisch gestartet. Wenn der Mauszeiger nicht bewegt wird verschwindet dieser nach kurzer Zeit.

Ubuntu auf den aktuellen Softwarestand bringen

  • Dash-Startseite -> Suchen -> Terminal
sudo apt-get update && sudo apt-get upgrade
  • Power -> Neustarten...

Für VDR benötigte Systempakete installieren

  • Dash-Startseite -> Suchen -> Terminal

Repostory für ffmpeg hinzufügen

sudo add-apt-repository ppa:samrog131/ppa
sudo apt-get update

Systempakete instllieren

Ubuntu benötigte Pakete
sudo apt-get install vim git
NVIDIA und VDPAU benötigte Pakete:
sudo apt-get install libvdpau1 libvdpau-dev vdpauinfo
DVB Treiber benötigte Pakete:
sudo apt-get install mercurial libproc-processtable-perl
VDR benötigte Pakete:
sudo apt-get install g++ libfreetype6-dev libfontconfig1-dev libcap-dev libjpeg-dev libncurses5-dev libncursesw5-dev
SoftHDDevice Plugin benötigte Pakete:
sudo apt-get install sudo apt-get install libasound2-dev libavformat-ffmpeg-opti-dev libswresample-ffmpeg-opti-dev libx11-xcb-dev libxcb-screensaver0-dev
sudo apt-get install libxcb-dpms0-dev libxcb-icccm4-dev libxcb-ewmh-dev
LCDProc benötigte Pakete:
sudo apt-get install lcdproc
Skin nOpacity Plugin sowie TV Guide Plugin benötigte Pakete:
sudo apt-get install libmagick++-dev
VDR EPG Daemon Plugin benötigte Pakete:
sudo apt-get install libmysqlclient-dev mysql-client-5.6 mysql-client-core-5.6 mysql-server-5.6 mysql-server-core-5.6
sudo apt-get install uuid-dev libxslt1-dev libarchive-dev libssl-dev libcurl4-nss-dev libimlib2-dev libjansson-dev

Nicht benötigte Systempakete löschen

  • Dash-Startseite -> Suchen -> Terminal
sudo apt-get autoremove

System neustarten

  • Dash-Startseite -> Suchen -> Terminal
sudo init 6

VDR über den Powerbutton am Gehäuse herunterfahren lassen

Ich wollte das mein VDR automatisch herunterfährt sobald ich am Gehäuse den Powerbutton drücke. Dafür ist folgendes notwendig:

sudo vi /etc/acpi/powerbtn_vdr.sh
#!/bin/sh
# /etc/acpi/powerbtn.sh
# Initiates a shutdown when the power putton has been
# pressed.

# If all else failed, just initiate a plain shutdown.
/sbin/shutdown -h now "Power button pressed"
sudo chmod +x /etc/acpi/powerbtn_vdr.sh
sudo cp /etc/acpi/events/powerbtn /etc/acpi/events/powerbtn_orig
sudo vi /etc/acpi/events/powerbtn
# /etc/acpi/events/powerbtn
# This is called when the user presses the power button and calls
# /etc/acpi/powerbtn.sh for further processing.

# Optionally you can specify the placeholder %e. It will pass
# through the whole kernel event message to the program you've
# specified.

# We need to react on "button power.*" and "button/power.*" because
# of kernel changes.

event=button[ /]power
action=/etc/acpi/powerbtn_vdr.sh

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 31.01.2015 um 16:26 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 Jan 31 16:26 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:

Einrichten der Harmony

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/Developer/vdr-2.1.9.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.1.9.tar.bz2 
sudo ln -s vdr-2.1.9/ 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-06022015.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

vi softhddevice/Makefile
CONDIF += -DDUMP_TRICKSPEED             # dump trickspeed packets 

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-31012015.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-14012015.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/epglv
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 http://projects.vdr-developer.org/git/vdr-plugin-scraper2vdr.git/
tar -czf vdr-plugin-scraper2vdr-git-17112014.tar.gz vdr-plugin-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/vdr-plugin-scraper2vdr .
sudo ln -s vdr-plugin-scraper2vdr/ 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:

  1. VDR-Portal
  2. kls
  3. johns
  4. fnu
  5. copperhead
  6. seahawk1986
  7. mini73
  8. TheChief
  9. UFO
  10. CKone
  11. utility
  12. louis
  13. reufer
  14. gda
  15. 3PO
  16. decembersoul
  17. tehlers
  18. vectra130

Linksammlung

  1. Video Disk Recorder
  2. VDR FTP-Server
  3. VDR Portal
  4. Digital Devices
  5. Ubuntu
  6. IRTrans
  7. TightVNC
  8. Putty
  9. LinuxTV
  10. UFO DVB Repository
  11. Softhddevice Plugin
  12. LCDProc Plugin
  13. Femon Plugin
  14. Markad Plugin
  15. Epgsearch Plugin
  16. Streamdev Plugin
  17. VDR Skindesigner Plugin
  18. TVGuide Plugin
  19. VDR EPG Daemon
  20. Scraper2VDR plugin

Kategrorien