header.png
raspiVDR - Client

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

Downloads

raspiVDR Client

JA, ES GEHT, der Raspberry Pi ist als Client für einen VDR geeignet, und in der neuen Version mit 4-Kern CPU sind auch aufwändige Skins wie skin-flatplus oder skin-nopacity durchaus flüssig zu bedienen.

Info für VDR Neulinge Ein VDR-Server mit installiertem streamdev-server-plugin stellt für jeden Client einen eigenen TV Stream zur Verfügung. Somit kann jeder Client unabhängig von anderen Clients zwischen TV Programmen umschalten. Vorausgesetzt, der Server verfügt über ausreichend viele Empfangskarten.

Für meine Raspberry PI VDR-Clients raspiVDR habe ich alle Änderungen an einer Originalinstallation von Raspbian (Jessie) in einem TAR Archiv gesammelt. Diese Änderungen können hier heruntergeladen und installiert werden. Damit sollte ein funktionsfähiger VDR-Client aufgesetzt werden können.

Beschreibung

Eigenschaften
ein betriebsbereiter VDR-Server wird vom Client erkannt. Voraussetzung: Port 2004 (streamdev-server-plugin) ist eingerichtet. Die IP-Nummer des Servers wird vom Client beim Hochfahren gefunden, und in die Konfigurationsdateien z.B. /var/lib/vdr/setup.conf eingetragen.
Die MAC Adresse des Servers wird registriert. Damit kann der Server bei jedem zukünftigen Neustart des Clients aufgeweckt werden.
Aufnahmetimer von jedem Client aus auf dem Server setzen. Somit können Aufnahmen zentral abgelegt und an jedem Client abgespielt werden.
Falls der VDR-Server auf der Basis von easyVDR läuft und dort NFS eingerichtet ist, wird auch der Aufnahmeordner des Servers im raspiVDR Client automatisch eingebunden. Für andere Server bitte den entsprechenden Eintrag in /etc/fstab des Clients ändern.

Diese Plugins sind in raspiVDR integriert:
rpihddevice -> Das Ausgabeplugin für den Raspberry PI
streamdev-client -> empfängt die TV Streams vom Server
svdrpservice, epgsync, remotetimers, remoteosd, peer -> Steuerung und Kommunikation mit dem Server wie z.B. Timer auf dem Server setzen, EPG Daten vom Server abholen
femon -> Qualitätsdaten über die im Server verbauten Empfangskarten anzeigen
skin-flatplus, skin-nopacity -> ändert die Optik vom VDR-Client
tvguide, tvscraper -> Übersichtliche Darstellung der EPG Daten auf dem Client

von raspiVDR unterstützte Hardware (alles Optional)
IR Empfänger direkt an GPIO über LIRC
Fernbedienungen Hauppauge A451-HPG und Technisat TTS35mod sind bereits enthalten. Konfigurationsdateien anderer Fernbedienungen können weiterverwendet werden.
2 Status LED's als Netzwerk und VDR Betriebsanzeige
EEProm 24C64 zur Speicherung Clientspezifischer Daten wie z.B. Hostname, Fernbedienungstyp, Kanalliste ... Damit kann die SD-Karte das Clients für den nächsten Client kopiert werden ohne manuelle Änderungen vorzunehmen.

Anleitung zum installieren

Eine sehr ausführliche Installationsanleitung für den VDR auf dem Raspberry Pi findet ihr im VDR-Wiki VDR Client mit rpihddevice, eine sehr detailierte Beschreibung nach der auch ich die ersten Versuche unternommen habe.

Vorbereitung

Diese Anleitung geht davon aus, dass bereits eine Basisinstallation von Raspbian (Version 8 "Jessie") auf dem Raspberry installiert ist.
Die SD-Karte sollte mindestens 8 GB groß sein.
Diese Einstellungen solltet ihr aber noch vorher vornehmen:

  • Die Systempartition vergrößern
Tipp: Lasst am Ende der SD-Karte noch mindestens 500 MB ungenutzten Speicherplatz um eine Sicherungskopie auf eine andere SD-Karte durchführen zu können. Die tatsächliche Größe der SD-Karten (auch vom selben Typ) ist nicht immer gleich.

  • Umstellung der Systemsprache und des Tastaturlayouts.
