Kategorie:Raspbian VDR Streaming Client mittels Streamdev und rpihddevice

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Installation vorbereiten)
K
 
(120 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
=Einleitung=
 +
Diese Step-by-Step-Anleitung beschreibt die Installation und Konfiguration eines VDR Streaming Client Systems mittels [[Streamdev-plugin]] und einem [[Raspberry Pi]]. Es wird davon ausgegangen, dass es bereits einen VDR mit lauffähigem [[Streamdev-plugin|Streamdev-Server Plugin]] gibt. Für die Bildausgabe auf den TV kommt das [[Rpihddevice-plugin]] zum Einsatz.
 +
 +
Sept. 2015: e-tobi stellt Pakete für den PI2 bereit. Das vereinfacht die Installation, ist aber hier eigentlich OT. Link ist ganz unten.
 +
 
=Modifikationen / Veränderungen=
 
=Modifikationen / Veränderungen=
 
Bitte in folgende Liste Änderunge/Verbesserungen der Installation aufführen, so daß es einfach ist existierende Installationen zu verbessern mit den Deltas.
 
Bitte in folgende Liste Änderunge/Verbesserungen der Installation aufführen, so daß es einfach ist existierende Installationen zu verbessern mit den Deltas.
 
==Dez 2014 - Jan 2015==
 
==Dez 2014 - Jan 2015==
 
'''reufer''':
 
'''reufer''':
 +
* 0.0.11 commit für rpihddevice. Achtung, braucht neue RPI Firmware. RPI Firmware seit 3.18 braucht "dtoverlay=lirc-rpi" in /boot.config.txt damit lirc über GPIO (wie hier beschrieben) funktioniert.
 
* Commit für rpihddevice damit "ZDF" HD Kanäle korrekt abgespielt werden:
 
* Commit für rpihddevice damit "ZDF" HD Kanäle korrekt abgespielt werden:
 
* http://www.vdr-portal.de/board18-vdr-hardware/board98-arm-co/p1224718-rpihddevice-aktuelle-version-aus-dem-git-osd-top-aber-probleme-bei-der-wiedergabe/#post1224718
 
* http://www.vdr-portal.de/board18-vdr-hardware/board98-arm-co/p1224718-rpihddevice-aktuelle-version-aus-dem-git-osd-top-aber-probleme-bei-der-wiedergabe/#post1224718
 
* Commit für rpihddevice damit non-PES Standbilder korrekt widergegeben werden (wie vom suspendoutput module).
 
* Commit für rpihddevice damit non-PES Standbilder korrekt widergegeben werden (wie vom suspendoutput module).
'''te36''': Veränderungen
+
'''te36''':  
 +
* Erklärung von Kriterien bei der Wahl der Fernbedienung.
 +
* Live plugin (9.1.2015)
 +
* Consolefont vergrößern (dpkg-reconfigure).
 +
* Sektion zum SD Management angefügt: Kopieren, Clonen, Lebensdauer verbessern.
 
* Erklärungen verbessert (svdrpdevice, remote.conf für Keyboard, Umschalten von virtuellen Terminals, logging dateien, MPEG2 lizenzen)
 
* Erklärungen verbessert (svdrpdevice, remote.conf für Keyboard, Umschalten von virtuellen Terminals, logging dateien, MPEG2 lizenzen)
 
* Turbo mode am RPI aktivieren
 
* Turbo mode am RPI aktivieren
Zeile 13: Zeile 23:
 
* suspendoutput module eingebaut
 
* suspendoutput module eingebaut
  
==Oct. 2014==
+
'''sewn4''':
'''sewn4''': Initiale Installationsanleitung
+
* Neuen Raspberry aufgebaut und Wiki dabei aktualisiert
* Raspbian Wheezy vom 20.06.2014 (Kernel 3.12.29+ armv6l)  
+
 
* VDR 2.1.6
+
'''fauthd''':
* rpihddevice Plugin (aus dem GIT vom 06.10.2014) / 0.0.10
+
* Sysvinit (optional)
* Streamdev Plugin (aus dem CVS vom 19.09.2014) / 0.6.1-git
+
* "Wake on LAN" zum Wecken des Servers (optional)
* svdrpservice Plugin 1.0.0
+
* Vdr unter separatem Nutzer vdr (optional)
* epgsync Plugin 1.0.1
+
* Editor nano statt vi (optional)
* remotetimers Plugin 1.0.1
+
* Einschalten mit Taster
 +
* Verschiedene Kleinigkeiten
  
=Einleitung=
 
Diese Step-by-Step-Anleitung beschreibt die Installation und Konfiguration eines VDR Streaming Client Systems mittels [http://www.vdr-wiki.de/wiki/index.php/Streamdev-plugin Streamdev Plugin] und einem Raspberry Pi. Es wird davon ausgegangen, dass es bereits einen VDR mit lauffähigem [[Streamdev-plugin|Streamdev-Server Plugin]] gibt. Für die Bildausgabe auf den TV kommt das [http://www.vdr-portal.de/board18-vdr-hardware/board98-arm-co/120344-prototyp-rpi-ausgabeplugin/ rpihddevice Plugin] zum Einsatz.
 
  
=Voraussetzungen=
+
== Erwünschte Anleitungen ==
* ein vorhandenes VDR System mit lauffähigem Streamdev-Server Plugin (Beispiel [http://www.vdr-wiki.de/wiki/index.php/Kategorie:Ubuntu_HD_VDR_mittels_SoftHDDevice_und_VDPAU VDR System])
+
* Anleitung für Avahi, damit NFS automatisch eingehängt wird.
* einen [[Raspberry Pi]] der als Streaming Client fungiert
+
  
==Optional: MPEG-2 und VC-1 Lizenzen==
+
=Voraussetzungen=
Die Lizenzen sind nötig damit der Raspberry Pi die MPEG-2 sowie VC-1 Datenstreams per Hardware decodieren kann. Die Lizenzen können im offiziellen [http://www.raspberrypi.com/license-keys/ Raspberry Pi Onlineshop] erworben werden. Die MPEG-2 Lizenz braucht man um die meisten deutschen nicht-HD Sender die von Astra kommen zu dekodieren, da diese mit MPEG-2 übertragen werden. Alle HD-Sender sind H264, dafür ist keine Lizenz notwendig.
+
* Ein vorhandenes VDR System mit lauffähigem Streamdev-Server Plugin (Beispiel [[:Kategorie:Ubuntu_HD_VDR_mittels_SoftHDDevice_und_VDPAU|VDR System]])
 +
* Einen [[Raspberry Pi]] der als Streaming Client fungiert.  
 +
** Die Installationsanleitung bezieht sich auf Modell B/B+ die beide eingebautes Ethernet und 512 MByte RAM haben.
 +
** Der B+ hat zwei USB Ports mehr als der B und eine bessere Stromversorgung. Evtl. funktioniert bei ihm auch das Overclocking (Turbo-Mode) besser.
 +
** Achtung: Gehäuse für B und B+ sind verschieden!
 +
** Achtung: Bei der Stromversorgung für den RPI darauf achten, daß das Netzteil mindestens 1.2 A liefert und das das USB Kabel gute Qualität hat. Lange USB Kabel (3 meter oder länger) haben häufig sehr dünne Stromleitungen und dann läuft der RPI instabil).
 +
* Einen Receiver/Fernseher mit HDMI Eingang. Der RPI hat auch einen Analog-Videoausgang, es ist aber nicht bekannt ob damit schon jemand die VDR Installation getestet hat (bitte hier eintragen wenn ja!).
  
* [http://www.raspberrypi.com/mpeg-2-license-key/ MPEG-2] sowie [http://www.raspberrypi.com/vc-1-license-key/ VC-1] Lizenzen für den Raspberry Pi.
+
==SD Karten==
 +
Der Raspberry benötigt eine, oder für Backup besser 2 SD Karten mit >= 8 GByte. Bei Installation von vielen Plugins und deren Abhängigkeiten oder Entwicklungsumgebungstools können leicht mehr als 60% einer 8GByte SD Karte gebraucht werden. Es empfiehlt sich auf jeden Fall Micro-SD zu kaufen mit SD Adapter. Der RPI B hat einen SD Karten Slot, der B+ einen Micro-SD Karten Slot.
  
Die Lizenzen werden per email bis zu 48 Stunden nach Kauf verschickt, also rechtzeitig bestellen, wenn man MPEG-2/SD anschauen will.
+
Um SD Backup direkt am RPI zu machen braucht man noch einen SD/USB reader. Am besten noch ein USB Verlängerungskabel oder einen kleinen Micro-USB-Reader  damit keiner der anderen USB Ports am RPI geblockt wird, wenn man da z.b. IR-Empfänger oder WLAN verwenden will.
  
 
=Welche Hardware wird benötigt?=
 
=Welche Hardware wird benötigt?=
Zeile 41: Zeile 56:
 
Hier die Übersicht über meine Hardware:
 
Hier die Übersicht über meine Hardware:
  
===VDR System===
+
{|
[http://www.vdr-wiki.de/wiki/index.php/Kategorie:Ubuntu_HD_VDR_mittels_SoftHDDevice_und_VDPAU#Hardwarebeispiel VDR System]
+
|'''VDR System'''
 
+
|[[:Kategorie:Ubuntu_HD_VDR_mittels_SoftHDDevice_und_VDPAU#Hardwarebeispiel|VDR System]]
===Raspberry Pi===
+
|-
'''Raspberry Pi:'''     Raspberry Pi Model B+ original "UK" mit Samsung Speicher 512MB
+
|'''Raspberry Pi:'''
'''Gehäuse:'''           Raspberry Pi B+ Gehäuse - belüftet, Farbe schwarz durchsichtiges Plexiglas
+
|Raspberry Pi Model B+ original "UK" mit Samsung Speicher 512MB
'''Netzteil:'''         Steckernetzteil Micro-USB 5V 2000mA für Raspberry Pi
+
|-
'''SD-Karte:'''         SanDisk Class 10 Ultra Micro SDHC 32GB
+
| '''Gehäuse:'''
'''Kupfer Kühlkörper:''' Cooltek BGA VGA-RAM Cooler - Maße (LxBxH): ca. 21x16x6.5 mm
+
|Raspberry Pi B+ Gehäuse - belüftet, Farbe schwarz durchsichtiges Plexiglas
 +
|-
 +
| '''Netzteil:'''
 +
|Steckernetzteil Micro-USB 5V 2000mA für Raspberry Pi
 +
|-
 +
| '''SD-Karte:'''
 +
|SanDisk Class 10 Ultra Micro SDHC 32GB
 +
|-
 +
| '''Kupfer Kühlkörper:'''
 +
|Cooltek BGA VGA-RAM Cooler - Maße (LxBxH): ca. 21x16x6.5 mm
 +
|-
 +
|}
  
 +
<!--
 
==Stromverbrauch==
 
==Stromverbrauch==
 
* Muss noch ergänzt werden *
 
* Muss noch ergänzt werden *
 +
-->
  
 
==Wie schnell startet das System?==
 
==Wie schnell startet das System?==
 
Vom einschalten bis zum TV Bild vergehen 25 Sekunden.
 
Vom einschalten bis zum TV Bild vergehen 25 Sekunden.
 +
==Stromverbrauch==
 +
Siehe folgenedn link: [http://www.elektronik-kompendium.de/sites/raspberry-pi/1910071.htm]
  
 
=Welche Softwareversionen werden eingesetzt?=
 
=Welche Softwareversionen werden eingesetzt?=
 
==Betriebssystem==
 
==Betriebssystem==
* Raspbian Wheezy vom 20.06.2014 (Kernel 3.12.29+ armv6l)
+
* Raspbian Wheezy vom 24.12.2014 (Kernel 3.12.35+ armv6l)
  
 
==Video Disc Recorder==
 
==Video Disc Recorder==
Zeile 65: Zeile 95:
  
 
==Video Disk Recorder Plugins==
 
==Video Disk Recorder Plugins==
* rpihddevice Plugin (aus dem GIT vom 06.10.2014) / 0.0.10
+
* rpihddevice Plugin (aus dem GIT vom 30.12.2014) / 0.0.10
* Streamdev Plugin (aus dem CVS vom 19.09.2014) / 0.6.1-git
+
* Streamdev Plugin (aus dem GIT vom 23.12.2014) / 0.6.1-git
 
* svdrpservice Plugin 1.0.0
 
* svdrpservice Plugin 1.0.0
 
* epgsync Plugin 1.0.1
 
* epgsync Plugin 1.0.1
 
* remotetimers Plugin 1.0.1
 
* remotetimers Plugin 1.0.1
 
* suspendoutput Plugin 2.0.0
 
* suspendoutput Plugin 2.0.0
 +
* live plugin (0.3.0)
  
 
=Installation und Konfiguration Raspberry Pi Betriebssystem=
 
=Installation und Konfiguration Raspberry Pi Betriebssystem=
==Einleitung==
 
 
Um den [[Raspberry Pi]] nutzen zu können ist es nötig ein Betriebssystem (OS) zu installieren. Als Betriebssystem verwende ich Raspbian Wheezy und dieses kann [http://www.raspberrypi.org/downloads hier] kostenfrei heruntergeladen werden. Nach dem herunterladen muss die Datei auf der Festplatte entpackt werden. Die darin enthaltene *.img Datei wird später benötigt. Für die Vorbereitungen verwende ich einen Windows Client. Es können aber auch Mac OS X oder Linux verwendet werden siehe [http://www.raspberrypi.org/quick-start-guide hier].
 
Um den [[Raspberry Pi]] nutzen zu können ist es nötig ein Betriebssystem (OS) zu installieren. Als Betriebssystem verwende ich Raspbian Wheezy und dieses kann [http://www.raspberrypi.org/downloads hier] kostenfrei heruntergeladen werden. Nach dem herunterladen muss die Datei auf der Festplatte entpackt werden. Die darin enthaltene *.img Datei wird später benötigt. Für die Vorbereitungen verwende ich einen Windows Client. Es können aber auch Mac OS X oder Linux verwendet werden siehe [http://www.raspberrypi.org/quick-start-guide hier].
  
==Betriebssystem vorbereiten==
+
* [[Raspbian VDR Streaming Client - Betriebssystem vorbereiten|Betriebssystem vorbereiten]]
===SD-Karte für den Raspberry Pi formatieren===
+
* [[Raspbian VDR Streaming Client - Konfiguration Raspberry Pi|Konfiguration Raspberry Pi]]
Um das Betriebssystem auf der SD-Karte zu installieren muss diese zuerst formatiert und vorbereitet werden.
+
* [[Raspbian VDR Streaming Client - Netzwerkkonfiguration‎|Netzwerkkonfiguration‎]]
 
+
* [[Raspbian VDR Streaming Client - MPEG-2 und VC-1 Lizenzen‎|MPEG-2 und VC-1 Lizenzen‎]]
# SD-Karte in den Computer einlegen
+
* [[Raspbian VDR Streaming Client - Firmware aktualisieren|Firmware aktualisieren]]
# Herunterladen eines Formatierungs-Tools (ich empfehle den [https://www.sdcard.org/downloads/formatter_4/eula_windows/ SD Formatter])
+
* [[Raspbian VDR Streaming Client - Systemoptimierungen‎|Systemoptimierungen‎]]
# SD Formatter installieren und starten
+
* [[Raspbian VDR Streaming Client - VDR Installation|VDR Installation]]
# Optionen für die Formatierung auswählen
+
* [[Raspbian VDR Streaming Client - VDR Plugins|VDR Plugins]]
#: Format Type -> QUICK
+
* [[Raspbian VDR Streaming Client - Satip Plugin|Satip Plugin]]
#: Format Size Adjustment -> ON
+
* [[Raspbian VDR Streaming_Client - LIRC|Optional: Lirc - Raspberry Pi mit der Fernbedienung steuern]]
# Volume Label überprüfen
+
* [[Raspbian VDR Streaming Client - SD Management|SD Management]]
#: Hier muss sichergestellt sein das die SD-Karte ausgewählt ist. In meinem Beispiel Laufwerk E:
+
* [[Raspbian VDR Streaming Client - Einschalten mit Taster|Ein-/Ausschalten mit Taster]]
# Mit der Schaltfläche "Format" die Formatierung starten
+
* [[Raspbian VDR Streaming Client - Install Scripts|Install Scripts]]
#: '''Achtung!''' Alle Daten auf dem Laufwerk werden gelöscht.
+
* [http://www.sigvdr.de/VDR/VDR-Client/raspiVDR.html Alternative VDR Build Scripts ] vereinfacht das Herunterladen und Bauen des VDR incl. den Plugins
 
+
* [[::Kategorie:Raspbian_VDR_Streaming_Client_yaVDR_Pakete|Noch eine Alternative mit yaVDR-Quelltext-Paketen]]
 
+
Nach erfolgreicher Formatierung kann der SD Formatter geschlossen werden.
+
 
+
===Betriebssystem auf die SD-Karte übertragen===
+
Das Raspbian Betriebssystem muss auf die formatierte SD-Karte übertragen werden.
+
 
+
# SD-Karte in den Computer einlegen
+
# Herunterladen eines Diskimage-Tools (ich empfehle [http://sourceforge.net/projects/win32diskimager/files/latest/download Win32 Disk Imager])
+
# Win32DiskImager installieren und starten
+
#: Betriebssystem Image und passendes Laufwerk (SD-Karte) auswählen und starten:
+
#: Image File: D:/2014-06-20-wheezy-raspbian.img
+
#: Device:    E:
+
#: Write
+
#: Nach erfolgreicher Übertragung kann der Win32 Disk Imager geschlossen werden.
+
# SD-Karte in den Raspberry Pi einlegen und starten
+
 
+
==Konfiguration Raspberry Pi==
+
Nach dem ersten Start des Raspberry Pi wird automatisch das Raspbian Betriebssystem gestartet und das Konfigurationstool '''raspi-config''' wird angezeigt. Folgende Konfigurationen habe ich der Reihe nach durchgeführt:
+
 
+
===Update Raspberry Configuration Tool===
+
'''8 Advanced Options''' -> Select -> A7 Update -> Select
+
 
+
===Expand Filesystem===
+
'''1 Expand Filesystem''' -> Select -> Ok
+
 
+
===Change User Password===
+
'''2 Change User Password''' -> Select -> Ok
+
+
Enter new Unix password: Euer Passwort
+
+
-> Ok
+
 
+
===Enable Boot to Desktop/Scratch===
+
'''3 Enable Boot to Desktop/Scratch''' -> Select -> Console Text console, requiring login (default) -> Ok
+
 
+
===Internationalisation Options===
+
====Change Timezone====
+
'''4 Internationalisation Options''' -> Select -> I2 Change Timezone -> Return -> Europe -> Return -> Berlin -> Return
+
 
+
====Change Keyboard Layout====
+
'''4 Internationalisation Options''' -> Select -> I3 Change Keyboard Layout -> Select -> Generic 105-key (Intl) PC -> Select -> Other -> Ok ->
+
German -> Ok -> German -> Ok -> The default for the keyboard layout -> Ok -> No compose key -> Ok -> No
+
 
+
====Change Locale====
+
'''4 Internationalisation Options''' -> Select -> I1 Change Locale -> Select ->
+
 
+
Locales to be generated:
+
+
'''Uncheck:''' en_GB.UTF-8 UTF-8
+
'''Check:'''  de_DE.UTF-8 UTF-8
+
 
+
-> OK
+
+
Default locale for the system environment:
+
de_DE.UTF-8
+
+
-> OK
+
 
+
===Advanced Options===
+
'''8 Advanced Options''' -> Select -> A2 Hostname -> Select -> Ok -> pi01 -> Ok
+
'''8 Advanced Options''' -> Select -> A3 Memory Split -> Select-> 128 -> Ok
+
'''8 Advanced Options''' -> Select -> A4 SSH -> Select -> Enable -> Ok
+
 
+
===Optional: Overscan deaktivieren===
+
Unter Umständen kann es vorkommen das später das TV Bild oder OSD vom VDR nicht komplett bzw. zu groß angezeigt wird. Dann kann es nötig sein den Overscan zu deaktivieren.
+
 
+
sudo raspi-config
+
+
'''8 Advanced Options''' -> Select -> A1 Overscan -> Disable -> Ok
+
 
+
===Optional: Turbo mode aktivieren===
+
Da im folgenden einiges an Software compiliert wird, bietet es sich an, auf dem RPI den Turbo Mode zu aktivieren, mit dem der RPI ca. 50% schneller wird.
+
 
+
http://www.raspberrypi.org/introducing-turbo-mode-up-to-50-more-performance-for-free/
+
 
+
sudo raspi-config
+
 
+
'''7 Overclock''' -> Select -> Turbo 1000Mhz -> Ok
+
 
+
Wenn das nicht stabil läuft, rückgängig machen. Wenn im schlimmsten Fall der RPI nicht stabil bootet, so daß man raspi-config nicht mehr starten kann, dann einfach die (micro-)SD Karte des RPI auf einem anderen Rechner mounten und die Turbo Parameter in '''config.txt''' auskommentieren. Das '''config.txt''' liegt auf einem FAT16 filesystem, das läßt sich also auf jedem Rechner (Windows/iOS/Android/Linux/..) mounten:
+
 
+
#uncomment to overclock the arm. 700 MHz is the default.
+
#arm_freq=1000
+
#core_freq=500
+
#sdram_freq=600
+
#over_voltage=6
+
 
+
===Abschließen der Konfiguration===
+
'''Finish''' -> Would you like to reboot now? -> Yes
+
 
+
==Netzwerkkonfiguration==
+
Um zukünftig euren Raspbery Pi mit einer feste IP Adresse ansprechen zu können muss diese konfiguriert werden. Die IP Adressdaten müssen an euer Netzwerk angepasst werden.
+
 
+
===Logindaten für die Konsole===
+
Benutzername: pi
+
Passwort:    <euer Passwort>
+
 
+
===Feste IP Adresse einrichten===
+
sudo vi /etc/network/interfaces
+
 
+
Ändern von:
+
iface eth0 inet dhcp
+
 
+
Ändern nach:
+
iface eth0 inet static
+
address 192.168.0.11
+
netmask 255.255.255.0
+
gateway 192.168.0.254
+
network 192.168.0.0
+
broadcast 192.168.0.255
+
 
+
===DNS Server einrichten===
+
sudo vi /etc/resolv.conf
+
 
+
nameserver 192.168.0.254
+
 
+
===Raspberry Pi neustarten===
+
sudo init 6
+
 
+
==Remotezugriff per SSH auf die Linux Konsole==
+
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.11
+
Benutzername: pi
+
Passwort:    <euer Passwort>
+
 
+
==Optional: MPEG-2 und VC-1 Lizenzen==
+
Die Lizenzen sind nötig damit der Raspberry Pi die MPEG-2 sowie VC-1 Datenstreams per Hardware decodieren kann.
+
 
+
===Lizenzen einspielen===
+
Eure Lizenzen müssen in der Datei '''config.txt''' eintragen werden:
+
sudo vi /boot/config.txt
+
 
+
# MPEG-2 and VC-1 license keys
+
decode_MPG2=<euer Lizenzkey>
+
decode_WVC1=<euer Lizenzkey>
+
 
+
Das folgende Beispiel zeigt, wie man die Lizenzen für mehrere RPIs eintragen kann, so daß man seine SD-Karte einfach für mehrere RPIs kopieren kann:
+
 
+
# MPEG-2 and VC-1 license keys
+
decode_MPG2=0x86123436,0xc56789da
+
decode_WVC1=0x12c1234e,0x15678f09
+
 
+
===Raspberry Pi neustarten===
+
sudo init 6
+
 
+
===Prüfen der eingespielten Lizenzen===
+
vcgencmd codec_enabled MPG2
+
MPG2=enabled
+
 
+
vcgencmd codec_enabled WVC1
+
WVC1=enabled
+
 
+
==Firmware auf dem Raspberry Pi aktualisieren==
+
===Prüfen der vorhandenen Versionen===
+
uname -a
+
+
Linux pi01 3.12.22+ #691 PREEMPT Wed Jun 18 18:29:58 BST 2014 armv6l GNU/Linux
+
 
+
/opt/vc/bin/vcgencmd version
+
+
Jun 18 2014 18:46:58
+
Copyright (c) 2012 Broadcom
+
version 1a6f79b82240693dcdb9347b33ab16f656b5f067 (clean) (release)
+
 
+
===Firmware Update starten===
+
sudo apt-get install rpi-update
+
sudo rpi-update
+
sudo init 6
+
 
+
===Prüfen der aktualisierten Versionen===
+
uname -a
+
+
Linux pi01 3.12.26+ #703 PREEMPT Tue Aug 12 18:13:52 BST 2014 armv6l GNU/Linux
+
 
+
/opt/vc/bin/vcgencmd version
+
+
Aug 12 2014 18:25:27
+
Copyright (c) 2012 Broadcom
+
version f32b2bbfdea55d48c9a52b92e5c798f9aa5f47bc (tainted) (release)
+
 
+
==Nicht benötigte Systempakete deinstallieren==
+
sudo apt-get remove wolfram-engine
+
 
+
==Raspbian Softwarepakete auf den aktuellen Stand bringen==
+
sudo apt-get update
+
sudo apt-get upgrade
+
 
+
sudo init 6
+
 
+
==Für VDR benötigte Systempakete installieren==
+
'''Raspbian benötigte Pakete:'''
+
sudo apt-get install vim git
+
 
+
'''VDR benötigte Pakete:'''
+
sudo apt-get install gettext g++ libfreetype6-dev libfontconfig1-dev libcap-dev libjpeg-dev libncurses5-dev libncursesw5-dev
+
 
+
'''Raspberry Pi HD Device Plugin benötigte Pakete:'''
+
sudo apt-get install libavcodec-dev libavformat-dev libavutil-dev libavresample-dev libavresample1
+
 
+
'''Lirc benötigte Pakete:'''
+
sudo apt-get install lirc
+
 
+
==Datenverzeichnis vorbereiten==
+
In diesem Verzeichnis werden später die Installationspakete etc. abgelegt.
+
 
+
sudo mkdir /data
+
sudo chown -R pi.pi /data
+
 
+
==Bildschirmschoner sowie Standby deaktivieren==
+
sudo vi /etc/kbd/config
+
 
+
# screen blanking timeout.  monitor remains on, but the screen is cleared to
+
# range: 0-60 min (0==never)  kernels I've looked at default to 10 minutes.
+
# (see linux/drivers/char/console.c)
+
#BLANK_TIME=30
+
BLANK_TIME=1
+
 
+
# Powerdown time.  The console will go to DPMS Off mode POWERDOWN_TIME
+
# minutes _after_ blanking.  (POWERDOWN_TIME + BLANK_TIME after the last input)
+
#POWERDOWN_TIME=30
+
POWERDOWN_TIME=0
+
 
+
==Optional: Konsole umlenken==
+
Bei Linux werden Fehlermeldungen von Systemaktivitaeten und die Logausgaben vom Bootstrap auf /dev/console ausgegeben. Standardmaessig ist /dev/console auf dem ersten virtuellen Terminal, was auf dem RPI /dev/tty1 ist. Da es auf den meisten Linux Installationen moeglich ist im Betrieb zwischen den virtuellen Terminals umzuschalten, und dann auch das erste virtuelle Terminal im Textmodus zu verwenden (z.b. bei der Fehlerdiagnose), wird haeufig empfohlen, /dev/console auf ein anderes virtuelles Terminal umzulenken, so dass die logausgaben dort separat einsehbar sind.
+
 
+
Bei VDR Installation fuer den RPI ist es andererseits auch sinnvoll, diese Veraenderung nicht zu machen: Ohne die folgende Veraenderung sieht man beim booten alle Logausgaben: Erst Linux Kernel, dann die Bootscripten - und danach startet der VDR. Mit der Veraenderung sieht man die Ausgaben der Bootscripten direkt beim booten nicht mehr weil die schon auf /dev/tty10 gehen, waehrend noch /dev/tty1 angezeigt wird, solange der VDR nicht gestartet wurde.
+
 
+
Die Funktionsweise des VDR selbst ist von dieser Veraenderung nicht betroffen: seine Ein/Ausgaben werden durch die Konfiguration von runvdr  auf das virtuelle terminal 9 (/dev/tty9) gelenkt - und im Betrieb angezeit. Es ist also irrelevant, ob die Konsolausgaben auf /dev/tty1 oder /dev/tty10 erfolgen.
+
 
+
sudo vi /boot/cmdline.txt
+
 
+
'''Ändern von:'''
+
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 '''console=tty1''' root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
+
 
+
'''Abändern in:'''
+
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 '''console=tty10''' root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
+
 
+
'''Umschalten zwischen den virtuellen Terminals:'''
+
Um später die Logausgaben auf der tty10 Konsole sehen zu können kann auf diese mit folgender Tastenkombination gewechselt werden:
+
 
+
STRG + ALT + F10
+
 
+
zur Standardkonsole tty1 kommt Ihr wieder zurück:
+
 
+
STRG + ALT + F1
+
 
+
Leider funktioniert dies wenn der VDR laeuft mit rpihddevice (Stand: Version 0.0.10) nicht korrekt: Wenn man mit obigen Tastenkombinationen vom virtuellen Terminal 9 wegschaltet (auf dem der VDR laeuft), dann sollte eigentlich das Videobild des VDR abgeschaltet werden. Dies ist anscheinend nicht unterstuetzt. Es wird also weiterhin das Videobild des VDR angezeigt, obwohl das virtuelle Terminal umgeschaltet wird. Man kann dann also nur "blind" auf einem anderen virtuellen Terminal arbeiten.
+
 
+
=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.6.tar.bz2
+
 
+
==pi Benutzer in die Gruppe video und audio aufnehmen==
+
sudo adduser pi video
+
sudo adduser pi audio
+
 
+
==VDR entpacken, vorbereiten und installieren==
+
cd /usr/local/src
+
sudo tar -xjf /data/installfiles/vdr/vdr-2.1.6.tar.bz2
+
sudo ln -s vdr-2.1.6/ 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 '''pi''' 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
+
 
+
pi ALL=(ALL) NOPASSWD: /usr/local/bin/vdrpoweroff.sh,/sbin/poweroff
+
 
+
===Installation starten===
+
cd /usr/local/src/vdr
+
sudo make REMOTE=LIRC && sudo make install
+
 
+
==VDR mittels runvdr starten==
+
Das Skript runvdr wird benötigt um den VDR zu starten.
+
===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.0 2011/04/17 12:34:30 kls Exp $
+
+
export LANG=de_DE.utf8
+
export LC_COLLATE=de_DE.utf8
+
export VDR_CHARSET_OVERRIDE=ISO-8859-9
+
+
# When VDR changes video streams (channel change or from/to recordings),
+
# it will shortly switch to the virtual terminal from which it is started.
+
# We use tty9 (virtual terminal 9), and clear it so that this background
+
# is black.
+
#
+
# If a keyboard is connected to the RPI and VDR is running, you can use
+
# keyboard commands to control VDR.
+
#
+
# Note that the rpihddevice does not "support" virtual terminal switching
+
# (as of version 0.0.10). If you change terminals with CTRL ALT Fn
+
# away from terminal 9 while VDR is running, keyboard input will go to the
+
# selected virtual terminal, but it will not show on screen because the
+
# video output from rpihddevice is opaque on top of it.
+
+
setterm -clear -cursor off > /dev/tty9; chvt 9;
+
VDRKONSOLE="< /dev/tty9"
+
+
VDRPRG="/usr/local/bin/vdr"
+
+
VDROPTIONS="-w 60 -u pi -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 $VDRKONSOLE $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:
+
function DriverLoaded()
+
{
+
  return 1
+
}
+
+
# Load all DVB driver modules needed for your hardware:
+
function LoadDriver()
+
{
+
  return 0
+
}
+
+
# Unload all DVB driver modules loaded in LoadDriver():
+
function 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 '''pi''' 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
+
 
+
pi ALL=(ALL) NOPASSWD: /usr/local/bin/runvdr,/usr/local/bin/vdr,/usr/bin/killall
+
 
+
==Optional: remote.conf erstellen==
+
Die Konfiguration für alle "Fernbedienungen" die VDR verwendet stehen in /var/lib/vdr/remote.conf. Die Fernbedienungen die VDR verwendet, sind abhängig davon, wie VDR gestartet wird. Ohne die --no-kbd Option wird die Tastatur ("KBD") als Fernbedienung freigegeben. Mit --lirc wird LIRC ("LIRC") als Fernbedienung freigegeben. Weitere Fernbedienungen können von Plugins kommen.
+
 
+
Wenn VDR für eine freigegebene Fernbedienung im remote.conf nicht zumindestens die beiden Befehle "Up/Down" findet, dann bietet er am Anfang die Anlernfunktion für diese Fernbedienung an. Man muß also remote.conf nicht manuell erzeugen, sondern kann KBD und LIRC über die Oberfläche des VDR anlernen.
+
 
+
Es sieht so aus als ob der VDR beim Anlernen der Tasten zwei unterschiedliche Codes für jede Taste erzeugen. 
+
* [http://www.vdr-portal.de/board17-developer/board97-vdr-core/120641-patch-keyboard-l%C3%A4sst-sich-nicht-anlernen/  Weitere Infos dazu im VDR-Portal]
+
 
+
Wenn man remote.conf manuell erzeugen will sollte man darauf achten, dass die Datei den Benutzer 'pi' gehört, so daß VDR die Datei beim möglichen späteren Anlernen weiterer Fernbedienungen die Datei schreiben kann.
+
 
+
Wenn man nicht durch die Anlernfunktion vomVDR gehen will kann remote.conf für die Tastatur als Fernbedienung von der folgenden Konfiguration erzeugen. Die Menü-Taste für die nachfolgende remote.conf ist die "M" Taste der Tastatur.
+
 
+
ACHTUNG: Die folgende remote.conf hat Kommentare, die dürfen aber NICHT übernommen werden, sonst funktioniert die remote.conf im VDR nicht. Die Kommentare dienen hier nur zur Hilfe daß man weiß welche Taste welcher Funktion zugehordnet ist. VDR hat in der remote.conf noch nie Kommentare erlaubt. Entfernen, z.b. in vi:  :%s/ #.*$//
+
 
+
KBD.Up        00000000001B5B41 # Pfeiltaste nach oben
+
KBD.Down      00000000001B5B42 # Pfeiltaste nach unten
+
KBD.Menu      000000000000006D # Taste M
+
KBD.Ok        000000000000000D # Taste Return
+
KBD.Back      000000000000007F # Taste Backspace
+
KBD.Left      00000000001B5B44 # Pfeiltaste nach links
+
KBD.Right      00000000001B5B43 # Pfeiltaste nach rechts
+
KBD.Red        0000000000000072 # Taste R
+
KBD.Green      0000000000000067 # Taste G
+
KBD.Yellow    0000000000000079 # Taste Y
+
KBD.Blue      0000000000000062 # Taste B
+
KBD.0          0000000000000030 # Taste 0
+
KBD.1          0000000000000031 # Taste 1
+
KBD.2          0000000000000032 # Taste 2
+
KBD.3          0000000000000033 # Taste 3
+
KBD.4          0000000000000034 # Taste 4
+
KBD.5          0000000000000035 # Taste 5
+
KBD.6          0000000000000036 # Taste 6
+
KBD.7          0000000000000037 # Taste 7
+
KBD.8          0000000000000038 # Taste 8
+
KBD.9          0000000000000039 # Taste 9
+
KBD.Info      0000000000000069 # Taste I
+
KBD.Power      0000001B5B32347E # Taste F12
+
KBD.Channel+  000000001B5B357E # Taste Bild nach oben
+
KBD.Channel-  000000001B5B367E # Taste Bild nach unten
+
KBD.Volume+    000000000000002B # Taste + auf dem Ziffernblock
+
KBD.Volume-    000000000000002D # Taste - auf dem Ziffernblock
+
KBD.Mute      0000000000000073 # Taste S
+
 
+
===remote.conf für LIRC 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          KEY_UP
+
LIRC.Down        KEY_DOWN
+
LIRC.Menu        KEY_MENU
+
LIRC.Ok          KEY_OK
+
LIRC.Back        KEY_BACK
+
LIRC.Left        KEY_LEFT
+
LIRC.Right      KEY_RIGHT
+
LIRC.Red        KEY_RED
+
LIRC.Green      KEY_GREEN
+
LIRC.Yellow      KEY_YELLOW
+
LIRC.Blue        KEY_BLUE
+
LIRC.0          KEY_0
+
LIRC.1          KEY_1
+
LIRC.2          KEY_2
+
LIRC.3          KEY_3
+
LIRC.4          KEY_4
+
LIRC.5          KEY_5
+
LIRC.6          KEY_6
+
LIRC.7          KEY_7
+
LIRC.8          KEY_8
+
LIRC.9          KEY_9
+
LIRC.Play        KEY_PLAY
+
LIRC.Pause      KEY_PAUSE
+
LIRC.Stop        KEY_STOP
+
LIRC.Record      KEY_RECORD
+
LIRC.FastFwd    KEY_FASTFORWARD
+
LIRC.FastRew    KEY_REWIND
+
LIRC.Next        KEY_VIDEO_NEXT
+
LIRC.Prev        KEY_VIDEO_PREV
+
LIRC.Power      KEY_POWER
+
LIRC.Channel+    KEY_CHANNELUP
+
LIRC.Channel-    KEY_CHANNELDOWN
+
LIRC.PrevChannel KEY_PREVIOUS
+
LIRC.Volume+    KEY_VOLUMEUP
+
LIRC.Volume-    KEY_VOLUMEDOWN
+
LIRC.Mute        KEY_MUTE
+
LICR.Audio      KEY_AUDIO   
+
LIRC.Schedule    KEY_EPG     
+
LIRC.Channels    KEY_CHANNEL 
+
LIRC.Recordings  KEY_VIDEO   
+
LIRC.Setup      KEY_SETUP   
+
LIRC.Commands    KEY_MACRO   
+
LIRC.User0      KEY_GOTO     
+
LIRC.User1      KEY_M
+
LIRC.User2      KEY_P
+
LIRC.Info        KEY_NOT_USED1
+
LIRC.Play/Pause  KEY_NOT_USED2
+
LIRC.Subtitles  KEY_NOT_USED3
+
LIRC.Timers      KEY_NOT_USED4
+
LIRC.User3      KEY_NOT_USED5
+
LIRC.User4      KEY_NOT_USED6
+
LIRC.User5      KEY_NOT_USED7
+
LIRC.User6      KEY_NOT_USED8
+
LIRC.User7      KEY_NOT_USED9
+
LIRC.User8      KEY_NOT_USED10
+
LIRC.User9      KEY_NOT_USED11
+
 
+
==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 pi.pi /var/lib/vdr /var/cache/vdr /srv/vdr/video
+
 
+
==VDR in den Autostart==
+
sudo vi /etc/rc.local
+
 
+
sudo /usr/local/bin/runvdr
+
exit 0
+
 
+
==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 Pi.
+
 
+
===SSH Session 1===
+
Hier wird das syslog geöffnet um die VDR Meldungen beim starten zu sehen:
+
 
+
tail -f /var/log/syslog
+
 
+
Im syslog werden bei einer raspian Standardinstallation nicht alle log Meldungen vom VDR angezeigt, stattdessen in user.log:
+
 
+
tail -f /var/log/user.log
+
 
+
===SSH Session 2===
+
Hier wird der VDR manuell gestartet:
+
+
sudo /usr/local/bin/runvdr
+
 
+
===VDR Logausgabe===
+
Jetzt könnt Ihr auf der "SSH Session 1" genau mitverfolgen was der VDR macht. Wenn der VDR, vorerst ohne TV Bild, ordnungsgemäß läuft sollte es so aussehen:
+
 
+
Aug 18 18:55:20 pi01 vdr: [10825] VDR version 2.1.6 started
+
Aug 18 18:55:20 pi01 vdr: [10825] switched to user 'pi'
+
Aug 18 18:55:20 pi01 vdr: [10825] codeset is 'UTF-8' - known
+
Aug 18 18:55:20 pi01 vdr: [10825] found 28 locales in /usr/local/share/locale
+
Aug 18 18:55:20 pi01 vdr: [10825] creating directory /var/lib/vdr/themes
+
Aug 18 18:55:20 pi01 vdr: [10825] loading /var/lib/vdr/sources.conf
+
Aug 18 18:55:20 pi01 vdr: [10825] loading /var/lib/vdr/diseqc.conf
+
Aug 18 18:55:20 pi01 vdr: [10825] loading /var/lib/vdr/scr.conf
+
Aug 18 18:55:20 pi01 vdr: [10825] loading /var/lib/vdr/channels.conf
+
Aug 18 18:55:20 pi01 vdr: [10825] loading /var/lib/vdr/svdrphosts.conf
+
Aug 18 18:55:20 pi01 vdr: [10825] loading /var/lib/vdr/keymacros.conf
+
Aug 18 18:55:20 pi01 vdr: [10825] registered source parameters for 'A - ATSC'
+
Aug 18 18:55:20 pi01 vdr: [10825] registered source parameters for 'C - DVB-C'
+
Aug 18 18:55:20 pi01 vdr: [10825] registered source parameters for 'S - DVB-S'
+
Aug 18 18:55:20 pi01 vdr: [10825] registered source parameters for 'T - DVB-T'
+
Aug 18 18:55:20 pi01 vdr: [10825] no DVB device found
+
Aug 18 18:55:20 pi01 vdr: [10825] ERROR: invalid primary device number: 1
+
Aug 18 18:55:20 pi01 vdr: [10828] epg data reader thread started (pid=10825, tid=10828, prio=high)
+
Aug 18 18:55:20 pi01 vdr: [10828] epg data reader thread ended (pid=10825, tid=10828)
+
Aug 18 18:55:20 pi01 vdr: [10827] video directory scanner thread started (pid=10825, tid=10827, prio=high)
+
Aug 18 18:55:20 pi01 vdr: [10827] video directory scanner thread ended (pid=10825, tid=10827)
+
Aug 18 18:55:20 pi01 vdr: [10825] ERROR: no primary device found - using first device!
+
Aug 18 18:55:20 pi01 vdr: [10825] ERROR: invalid primary device number: 1
+
Aug 18 18:55:20 pi01 vdr: [10826] video directory scanner thread started (pid=10825, tid=10826, prio=high)
+
Aug 18 18:55:20 pi01 vdr: [10826] video directory scanner thread ended (pid=10825, tid=10826)
+
Aug 18 18:55:20 pi01 vdr: [10825] max. latency time 0 seconds
+
Aug 18 18:55:20 pi01 vdr: [10825] exiting, exit code 2
+
 
+
==Optional: Aufnahmeverzeichnis auf NFS Server==
+
Standardmäßig wird als VDR Aufnahmeverzeichnis das lokale Dateisystem verwendet. Da ich in meinem Raspberry Pi eine SD Karte für das Betriebssystem verwende habe ich mich dazu entschieden das Dateisystem von meinem VDR System zu verwenden. Somit landen alle Aufnahmen automatisch auf meinem VDR System und der Raspberry Pi greift darauf über das Netzwerk zu. Hierfür ist es nötig auf dem VDR System einen NFS Server zu konfigurieren und der Raspberry Pi wird als NFS Client eingebunden.
+
 
+
===NFS Server - VDR System===
+
====Installation====
+
sudo apt-get install nfs-kernel-server
+
 
+
====lokale Verzeichnisse vorbereiten====
+
sudo mkdir -p /srv/nfsv4/vdrrecords
+
sudo mount --bind /data/vdrrecords /srv/nfsv4/vdrrecords
+
 
+
sudo vi /etc/fstab
+
+
/data/vdrrecords /srv/nfsv4/vdrrecords none bind 0 0
+
 
+
====Kerberos Sicherheit deaktivieren====
+
sudo vi /etc/default/nfs-kernel-server
+
 
+
# Do you want to start the svcgssd daemon? It is only required for Kerberos
+
# exports. Valid alternatives are "yes" and "no"; the default is "no".
+
NEED_SVCGSSD="no"
+
 
+
====Benutzer Zuordnung====
+
sudo vi /etc/idmapd.conf
+
 
+
[General]
+
+
Verbosity = 0
+
Pipefs-Directory = /run/rpc_pipefs
+
# set your own domain here, if id differs from FQDN minus hostname
+
# Domain = localdomain
+
+
[Mapping]
+
+
Nobody-User = nobody
+
Nobody-Group = nogroup
+
 
+
====NFS Freigaben konfigurieren====
+
Der Raspberry Pi läuft im Standard mit dem vom Betriebssystem angelegten Benutzer '''pi'''. Da auf einem VDR System meist ein anderer Benutzer verwendet wird muss sichergestellt werden das beide Systeme mit dem gleichen Benutzer auf das Verzeichnis zugreifen. Auf meinem VDR System verwende ich den Benutzer '''vdruser'''. Bei der NFS Freigabe kann dieser Benutzer über seine ID angegeben werden. Im Normalfall hat der erste angelegte Benutzer auf einem Linuxsystem die ID 1000.
+
 
+
sudo cat /etc/passwd
+
+
vdruser:x:1000:1000:vdruser,,,:/home/user01:/bin/bash
+
 
+
sudo vi /etc/exports
+
+
/srv/nfsv4              192.168.0.0/24(rw,fsid=0,secure,no_subtree_check,sync)
+
/srv/nfsv4/vdrrecords  192.168.0.0/24(rw,secure,no_subtree_check,sync,all_squash,anonuid=1000,anongid=1000)
+
 
+
Jeder berechtigte NFS Lese- oder Schreibzugriff wird jetzt automatisch auf die Benutzer ID 1000 (vdruser) gemappt, unabhängig mit welchem Benutzeraccount auf die Freigabe zugegriffen wird.
+
 
+
====Hosts Zugrifflisten erstellen====
+
sudo vi /etc/hosts.deny
+
+
rpcbind mountd nfsd statd lockd rquotad : ALL
+
 
+
sudo vi /etc/hosts.allow
+
+
rpcbind mountd nfsd statd lockd rquotad : 127.0.0.1 192.168.0.11
+
 
+
====Neustart VDR System====
+
sudo init 6
+
 
+
===NFS Client - Raspberry Pi===
+
====Installation====
+
sudo apt-get install nfs-common
+
 
+
====Hosts Zugrifflisten erstellen====
+
sudo vi /etc/hosts.deny
+
+
rpcbind : ALL
+
 
+
sudo vi /etc/hosts.allow
+
+
rpcbind : 127.0.0.1 192.168.0.10
+
 
+
====Benutzer Zuordnung====
+
sudo vi /etc/idmapd.conf
+
 
+
[General]
+
+
Verbosity = 0
+
Pipefs-Directory = /run/rpc_pipefs
+
# set your own domain here, if id differs from FQDN minus hostname
+
# Domain = localdomain
+
+
[Mapping]
+
+
Nobody-User = nobody
+
Nobody-Group = nogroup
+
 
+
====NFS Freigaben auflisten====
+
showmount -e 192.168.0.10
+
 
+
====fstab anpassen====
+
Hier wird der Pfad zu eurem VDR Aufnahmeverzeichnis angegeben sowie der lokale Dateisystempfad wo die Aufnahmen auf eurem Raspbery Pi landen sollen.
+
 
+
sudo vi /etc/fstab
+
 
+
192.168.0.10:/srv/nfsv4/vdrrecords    /srv/vdr/video    nfs    auto    0      0
+
 
+
====Neustart Pi System====
+
sudo init 6
+
 
+
====Testen der NFS Verbindung====
+
Nach einem Neustart vom System sollte auf eurem Raspberry Pi das Aufnahmeverzechnis vom VDR System per NFS eingehängt sein.
+
 
+
ls -l /srv/vdr/video
+
 
+
=VDR Plugins=
+
==Downloadverzeichnis für Plugins vorbereiten==
+
mkdir /data/installfiles/vdrplugins
+
 
+
==rpihddevice Plugin==
+
===Download===
+
cd /data/installfiles/vdrplugins
+
git clone git://projects.vdr-developer.org/vdr-plugin-rpihddevice.git
+
tar -czf vdr-plugin-rpihddevice-git-06102014.tar.gz vdr-plugin-rpihddevice
+
 
+
===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-rpihddevice.git/
+
 
+
===Installation===
+
cd /usr/local/src/vdr/PLUGINS/src
+
sudo cp -a /data/installfiles/vdrplugins/vdr-plugin-rpihddevice .
+
sudo ln -s vdr-plugin-rpihddevice rpihddevice
+
cd /usr/local/src/vdr/
+
sudo make plugins && sudo make install
+
sudo chown -R pi.pi /var/lib/vdr /var/cache/vdr
+
 
+
===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 dvbhddevice Plugin:'''
+
sudo vi /usr/local/bin/runvdr
+
 
+
VDRPLUGINS="-P rpihddevice"
+
 
+
==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-19092014.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 pi.pi /var/lib/vdr /var/cache/vdr
+
 
+
===runvdr anpassen===
+
sudo vi /usr/local/bin/runvdr
+
 
+
-P streamdev-client
+
 
+
===System neustarten===
+
sudo init 6
+
 
+
===Streamdev-Client zum Streamdev-Server verbinden===
+
Nach dem Neustart sollte das VDR OSD am TV angezeigt werden. Hierüber kann dann der Streamdev-Client konfiguriert werden.
+
 
+
* VDR Menü -> Einstellungen -> Plugins -> streamdev-client ->
+
+
Gleichzeitig genutzte DVB-Karten: 1
+
IP der Gegenseite:                192.168.0.10
+
Port der Gegenseite:              2004
+
Filter-Daten streamen:            nein
+
 
+
Danach auf einen Kanal umschalten dann sollte das TV Bild sichtbar sein.
+
 
+
===Regionalprogramme korrekt empfangen===
+
Einige Programme verwenden dynamisch ändernde Kanalinformation (PIDs). EIn Beispiel sind die Regionalfenster des NDR. Mit der obigen Einstellung kann man diese Programme nicht korrekt empfangen - man sieht dann beim NDR zum Beispiel während der Regionalfenster nur Niedersachsen.
+
 
+
* VDR Menü -> Einstellungen -> DVB ->
+
+
...
+
Kanäle aktualisieren:            nur PIDs
+
 
+
* VDR Menü -> Einstellungen -> Plugins -> streamdev-clients ->
+
 
+
...
+
Filter-Daten streamen:          ja
+
 
+
Bei der Aktivierung von "Filter-Daten streamen" kann es zu Pufferproblemen kommen, die im syslog wie folgt aussehen:
+
 
+
Jan  9 20:39:18 raspberrypi vdr: [2115] cStreamdevFilter::PutSection socket overflow, Pid  18 Tid  64
+
 
+
Wenn es daraufhin zu stockender live-TV Widergabe kommt dann den folgenden Filter Pufferpatch fuer den streamdev-client ausprobieren:
+
 
+
http://projects.vdr-developer.org/issues/2045
+
 
+
http://projects.vdr-developer.org/attachments/1844/vdr-plugin-streamdev-filter-patch.diff
+
 
+
Nach compilieren des streamdev-clients mit diesem Patch gibt es im Setup Menu eine weiter Option:
+
 
+
* VDR Menü -> Einstellungen -> Plugins -> streamdev-clients ->
+
 
+
...
+
Filter-Daten streamen:          ja
+
Filter Socket Puffergröße:      0
+
 
+
Der Patch sollte bereits ohne Einstellung einer Puffergröße helfen, daß die Widergabe nicht stockt. Wenn nicht, dann eine Puffergröße einstellen die ausrechend ist, alle Filterdaten zu puffern.
+
 
+
/usr/local/bin/runvdr anpassen:
+
 
+
# Permit larger socket buffer sizes:
+
sysctl net.core.wmem_max=3072000
+
 
+
* VDR Menü -> Einstellungen -> Plugins -> streamdev-clients ->
+
 
+
...
+
Filter-Daten streamen:          ja
+
Filter Socket Puffergröße:      3072000
+
 
+
 
+
Um eine große Puffergr
+
 
+
==svdrpservice Plugin==
+
Das svdrpservice Plugin bietet selbst keinen Benutzerdienst an. Es ist vielmehr ein notwendiger Dienst fuer die plugins epgsync und remotetimers. Im svdrpservice plugin wird the SVDRP Verbindung zum VDR server eingestellt, die dann automatisch von den anderen Plugins verwendet/geshared wird.
+
+
===Download===
+
cd /data/installfiles/vdrplugins
+
wget http://vdr.schmirler.de/svdrpservice/vdr-svdrpservice-1.0.0.tgz
+
 
+
===Was hat sich geändert?===
+
Auf der folgenden Webseite können die aktuellen Änderungen des Plugins eingesehen werden:
+
 
+
http://vdr.schmirler.de/svdrpservice/HISTORY
+
 
+
===Installation===
+
cd /usr/local/src/vdr/PLUGINS/src
+
sudo tar -xzf /data/installfiles/vdrplugins/vdr-svdrpservice-1.0.0.tgz
+
sudo ln -s svdrpservice-1.0.0 svdrpservice
+
cd /usr/local/src/vdr/
+
sudo make plugins && sudo make install
+
sudo chown -R pi.pi /var/lib/vdr /var/cache/vdr
+
 
+
===runvdr anpassen===
+
sudo vi /usr/local/bin/runvdr
+
 
+
-P'svdrpservice 192.168.0.10:6419'
+
 
+
==epgsync Plugin==
+
===Download===
+
cd /data/installfiles/vdrplugins
+
wget http://vdr.schmirler.de/epgsync/vdr-epgsync-1.0.1.tgz
+
 
+
===Was hat sich geändert?===
+
Auf der folgenden Webseite können die aktuellen Änderungen des Plugins eingesehen werden:
+
 
+
http://vdr.schmirler.de/epgsync/HISTORY
+
 
+
===Installation===
+
cd /usr/local/src/vdr/PLUGINS/src
+
sudo tar -xzf /data/installfiles/vdrplugins/vdr-epgsync-1.0.1.tgz
+
sudo ln -s epgsync-1.0.1 epgsync
+
cd /usr/local/src/vdr/
+
sudo make plugins && sudo make install
+
sudo chown -R pi.pi /var/lib/vdr /var/cache/vdr
+
 
+
===runvdr anpassen===
+
sudo vi /usr/local/bin/runvdr
+
 
+
-P epgsync
+
 
+
===epgsync Plugin konfigurieren===
+
Nach dem Neustart sollte das VDR OSD am TV angezeigt werden. Hierüber kann dann das epgsync Plugin konfiguriert werden.
+
 
+
* VDR Menü -> Einstellungen -> Plugins -> epgsync ->
+
   
+
Server IP:                        192.168.0.10
+
Server Port:                      aus svdrpservice
+
Kanalweise synchronisieren:      ja
+
EPG sync beim Starten:            ja
+
Zeit bis zum EPG sync (h):        1
+
Kanäle zuordnen nach:            Name, ID
+
Ziel-Kanäle:                      alle
+
 
+
==remotetimers Plugin==
+
Das remotetimers Plugin erlaubt es auf vom RPI client aus Aufnahmen auf dem VDR-Server aufzusetzen, anzuschauen und zu editieren.  Wenn man es einfach ohne Patches aufsetzt, dann erzeugt es ein Untermenü "Server Timer", in dem die Einträge "Programm", "Timer" und "Aufzeichnungen" auf den Server zugreifen statt lokal.
+
 
+
===Download===
+
cd /data/installfiles/vdrplugins
+
wget http://vdr.schmirler.de/remotetimers/vdr-remotetimers-1.0.1.tgz
+
wget https://raw.githubusercontent.com/VDR4Arch/vdr4arch/master/plugins/vdr-remotetimers/remotetimers-vdr2.1.2compat.diff
+
 
+
===Was hat sich geändert?===
+
Auf der folgenden Webseite können die aktuellen Änderungen des Plugins eingesehen werden:
+
 
+
http://vdr.schmirler.de/remotetimers/HISTORY
+
 
+
===Installation===
+
cd /usr/local/src/vdr/PLUGINS/src
+
sudo tar -xzf /data/installfiles/vdrplugins/vdr-remotetimers-1.0.1.tgz
+
sudo ln -s remotetimers-1.0.1 remotetimers
+
cd remotetimers
+
sudo patch -p1 -i /data/installfiles/vdrplugins/remotetimers-vdr2.1.2compat.diff
+
 
+
Um den RPI möglichst einfach bedienbar zu machen, empfiehlt es sich die folgenden Patches vom remotetimers Plugin einzuspielen. Diese erlauben es dann durch Konfiguration im OSD dieses so aufzusetzen, daß die Hauptmenueinträge ""Programm", "Timer" und "Aufzeichnungen" durch die des Plugins ersetzt werden. Dadurch wird es unmöglich gemacht, (aus Versehen) lokal auf dem SD des RPI Aufzeichnungen aufzusetzen, und der RPI VDR bedient sich fast komplett so wie ein VDR mit lokaler Aufnahme.
+
 
+
Zur kontrollierten Anwendung der Patches empfiehlt es sich, patch erst einmal mit dem zusätzlichen Argument "--dry-run" zu starten, die Patches anzusehen, und bei Fehlern zu schauen, wo die VDR-Quellen manuell gepatched werden müssen.
+
 
+
Note: HUNK1 vom MainMenuHooks patch failed gegen VDR 2.1.6 (kleine Änderungen gegenüber der VDR Version für die der Patch gemacht wurde) und muß händisch eingebaut werden.
+
 
+
cd /usr/local/src/vdr/
+
patch -p1 < PLUGINS/src/remotetimers/patches/MainMenuHooks-v1_0_2.diff
+
patch -p0 --dry-run < PLUGINS/src/remotetimers/patches/vdr-1.7.28-remote_instant_recordings.patch
+
patch -p0  < PLUGINS/src/remotetimers/patches/vdr-1.7.29-skinlcars.patch
+
 
+
Compilieren:
+
 
+
cd /usr/local/src/vdr/
+
sudo make plugins && sudo make install
+
sudo chown -R pi.pi /var/lib/vdr /var/cache/vdr
+
 
+
===runvdr anpassen===
+
sudo vi /usr/local/bin/runvdr
+
 
+
-P remotetimers
+
 
+
===Konfigurieren===
+
 
+
Mit eingespielten Patches und nach Neustart des VDR empfehlen sich Einstellungen des Plugins wie folgt:
+
Server IP:                                        <= Muss nur im svdrpservice plugin gesetzt sein
+
Server Port:                      aus svdrpservice
+
Kanäle zuordnen anhand:          Kanal-ID
+
Hauptmenüeintrag verstecken:      ja              <= Wird nicht benötigt, da Hauptmenüeinträge bereits durch plugin ersetzt sind
+
Voreinstellung für neue Timer
+
Aufnahmeort:                      Server
+
Direktaufzeichnung:              Server
+
Live-Signal anhalten:            Server
+
Benutzer-ID:                      0
+
Einstellungen für das Menü "Programm"
+
Hauptmenü ersetzen:              ja
+
Darstellung der Liste:            Oberfläche
+
Fortschrittsanzeige:              ja
+
..
+
Einstellungen für das Menü "Timer"
+
Hauptmenü ersetzen:              ja
+
Darstellung der Liste:            Oberfläche
+
Benutzer Filter:                  0
+
Einstellungen für das Menü "Aufzeichnungen"
+
Hauptmenü ersetzen:              ja
+
Darstellung der Liste:            Oberfläche
+
Benutzer Filter:                  0
+
Darstellung der Liste:            Oberfläche
+
Benutzer Filter:                  0
+
Max Bandbreite beim Verschieben: unbegrenzt
+
Server Aufzeichnungen:
+
Update-Datei beobachten:          ja
+
 
+
==suspendoutput Plugin==
+
Wenn man den RPI via streamdev zu einem zentralen VDR server verbindet, kann man schnell mehr aktive clients haben als verfügbare Tuner: Lokaler VDR auf dem Server + Aufnahmen + clients (RPI oder andere).
+
 
+
Wird der Fernseher des RPI nur mit dem RPI verwendet (hat also keine lokalen Tuner oder andere Medienabspieler, die alternativ verwendet werden) und hat der Fernseher auch noch 2 USB Eingänge, dann ist es ausreichend, den RPI mit einem Y-Kabel über die USB-Ports des Fernsehers mit Strom zu versorgen. Der RPI läuft dann nur wenn er benötigt wird. Diese Art der Stromversorgung kann immer sinnvoll sein (wenn möglich), aber wenn am Fernseher noch andere Quellen neben dem RPI angeschaut werden können, dann empfängt der RPI immer noch via streamdev Daten wenn er garnicht gebraucht wird und belegt unnötig einen Tuner am Server-VDR.
+
 
+
In diesem Fall bietet sich das suspendoutput plugin an, das bei Inaktivität den VDR suspendiert: Es wird ein Pause-Bild angezeigt und auf der streamdev-Verbindung werden keine Daten angefordert, so daß kein Tuner auf dem VDR Server belegt wird.
+
 
+
http://www.vdr-wiki.de/wiki/index.php/Suspendoutput-plugin
+
 
+
===Download===
+
Neueste Version im repository suchen. Im folgenden wird angenommen 2.0.0 ist die neueste Version (12/2014).
+
 
+
http://phivdr.dyndns.org/vdr/vdr-suspendoutput/?C=M;O=D
+
 
+
cd /data/installfiles/vdrplugins
+
wget http://phivdr.dyndns.org/vdr/vdr-suspendoutput/vdr-suspendoutput-2.0.0.tgz
+
 
+
===Installation vorbereiten===
+
cd /usr/local/src/vdr/PLUGINS/src
+
sudo tar -xzf /data/installfiles/vdrplugins/vdr-suspendoutput-2.0.0.tgz
+
sudo ln -s suspendoutput-2.0.0 suspendoutput
+
 
+
In Versionen <= 2.0.0 sind die im suspendoutput plugin enthaltenen MPEG Standbilddateien nicht konform mit den VDR API Standards und können das rpihddevice und damit den VDR zum Absturz bringen. Die Dateien dann patchen:
+
 
+
ffmpeg wird benötigt:
+
 
+
sudo apt-get install ffmpeg
+
 
+
cd suspendoutput
+
sudo ffmpeg -i vdrlogo_720x576.mpg -f mpegts vdrlogo_720x576.pes
+
sudo ffmpeg -i black_720x576.mpg  -f mpegts black_720x576.pes
+
sudo mv vdrlogo_720x576.pes vdrlogo_720x576.mpg
+
sudo mv black_720x576.pes  black_720x576.mpg
+
 
+
===Installieren===
+
cd /usr/local/src/vdr/
+
sudo make plugins && sudo make install
+
sudo chown -R pi.pi /var/lib/vdr /var/cache/vdr
+
 
+
===runvdr anpassen===
+
sudo vi /usr/local/bin/runvdr
+
 
+
-P suspendoutput
+
 
+
=Optional: Lirc - Raspberry Pi mit der Fernbedienung steuern=
+
Der Raspberry Pi bringt bereits am GPIO-Header Anschlussmöglichkeiten für einen IR-Empfänger mit. Mit etwas Bastelgeschick lässt sich ein passender IR-Empfänger für kleines Geld selber bauen. Wie ich das gemacht habe beschreibe ich hier.
+
 
+
==Materialliste für den IR-Empfänger==
+
'''IR-Empfänger:'''        TSOP4836 axial bedrahtet 36 kHz 950 nm oder TSOP4838 axial bedrahtet 38 kHz 950 nm
+
'''Verbindungskabel:'''    RB-CB3-25 Bunt oder RB-CB3-50 Bunt (25cm Länge oder 50cm Länge)
+
'''Schrumpfschlauch:'''    Dünnwandiger Schrumpfschlauch Ø vor/nach Schrumpfung: 9 mm/3 mm Schrumpfrate 3:1 Schwarz
+
'''Schrumpfschlauch-Set:''' Nachfüllbeutel für Schrumpfschlauch-Set 2 : 1 40 mm Bunt 125 St.
+
 
+
==Fernbedienung==
+
Da ich noch eine alte TechnoTrend Fernbedienung habe verwende ich vorerst diese.
+
 
+
==Raspberry Pi Schaltbild==
+
Das gezeigte Schaltbild ist von einem Raspberry Pi Modell B. Die PIN Belegung von einem Raspberry PI B+ ist identisch zu dem Vorgängermodell.
+
 
+
[[Datei:RaspberryPI_Schaltbild.png]]
+
 
+
==IR-Empfänger zusammenbauen==
+
Ich habe drei Verbindungskabel für meinen IR-Empfänger verwendet (Rot, Schwarz und Lila). Auf einer Seite der Verbindungskabel habe ich die Stecker abgeschnitten und diese, wie auf dem obigen Schaltbild, am TSOP angelötet.
+
 
+
'''VS:'''  rotes Kabel
+
'''GND:''' schwarzes Kabel
+
'''Out:''' lila Kabel
+
 
+
Über die einzelnen Lötstellen habe ich Schrumpfschläuche gezogen und diese mit einem Heißluftfön verschmolzen (Feuerzeug geht auch). Wer nicht die einzelnen Verbindungskabel sehen möchte kann nochmals einen Schrumpfschlauch über die gesammten Verbindungskabel ziehen. Zum Schluss werden die Verbindungskabel wie auf dem obigen Schaltbild auf den Raspberry Pi aufgesteckt.
+
 
+
==Lirc Konfiguration==
+
===Module laden===
+
sudo modprobe lirc_rpi
+
 
+
===Module in den Autostart===
+
Damit die Module nach einem System start automatisch geladen werden müssen diese in die modules eingetragen werden.
+
 
+
sudo vi /etc/modules
+
 
+
lirc_rpi
+
 
+
===Lirc device ermitteln===
+
ls -l /dev/lir*
+
 
+
crw-rw---T 1 root video 248, 0 Aug 24 13:06 /dev/lirc0
+
 
+
===Hardware konfiguration===
+
sudo cp /etc/lirc/hardware.conf /etc/lirc/hardware.conf_orig
+
sudo vi /etc/lirc/hardware.conf
+
 
+
# Run "lircd --driver=help" for a list of supported drivers.
+
DRIVER="default"
+
+
# usually /dev/lirc0 is the correct setting for systems using udev
+
DEVICE="/dev/lirc0"
+
MODULES="lirc_rpi"
+
 
+
===Neustarten des Lirc Daemon===
+
sudo /etc/init.d/lirc restart
+
 
+
==Erster Test vom IR-Empfänger==
+
===Kernelmodul laden===
+
sudo modprobe lirc_rpi
+
 
+
dmesg |grep lirc
+
+
lirc_dev: IR Remote Control driver registered, major 248
+
lirc_rpi: module is from the staging directory, the quality is unknown, you have been warned.
+
lirc_rpi: auto-detected active low receiver on GPIO pin 18
+
lirc_rpi lirc_rpi.0: lirc_dev: driver lirc_rpi registered at minor = 0
+
lirc_rpi: driver registered!
+
 
+
Hier ist zu sehen das der IR-Empfänger am GPIO Pin 18 erkannt wird.
+
 
+
===Prüfen ob Signale der Fernbedienung ankommen===
+
sudo /etc/init.d/lirc stop
+
mode2 -d /dev/lirc0
+
 
+
Danach ein paar Tasten auf der Fernbedienung drücken, wenn alles funktionoiert sollte es so aussehen:
+
 
+
space 3260954
+
pulse 876
+
space 805
+
pulse 1718
+
space 1636
+
pulse 1722
+
space 1630
+
pulse 1724
+
space 1632
+
pulse 1714
+
space 820
+
pulse 864
+
space 795
+
pulse 882
+
space 793
+
pulse 886
+
space 799
+
pulse 874
+
space 1638
+
pulse 882
+
 
+
==Anlernen der Fernbedienung==
+
===Datei mit gültigen Lirc Namespaces erstellen===
+
sudo irrecord --list-namespace | grep KEY &> ~/lirc_strings.txt
+
 
+
Aus dieser Datei holt Ihr euch dann die passenden Namen für eure Tasten. Anzeigen der Datei:
+
 
+
sudo cat ~/lirc_strings.txt
+
 
+
===Anlernmodus starten===
+
sudo /etc/init.d/lirc stop
+
sudo irrecord -d /dev/lirc0 ~/lircd.conf
+
 
+
Nach starten dem Dialog auf der Konsole folgen.
+
 
+
irrecord -  application for recording IR-codes for usage with lirc
+
+
Copyright (C) 1998,1999 Christoph Bartelmus(lirc@bartelmus.de)
+
+
This program will record the signals from your remote control
+
and create a config file for lircd.
+
+
A proper config file for lircd is maybe the most vital part of this
+
package, so you should invest some time to create a working config
+
file. Although I put a good deal of effort in this program it is often
+
not possible to automatically recognize all features of a remote
+
control. Often short-comings of the receiver hardware make it nearly
+
impossible. If you have problems to create a config file READ THE
+
DOCUMENTATION of this package, especially section "Adding new remote
+
controls" for how to get help.
+
+
If there already is a remote control of the same brand available at
+
http://www.lirc.org/remotes/ you might also want to try using such a
+
remote as a template. The config files already contain all
+
parameters of the protocol used by remotes of a certain brand and
+
knowing these parameters makes the job of this program much
+
easier. There are also template files for the most common protocols
+
available in the remotes/generic/ directory of the source
+
distribution of this package. You can use a template files by
+
providing the path of the file as command line parameter.
+
+
Please send the finished config files to <lirc@bartelmus.de> so that I
+
can make them available to others. Don't forget to put all information
+
that you can get about the remote control in the header of the file.
+
+
Press RETURN to continue.
+
 
+
Now start pressing buttons on your remote control.
+
+
It is very important that you press many different buttons and hold them
+
down for approximately one second. Each button should generate at least one
+
dot but in no case more than ten dots of output.
+
Don't stop pressing buttons until two lines of dots (2x80) have been
+
generated.
+
+
Press RETURN now to start recording.
+
 
+
................................................................................
+
Found const length: 107332
+
Please keep on pressing buttons like described above.
+
................................................................................
+
RC-5 remote control found.
+
Found possible header: 876 828
+
No repeat code found.
+
Signals are biphase encoded.
+
Removed header.
+
Signal length is 13
+
 
+
Now enter the names for the buttons.
+
+
Please enter the name for the next button (press <ENTER> to finish recording)
+
KEY_POWER
+
+
Now hold down button "KEY_POWER".
+
+
Please enter the name for the next button (press <ENTER> to finish recording)
+
KEY_MUTE
+
+
Now hold down button "KEY_MUTE".
+
+
Please enter the name for the next button (press <ENTER> to finish recording)
+
...
+
...
+
...
+
 
+
==Lirc Konfiguration einspielen==
+
sudo cp /etc/lirc/lircd.conf /etc/lirc/lircd.conf_orig
+
sudo cp ~/lircd.conf /etc/lirc/lircd.conf
+
sudo /etc/init.d/lirc start
+
 
+
==Neustart vom System==
+
sudo init 6
+
 
+
Nach einem Neustart vom VDR wird automatisch das Anlernmenü für die Fernbedienung gestartet.
+
 
+
==Optional: VDR und Lirc Konfigurationen==
+
Die beiden untigen Konfigurationen werden durch den Anlernprozess von VDR und Lirc erstellt. Falls Ihr die gleiche Hardware verwendet könnt Ihr die Konfigurationen verwenden und somit den Anlernprozess umgehen.
+
 
+
===remote.conf===
+
sudo vi /var/lib/vdr/remote.conf
+
 
+
LIRC.Up        KEY_UP
+
LIRC.Down      KEY_DOWN
+
LIRC.Menu      KEY_TEXT
+
LIRC.Ok        KEY_OK
+
LIRC.Back      KEY_EXIT
+
LIRC.Left      KEY_LEFT
+
LIRC.Right      KEY_RIGHT
+
LIRC.Red        KEY_RED
+
LIRC.Green      KEY_GREEN
+
LIRC.Yellow    KEY_YELLOW
+
LIRC.Blue      KEY_BLUE
+
LIRC.0          KEY_0
+
LIRC.1          KEY_1
+
LIRC.2          KEY_2
+
LIRC.3          KEY_3
+
LIRC.4          KEY_4
+
LIRC.5          KEY_5
+
LIRC.6          KEY_6
+
LIRC.7          KEY_7
+
LIRC.8          KEY_8
+
LIRC.9          KEY_9
+
LIRC.Info      KEY_INFO
+
LIRC.Play      KEY_PLAY
+
LIRC.Pause      KEY_PAUSE
+
LIRC.Stop      KEY_STOP
+
LIRC.Record    KEY_RECORD
+
LIRC.FastFwd    KEY_FORWARD
+
LIRC.FastRew    KEY_REWIND
+
LIRC.Power      KEY_POWER
+
LIRC.Channel+  KEY_CHANNELUP
+
LIRC.Channel-  KEY_CHANNELDOWN
+
LIRC.Volume+    KEY_VOLUMEUP
+
LIRC.Volume-    KEY_VOLUMEDOWN
+
LIRC.Mute      KEY_MUTE
+
LIRC.Schedule  KEY_EPG
+
 
+
===lircd.conf===
+
sudo vi /etc/lirc/lircd.conf
+
 
+
# Please make this file available to others
+
# by sending it to <lirc@bartelmus.de>
+
#
+
# this config file was automatically generated
+
# using lirc-0.9.0-pre1(default) on Sun Aug 24 12:08:49 2014
+
#
+
# contributed by
+
#
+
# brand:                      /home/pi/lircd.conf
+
# model no. of remote control:
+
# devices being controlled by this remote:
+
#
+
+
begin remote
+
+
  name  /home/pi/lircd.conf
+
  bits          13
+
  flags RC5|CONST_LENGTH
+
  eps            30
+
  aeps          100
+
+
  one          857  818
+
  zero          857  818
+
  plead        887
+
  gap          107346
+
  toggle_bit_mask 0x800
+
+
      begin codes
+
          KEY_POWER                0x1541
+
          KEY_MUTE                0x1558
+
          KEY_1                    0x1543
+
          KEY_2                    0x1544
+
          KEY_3                    0x1545
+
          KEY_4                    0x1546
+
          KEY_5                    0x1547
+
          KEY_6                    0x1548
+
          KEY_7                    0x1549
+
          KEY_8                    0x154A
+
          KEY_9                    0x154B
+
          KEY_0                    0x154C
+
          KEY_VOLUMEDOWN          0x1566
+
          KEY_VOLUMEUP            0x1565
+
          KEY_UP                  0x154D
+
          KEY_LEFT                0x154E
+
          KEY_RIGHT                0x1550
+
          KEY_DOWN                0x1551
+
          KEY_OK                  0x154F
+
          KEY_CHANNELDOWN          0x1564
+
          KEY_CHANNELUP            0x1563
+
          KEY_EXIT                0x1553
+
          KEY_RED                  0x1554
+
          KEY_GREEN                0x1555
+
          KEY_YELLOW              0x1556
+
          KEY_BLUE                0x1557
+
          KEY_RECORD              0x157A
+
          KEY_PLAY                0x157B
+
          KEY_STOP                0x157C
+
          KEY_INFO                0x1552
+
          KEY_REWIND              0x157D
+
          KEY_PAUSE                0x157E
+
          KEY_FORWARD              0x157F
+
          KEY_EPG                  0x1562
+
          KEY_TEXT                0x1559
+
      end codes
+
+
end remote
+
  
 
=Danksagungen=
 
=Danksagungen=
 
Hiermit möchte ich mich bei allen Bedanken die mir bei meinem Problemen, Fragen etc. weitergeholfen haben. Insbesondere bedanke ich mich bei:
 
Hiermit möchte ich mich bei allen Bedanken die mir bei meinem Problemen, Fragen etc. weitergeholfen haben. Insbesondere bedanke ich mich bei:
  
# [http://www.vdr-portal.de VDR-Portal]
+
# [[VDR Portal]]
 
# [http://www.vdr-portal.de/user/1096-kls/ kls]
 
# [http://www.vdr-portal.de/user/1096-kls/ kls]
 
# [http://www.vdr-portal.de/user/27471-johns/ johns]
 
# [http://www.vdr-portal.de/user/27471-johns/ johns]
Zeile 1.410: Zeile 147:
 
# [http://www.raspberrypi.org/ Webseite Raspberry Pi]
 
# [http://www.raspberrypi.org/ Webseite Raspberry Pi]
 
# [http://www.raspberrypi.org/phpBB3/ Raspberry Pi Forum]
 
# [http://www.raspberrypi.org/phpBB3/ Raspberry Pi Forum]
# [http://www.tvdr.de Video Disk Recorder]
+
# [http://www.e-tobi.net/blog/2015/09/13/vdr-pakete-fur-raspberrypi/ e-tobi Pakete für Raspberry Pi2]
# [ftp://ftp.tvdr.de/vdr/Developer/ VDR FTP-Server]
+
# [http://www.vdr-portal.de VDR Portal]
+
# [http://vdr.schmirler.de Plugins and Patches for VDR-to-VDR streaming]
+
# [http://www.putty.org Putty]
+
# [[Rpihddevice-plugin|Rpihddevice-plugin]]
+
# [[Streamdev-plugin| Streamdev Plugin]]
+
# [[Svdrpservice-plugin| Svdrpservice-plugin]]
+
# [[Remotetimers-plugin| Remotetimers-plugin]]
+
# [[Epgsync-plugin| Epgsync-plugin]]
+
  
=Kategrorien=
+
[[Kategorie:RaspberryPi]]
[[Kategorie:Ubuntu]]
+
 
[[Kategorie:Installationsanleitungen]]
 
[[Kategorie:Installationsanleitungen]]
 
[[Kategorie:HDTV]]
 
[[Kategorie:HDTV]]
[[Kategorie:Beispielkonfigurationen]]
 
[[Kategorie:Budget-Only_Systeme]]
 

Aktuelle Version vom 20. Februar 2016, 19:48 Uhr

Inhaltsverzeichnis

[Bearbeiten] Einleitung

Diese Step-by-Step-Anleitung beschreibt die Installation und Konfiguration eines VDR Streaming Client Systems mittels Streamdev-plugin und einem Raspberry Pi. Es wird davon ausgegangen, dass es bereits einen VDR mit lauffähigem Streamdev-Server Plugin gibt. Für die Bildausgabe auf den TV kommt das Rpihddevice-plugin zum Einsatz.

Sept. 2015: e-tobi stellt Pakete für den PI2 bereit. Das vereinfacht die Installation, ist aber hier eigentlich OT. Link ist ganz unten.

[Bearbeiten] Modifikationen / Veränderungen

Bitte in folgende Liste Änderunge/Verbesserungen der Installation aufführen, so daß es einfach ist existierende Installationen zu verbessern mit den Deltas.

[Bearbeiten] Dez 2014 - Jan 2015

reufer:

te36:

  • Erklärung von Kriterien bei der Wahl der Fernbedienung.
  • Live plugin (9.1.2015)
  • Consolefont vergrößern (dpkg-reconfigure).
  • Sektion zum SD Management angefügt: Kopieren, Clonen, Lebensdauer verbessern.
  • Erklärungen verbessert (svdrpdevice, remote.conf für Keyboard, Umschalten von virtuellen Terminals, logging dateien, MPEG2 lizenzen)
  • Turbo mode am RPI aktivieren
  • Sektion für Regionalprogramme == "filters" auf streamdev um NDR etc. korrekt zu empfangen (und damit VDR nicht bei Widergabe "stottert", inklusive neuem patch für streamdev-client module
  • remotetimers menu Installation verbessert: Patches erklärt um den RPI als client zu betreiben, empfohlene Konfiguration
  • suspendoutput module eingebaut

sewn4:

  • Neuen Raspberry aufgebaut und Wiki dabei aktualisiert

fauthd:

  • Sysvinit (optional)
  • "Wake on LAN" zum Wecken des Servers (optional)
  • Vdr unter separatem Nutzer vdr (optional)
  • Editor nano statt vi (optional)
  • Einschalten mit Taster
  • Verschiedene Kleinigkeiten


[Bearbeiten] Erwünschte Anleitungen

  • Anleitung für Avahi, damit NFS automatisch eingehängt wird.

[Bearbeiten] Voraussetzungen

  • Ein vorhandenes VDR System mit lauffähigem Streamdev-Server Plugin (Beispiel VDR System)
  • Einen Raspberry Pi der als Streaming Client fungiert.
    • Die Installationsanleitung bezieht sich auf Modell B/B+ die beide eingebautes Ethernet und 512 MByte RAM haben.
    • Der B+ hat zwei USB Ports mehr als der B und eine bessere Stromversorgung. Evtl. funktioniert bei ihm auch das Overclocking (Turbo-Mode) besser.
    • Achtung: Gehäuse für B und B+ sind verschieden!
    • Achtung: Bei der Stromversorgung für den RPI darauf achten, daß das Netzteil mindestens 1.2 A liefert und das das USB Kabel gute Qualität hat. Lange USB Kabel (3 meter oder länger) haben häufig sehr dünne Stromleitungen und dann läuft der RPI instabil).
  • Einen Receiver/Fernseher mit HDMI Eingang. Der RPI hat auch einen Analog-Videoausgang, es ist aber nicht bekannt ob damit schon jemand die VDR Installation getestet hat (bitte hier eintragen wenn ja!).

[Bearbeiten] SD Karten

Der Raspberry benötigt eine, oder für Backup besser 2 SD Karten mit >= 8 GByte. Bei Installation von vielen Plugins und deren Abhängigkeiten oder Entwicklungsumgebungstools können leicht mehr als 60% einer 8GByte SD Karte gebraucht werden. Es empfiehlt sich auf jeden Fall Micro-SD zu kaufen mit SD Adapter. Der RPI B hat einen SD Karten Slot, der B+ einen Micro-SD Karten Slot.

Um SD Backup direkt am RPI zu machen braucht man noch einen SD/USB reader. Am besten noch ein USB Verlängerungskabel oder einen kleinen Micro-USB-Reader damit keiner der anderen USB Ports am RPI geblockt wird, wenn man da z.b. IR-Empfänger oder WLAN verwenden will.

[Bearbeiten] Welche Hardware wird benötigt?

[Bearbeiten] Hardwarebeispiel

Hier die Übersicht über meine Hardware:

VDR System VDR System
Raspberry Pi: Raspberry Pi Model B+ original "UK" mit Samsung Speicher 512MB
Gehäuse: Raspberry Pi B+ Gehäuse - belüftet, Farbe schwarz durchsichtiges Plexiglas
Netzteil: Steckernetzteil Micro-USB 5V 2000mA für Raspberry Pi
SD-Karte: SanDisk Class 10 Ultra Micro SDHC 32GB
Kupfer Kühlkörper: Cooltek BGA VGA-RAM Cooler - Maße (LxBxH): ca. 21x16x6.5 mm


[Bearbeiten] Wie schnell startet das System?

Vom einschalten bis zum TV Bild vergehen 25 Sekunden.

[Bearbeiten] Stromverbrauch

Siehe folgenedn link: [1]

[Bearbeiten] Welche Softwareversionen werden eingesetzt?

[Bearbeiten] Betriebssystem

  • Raspbian Wheezy vom 24.12.2014 (Kernel 3.12.35+ armv6l)

[Bearbeiten] Video Disc Recorder

  • VDR 2.1.6

[Bearbeiten] Video Disk Recorder Plugins

  • rpihddevice Plugin (aus dem GIT vom 30.12.2014) / 0.0.10
  • Streamdev Plugin (aus dem GIT vom 23.12.2014) / 0.6.1-git
  • svdrpservice Plugin 1.0.0
  • epgsync Plugin 1.0.1
  • remotetimers Plugin 1.0.1
  • suspendoutput Plugin 2.0.0
  • live plugin (0.3.0)

[Bearbeiten] Installation und Konfiguration Raspberry Pi Betriebssystem

Um den Raspberry Pi nutzen zu können ist es nötig ein Betriebssystem (OS) zu installieren. Als Betriebssystem verwende ich Raspbian Wheezy und dieses kann hier kostenfrei heruntergeladen werden. Nach dem herunterladen muss die Datei auf der Festplatte entpackt werden. Die darin enthaltene *.img Datei wird später benötigt. Für die Vorbereitungen verwende ich einen Windows Client. Es können aber auch Mac OS X oder Linux verwendet werden siehe hier.

[Bearbeiten] 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. decembersoul
  16. tehlers
  17. vectra130
  18. argus

[Bearbeiten] Linksammlung

  1. Webseite Raspberry Pi
  2. Raspberry Pi Forum
  3. e-tobi Pakete für Raspberry Pi2