Kategorie:Raspbian VDR Streaming Client mittels Streamdev und rpihddevice

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Video Disk Recorder Plugins)
(Einleitung)
Zeile 1: Zeile 1:
 
=Einleitung=
 
=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 das 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.
+
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=
 
=Voraussetzungen=

Version vom 19. August 2014, 14:09 Uhr

Inhaltsverzeichnis

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.

Voraussetzungen

  • ein vorhandenes VDR System mit lauffähigem Streamdev-Server Plugin (Beispiel VDR System)
  • einen Raspberry Pi der als Streaming Client fungiert

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. Die Lizenzen können im offiziellen Raspberry Pi Onlineshop erworben werden.

  • MPEG-2 sowie VC-1 Lizenzen für den Raspberry Pi

Welche Hardware wird benötigt?

Hardwarebeispiel

Hier die Übersicht über meine Hardware:

VDR System

VDR System

Raspberry Pi

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 Case
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

  • Muss noch ergänzt werden *

Wie schnell startet das System?

Vom einschalten bis zum TV Bild vergehen 10 Sekunden.

Welche Softwareversionen werden eingesetzt?

Betriebssystem

  • Raspbian Wheezy vom 20.06.2014 (Kernel 3.12.26+ armv6l)

Video Disc Recorder

  • VDR 2.1.6

Video Disk Recorder Plugins

  • rpihddevice Plugin (aus dem Git vom 13.07.2014)
  • Streamdev Plugin (aus dem CVS vom 09.08.2014)
  • svdrpservice Plugin 1.0.0
  • remotetimers Plugin 1.0.1
  • epgsync Plugin 1.0.1

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 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.

Betriebssystem vorbereiten

SD-Karte für den Raspberry Pi formatieren

Um das Betriebssystem auf der SD-Karte zu installieren muss diese zuerst formatiert und vorbereitet werden.

  1. SD-Karte in den Computer einlegen
  2. Herunterladen eines Formatierungs-Tools (ich empfehle den SD Formatter)
  3. SD Formatter installieren und starten
  4. Optionen für die Formatierung auswählen
    Format Type -> QUICK
    Format Size Adjustment -> ON
  5. Volume Label überprüfen
    Hier muss sichergestellt sein das die SD-Karte ausgewählt ist. In meinem Beispiel Laufwerk E:
  6. Mit der Schaltfläche "Format" die Formatierung starten
    Achtung! Alle Daten auf dem Laufwerk werden gelöscht.


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.

  1. SD-Karte in den Computer einlegen
  2. Herunterladen eines Diskimage-Tools (ich empfehle Win32 Disk Imager)
  3. 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.
  4. 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.

8 Advanced Options -> Select -> A1 Overscan -> Disable -> Ok

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>

NTP Server konfigurieren

Damit der Raspberry immer die aktuelle Zeit bekommt konfigurieren wir einen NTP Server.

sudo apt-get install ntpdate
sudo ntpdate -u ptbtime1.ptb.de

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>

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

VDR benötigte Pakete:
sudo apt-get install mercurial libncurses5-dev libncursesw5-dev libproc-processtable-perl libfribidi-dev libcap-dev libjpeg-dev lcdproc libssl-dev libfreetype6-dev
sudo apt-get install libfontconfig1-dev g++ git vim gettext
Raspberry Pi HD Device Plugin benötigte Pakete:
sudo apt-get install libavformat53 libavformat-dev

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

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

Der VDR wird als Benutzer root installiert.

sudo su -
cd /usr/local/src
tar -xjf /data/installfiles/vdr/vdr-2.1.6.tar.bz2 
ln -s vdr-2.1.6/ vdr

Shutdownskript erstellen und ablegen

vi /usr/local/bin/vdrpoweroff.sh
#!/bin/bash
sudo /sbin/poweroff

und anschließend das Skript ausführbar machen:

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.

visudo
pi ALL=(ALL) NOPASSWD: /usr/local/bin/vdrpoweroff.sh,/sbin/poweroff

Installation starten

cd /usr/local/src/vdr
make REMOTE=LIRC && make install
exit

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

setterm -clear -cursor off > /dev/tty9; chvt 9;

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

VDRKONSOLE="< /dev/tty9"

VDRPLUGINS="-P rpihddevice -P streamdev-client"
# 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 $VDRKONSOLE $*"

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
pi ALL=(ALL) NOPASSWD: /usr/local/bin/vdr
pi ALL=(ALL) NOPASSWD: /usr/bin/killall

VDR auf non-root Benutzer umstellen

sudo chown pi.pi -R /usr/local/share/vdr
sudo chown pi.pi -R /usr/local/bin
sudo chown pi.pi -R /usr/local/include/vdr
sudo chown pi.pi -R /usr/local/lib/vdr
sudo chown pi.pi -R /usr/local/src/vdr*
sudo chown pi.pi -R /srv/vdr
sudo chown pi.pi -R /var/cache/vdr
sudo chown pi.pi -R /var/lib/vdr/

