header.png
raspiVDR

ein VDR Client auf dem Raspberry Pi auf der Basis des VDR-Plugins '''rpihddevice'''

Downloads

Den Sourcecode vom VDR und den ganzen benötigten Plugins manuell herunterzuladen und daraus den VDR zu bauen ist ein erheblicher Aufwand. Um diesen Aufwand zu minimieren habe ich einige Scripte erstellt.

Diese Scripte sind Bestandteil vom raspivdr-install.sh Script. Hier eine genauere Beschreibung wie diese Scripte im Detail funktionieren.


  • build-dep-vdr.sh Script um die benötigten Abhängigkeiten zu installieren
  • download-vdr.sh Script um dem VDR im Sourcecode ( unter Angabe der Versionsnummer) zu laden
  • download-plugins.sh Script um den Sourcecode von VDR-Plugins zu laden
  • patch-vdr.sh Script um benötigte Patches in den VDR einzubauen

Vorbereitung

Ausgangspunkt ist ein Raspberry Pi (noch besser ein Raspberry Pi2) aus dem bereits Raspbian installiert ist. Bei mir (Stand August 2015) habe ich bereits ein Update auf Raspbian 8 (Jessie) durchgeführt, das aber noch nicht offiziell freigegeben ist, die Scripte sollten aber auch auf Raspbian 7 (Wheezy) funktionieren.

Zuerst erstellen wir einen Ordner um dort den VDR zu bauen
mkdir -p "$HOME/source/vdr"

In diesem Ordner können dann die Install-Scripte aus VDR-build-scripts.tar.gz entpackt werden.

In der Datei config.sh muss gegebenenfalls der Pfad geändert werden in dem der VDR gebaut werden soll. Die Voreinstellung ist es, im Home Ordner des Users pi einen Ordner source zu erstellen und die Skripte dort in den Ordner vdr zu kopieren.

config.sh:
SOURCEDIR="$HOME/source"

Abhängigkeiten

Um den VDR bauen zu können, benötigen wir noch eine ganze Anzahl von zusätzlichen Pakete die zuerst installiert werden müssen. Welche diese sind und wofür sie benötigt werden ist in der Datei needed-packages eingetragen.

needed-packages
# Basis VDR
build-essential git libncurses5-dev gettext libfreetype6-dev libfontconfig1-dev libcap-dev libjpeg-dev libncurses5-dev libncursesw5-dev 
# Fernbedienung
lirc
# Plugin rpihddevice
libavcodec-dev libavformat-dev libavutil-dev libavresample-dev 
# Plugin skinnopacity , skinflatplus
libmagick++-dev
# Plugin TV Scraper
libsqlite3-dev libcurl4-gnutls-dev libXML2-dev libjansson-dev
Falls ihr Plugins aus dieser Liste nicht benötigt, oder zusätzliche Plugins erstellen möchtet könnt ihr einfach diese Datei anpassen.

Das Script build-dep-vdr.sh installiert die in dieser Datei enthaltenen Pakete.
sudo ./build-dep-vdr.sh

VDR und Plugins laden



Plugins
Bevor der VDR und die Plugins heruntergeladen werden kann die Liste der Plugins pluginlist noch einmal überprüft werden.

pluginlist
# Liste der VDR-Plugins die gebaut werden sollen
# Zeilen mit # werden nicht gebaut
http://vdr.schmirler.de/svdrpservice/vdr-svdrpservice-1.0.0.tgz
http://vdr.schmirler.de/remotetimers/vdr-remotetimers-1.0.2.tgz
http://vdr.schmirler.de/remoteosd/vdr-remoteosd-1.0.0.tgz
http://vdr.schmirler.de/peer/vdr-peer-0.0.1.tgz
http://vdr.schmirler.de/epgsync/vdr-epgsync-1.0.1.tgz
#http://projects.vdr-developer.org/attachments/download/1476/skinflat-0.1.1.tar.gz
git://projects.vdr-developer.org/skin-flatplus.git
git://projects.vdr-developer.org/vdr-plugin-streamdev.git
git://projects.vdr-developer.org/vdr-plugin-rpihddevice.git
git://projects.vdr-developer.org/vdr-plugin-tvguide.git
git://projects.vdr-developer.org/vdr-plugin-tvscraper.git
git://projects.vdr-developer.org/skin-nopacity.git
# Dateiende
Nicht benötigte Plugins einfach sperren oder zusätzliche Plugins eintragen.

Patches
Patches für den VDR können in die Liste patches eingetragen werden.

patches
PLUGINS/src/remotetimers/patches/vdr-2.0.4-MainMenuHooks-v1_0_2.diff
# Ende
Nicht benötigte Patches einfach sperren oder zusätzliche Patches eintragen.

VDR laden
Danach kann alles heruntergeladen werden. Ohne die Angabe einer Versionsnummer wird der VDR in der Version 2.2.0 geladen, wer eine spezielle Version des VDR laden möchte muss diese bim Download angeben z.B . ./download-vdr.sh 2.1.2 Für diese Aktion benötigen wir keine root Rechte somit kann der vorangestellte sudo entfallen.
./download-vdr.sh
Das Script download-vdr.sh läd auch gleich alle benötigten Plugins herunter.

Das Script download-plugins.sh kann auch gezielt gestartet werden um die Plugins herunterzuladen. Diese werden dann jeweils in die VDR Version gespeichert, auf den der Symlink vdr zeigt.

Alle Scripte können auch wiederholt gestartet werden. Alle Ordner werden zuvor überprüft und es werden keine bereits vorhandenen Ordner überschrieben.

VDR bauen

Was jetzt kommt ist wieder der übliche standardisierte Weg um den VDR und die Plugins zu bauen. Dies wird aber einige Zeit dauern (auf dem alten Raspberry Pi sehr lange)
make

VDR installieren

und danach wirder mit root Rechten
sudo make install

Falls bis dahin alles funktioniert hat, sollte das Programm vdr nach /usr/local/bin kopiert worden sein und die Plugins nach /usr/local/lib/vdr

Zugriffsrechte

Der User unter dem die VDR Software dann laufen soll, benötigt den schreibenden Zugriff auf einige Ordner in denen der VDR Daten ablegen kann. Auch einen Ordner um die Aufnahmen des VDR-Servers einzubinden muss noch erstellt werden.

Ordner erstellen
sudo mkdir -p /srv/vdr/video
Dateirechte setzen. Hier z.B. für den User pi
sudo chown -R pi:pi /srv/vdr
sudo chown -R pi:pi /var/lib/vdr
sudo chown -R pi:pi /var/cache/vdr