(Inzwischen wurde dieser Fehler bei Raspbian behoben)
Fehler: Das grafische Einstellungstool von Raspbian speichert das Tastaturlayout nicht richtig, nach einem Neustart ist wieder das originale Layout eingestellt. Über ein Terminal kann dies aber dauerhaft umgestellt werden.
sudo dpkg-reconfigure keyboard-configuration

VDR Installation

Für die nachfolgende Installation müsst ihr ein Terminal öffnen und alle Anweisungen in den nachfolgenden grauen Boxen durchführen. ( Info für Windowsnutzer)

Installscript laden

Das Installscript raspivdr-install-first.sh nach /home/pi ins "Home" Verzeichnis vom Standarduser pi kopieren.
cd /home/pi
wget http://www.sigvdr.de/download/VDR/raspivdr-client/raspivdr-install-first.sh


Installscript ausführen

Vorsicht: Beim Installieren werden Konfigurationsdateien wie z.B. /boot/config.txt überschrieben, diese bei Bedarf zuerst sichern!

Installscript ausführen.
sh raspivdr-install-first.sh 

Das Installscript führt diese Arbeitschritte aus:
  • Download des aktuellen raspiVDR
Die neueste Datei raspiVDR-<DATUM>.tar.gz wird geladen.
  • Systemupdate
Zuerst wird das Basissystem von Raspbian auf den neuesten Stand gebracht und zusätzlich benötigte Pakete installiert. Dieser Vorgang kann mehrere Minuten dauern, wenn das Basissystem nicht aktuell war.
  • Entpacken
Die geladene Datei raspiVDR-<DATUM>.tar.gz wird entpackt.
  • VDR Bauen
der VDR und seine Plugins werden bei Bedarf neu erstellt. Was hierbei genau passiert ist auf der Seite TODO genauer beschrieben.

Fertig

Jetzt sollte alles installiert sein, Zeit für einen Neustart
sudo reboot

Infos zu raspiVDR

Scripte

Die Scripte für die Erkennung des VDR-Servers und den Start des VDR-Clients sind in /usr/local/bin gesammelt. Beim Hochfahren des Clients wird daraus zunächst das Script startvdr über /etc/rc.local gestartet.

Konfiguration

Fernbedienung
/etc/lirc ist wie üblich der Ordner für die Fernbedienungskonfiguration. Dabei ist lircd.conf ein Symlink auf die jeweils genutzte Fernbedienungsdatei. Dieser Symlink kann entsprechend den Daten im optional benutzbaren EEProm per Script geändert werden. Bestimmte Aktionen sind über /etc/lirc/lirc/lircrc konfigurierbar, wie z.B. umschalten zw. VDR und Kodi (XBMC).
VDR
/var/lib/vdr ist wie üblich der Ordner für die VDR Konfiguration. Dabei ist channels.conf ein Symlink auf die jeweils genutzte Kanalliste. Dieser Symlink kann entsprechend den Daten im optional benutzbaren EEProm per Script geändert werden. Auch Einträge in setup.conf werden per Script überschrieben, z.B. die IP-Nummer Einträge des VDR-Servers.
raspiVDR
/var/lib/vdr/sysconfig enthält die zusätzliche konfiguration von raspiVDR. Diese sysconfig wird durch eine Datei sysconfig.user ergänzt. sysconfig.user kann optional im EEProm gespeichert werden, dort sind die Clientspezifischen Daten wie z.B. der Hostname abgelegt.

VDR

Es wird VDR 2.2.0 benutzt. Der Quellcode des VDR und den Plugins wird nach /home/pi/source/vdr geladen und dort gebaut.
Bei einem Update vom Raspbian Basissystem ist es möglicherweise notwendig, den VDR und die Plugins neu zu bauen.
makevdr.sh
Den VDR neu bauen (mit möglichen Updates der Plugins)

Die übrigen Scripte in /home/pi/source/vdr müssen nur bei der Neuinstallation des VDR einmalig ausgeführt werden.
build-dep-vdr.sh
installiert Pakete die zum bauen des VER notwendig sind
download-vdr.sh
download-plugins.sh
Diese Scripte laden den Quellcode des VDR und der verschidenen Plugins herunter

Backup

Alle bisherigen Änderungen werden über /home/pi/backup/raspivdr-backup in einem Archiv raspiVDR-(Datum).tar.gz gesammelt.