remote.conf erstellen

vi /var/lib/vdr/remote.conf

Es sieht so aus als ob der VDR beim Anlernen der Tasten zwei unterschiedliche Codes für jede Taste erzeugen.

Die Menu-Taste für die nachfolgende remote.conf ist die "SPACE" Taste der Tastatur

KBD.Up         00000000001B5B41
KBD.Down       00000000001B5B42
KBD.Menu       0000000000000020
KBD.Ok         000000000000000D
KBD.Back       000000000000007F
KBD.Left       00000000001B5B44
KBD.Right      00000000001B5B43
KBD.Red        000000001B5B5B41
KBD.Green      000000001B5B5B42
KBD.Yellow     000000001B5B5B43
KBD.Blue       000000001B5B5B44
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.Info       0000000000000069
KBD.Play/Pause 0000000000000070
KBD.Stop       000000000000001B
KBD.Record     0000000000000072
KBD.Next       000000001B5B367E
KBD.Prev       000000001B5B357E
KBD.Channel+   000000000000002A
KBD.Channel-   000000000000002F
KBD.Volume+    000000000000002B
KBD.Volume-    000000000000002D
KBD.Schedule   0000001B5B32307E
KBD.Channels   0000001B5B32317E
KBD.Timers     0000001B5B32337E
KBD.Recordings 0000001B5B32347E
KBD.Setup      000000001B5B5B45
KBD.Commands   0000001B5B31377E
KBD.User0      0000001B5B31387E
KBD.User1      0000001B5B31397E
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

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 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

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

Aufnahmeverzeichnis anpassen

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

Konfiguration

Hier wird der Pfad zu eurem VDR Aufnahmeverzeichnis angegeben sowie die IP Adresse von eurem NFS Client (Raspbery Pi).

sudo vi /etc/exports

/data/vdrrecords        192.168.0.11(rw,sync,no_subtree_check)
sudo /etc/init.d/nfs-kernel-server restart

NFS Client - Raspberry Pi

Installation

sudo apt-get install nfs-common

Konfiguration

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:/data/vdrrecords /srv/vdr/video      nfs     auto,bg,defaults  0     0

Testen der NFS Verbindung

Nach einem Neustart der beiden Systeme sollte auf eurem Raspberry Pi das Aufnahmeverzechnis vom VDR System per NFS eingehängt sein.

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-13072014.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
cp -a /data/installfiles/vdrplugins/vdr-plugin-rpihddevice .
ln -s vdr-plugin-rpihddevice rpihddevice
cd /usr/local/src/vdr/
sudo make plugins && sudo make install

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:

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-09082014.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
cp -a /data/installfiles/vdrplugins/vdr-plugin-streamdev .
ln -s vdr-plugin-streamdev/ streamdev
cd /usr/local/src/vdr/
sudo make plugins && sudo make install

runvdr anpassen

vi /usr/local/bin/runvdr
-P streamdev-client

System neustarten

sudo init 6

Streamdev-Client zum 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

Danach auf einen Kanal umschalten dann sollte das TV Bild sichtbar sein.

svdrpservice Plugin

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
tar -xzf /data/installfiles/vdrplugins/vdr-svdrpservice-1.0.0.tgz
ln -s vdr-svdrpservice/ svdrpservice
cd /usr/local/src/vdr/
sudo make plugins && sudo make install

runvdr anpassen

vi /usr/local/bin/runvdr
-P svdrpservice

remotetimers Plugin

Download

cd /data/installfiles/vdrplugins
wget http://vdr.schmirler.de/remotetimers/vdr-remotetimers-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/remotetimers/HISTORY

Installation

cd /usr/local/src/vdr/PLUGINS/src
tar -xzf /data/installfiles/vdrplugins/vdr-remotetimers-1.0.1.tgz
ln -s vdr-remotetimers/ remotetimers
cd /usr/local/src/vdr/
sudo make plugins && sudo make install

runvdr anpassen

vi /usr/local/bin/runvdr
-P remotetimers

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
tar -xzf /data/installfiles/vdrplugins/vdr-epgsync-1.0.1.tgz
ln -s vdr-epgsync/ epgsync
cd /usr/local/src/vdr/
sudo make plugins && sudo make install

runvdr anpassen

vi /usr/local/bin/runvdr
-P epgsync

Linksammlung

  1. Webseite Raspberry Pi
  2. Raspberry Pi Forum
  3. Video Disk Recorder
  4. VDR FTP-Server
  5. VDR Portal
  6. Plugins and Patches for VDR-to-VDR streaming
  7. Putty
  8. Rpihddevice-plugin
  9. Streamdev Plugin
  10. Svdrpservice-plugin
  11. Remotetimers-plugin
  12. Epgsync-plugin

Kategrorien