• Hallo Leute bin neu
    Ich möchte einen Raspberry VDR installieren
    mit berryboot lader (Open elec und Retropie habe ich jetzt auch mal installirt)
    und raspbian-jessie-lite ich habe eine so olala anleitung fürn terminal zum installiren aber die haut nicht so hin.


    Könnt ihr mir helfen Bitte
    mit einer anleitung oder so


    nutze sat>ip

  • Das ist die anleitung die ich nutze


    http://www.berryterminal.com/doku.php/berryboot



    install Anleitnung



    Basic raspbian Installation


    $ sudo raspi-config #(Einstellungen wie Local, Password, expand Filesystem, ...)
    $ sudo aptitude update
    $ sudo aptitude upgrade
    $ sudo aptitude install apt-transport-https
    Basic VDR Installation


    Get e-Tobi's packet list and install VDR:


    $ echo 'deb http://e-tobi.net/vdr-experimental jessie base vdr-multipatch' | sudo tee --append /etc/apt/sources.list
    $ sudo gpg --keyserver keyserver.ubuntu.com --recv D62E4F5B041390BC
    $ sudo gpg --export --armor D62E4F5B041390BC | sudo apt-key add -
    $ sudo apt-get update
    $ sudo apt-get install vdr
    Plugin Installation


    To get the latest binary, just install the rpihddevice package:


    $ sudo apt-get install vdr-plugin-rpihddevice
    Alternative: Build Plugin from Source


    Get VDR and ffmpeg headers:


    $ echo 'deb-src http://e-tobi.net/vdr-experimental jessie base vdr-multipatch' | sudo tee --append /etc/apt/sources.list
    $ sudo apt-get update
    $ sudo apt-get install vdr-dev libavcodec-dev libavresample-dev libavutil-dev libavformat-dev
    Checkout rpihddevice from git, build and install:


    $ git clone git://projects.vdr-developer.org/vdr-plugin-rpihddevice.git
    $ cd vdr-plugin-rpihddevice
    $ make && sudo make install
    Start VDR


    $ sudo service vdr start
    Anpassungen


    veraltet:
    $ sudo vi /etc/default/vdr
    VIDEO_DIR="Pfad zu den Aufzeichnungen"


    Inzwischen sind alle Anpassungen wie user, lirc, videodir, etc hier zu finden:
    $ vi /etc/vdr/conf.d/00-vdr.conf






    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 -> A9 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/int…ore-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








    Scripts


    Spätestens beim zweiten Mal möchte man nicht alles per Anleitung durchführen.


    Die Scripts sind nur Vorschläge und sollten nochmals auf Kompatibilität mit der eigenen Umgebung überprüft werden.



    Einrichten eines Users vdr


    user.sh


    #!/bin/bash
    #set -x
    # create a user vdr that is compatible to the user vdr on yaVDR for easier integration via NFS.
    sudo adduser --disabled-login --uid 666 --home /var/lib/vdr vdr
    sudo adduser vdr video
    sudo adduser vdr audio
    sudo adduser vdr sudo
    sudo mkdir -p /srv/vdr/video
    sudo chown -R vdr.vdr /srv/vdr
    sudo mkdir -p /var/cache/vdr
    sudo chown -R vdr.vdr /var/cache/vdr
    Abhängigkeiten und Goodies Installieren


    Dependencies.sh


    sudo apt-get update
    sudo apt-get dist-upgrade
    sudo apt-get install htop nfs-common git nano gettext g++ libfreetype6-dev libfontconfig1-dev libcap-dev libjpeg-dev libncurses5-dev libncursesw5-dev libavcodec-dev libavformat-dev libavutil-dev libavresample-dev libavresample1 libcap-dev libcurl4-openssl-dev libtinyxml-dev lirc wakeonlan
    Quellen holen


    GetSources.sh


    #!/bin/bash
    #set -x


    # prepare some directories
    # First the place to download archives
    DNLOAD=~/Download
    mkdir -p $DNLOAD


    # We build it local as normal user
    SRC=~/src
    mkdir -p $SRC


    # get vdr
    cd $DNLOAD
    wget ftp://ftp.tvdr.de/vdr/vdr-2.2.0.tar.bz2


    # get plugins as archives
    cd $DNLOAD
    wget http://vdr.schmirler.de/svdrps…dr-svdrpservice-1.0.0.tgz
    wget http://vdr.schmirler.de/epgsync/vdr-epgsync-1.0.1.tgz
    wget http://vdr.schmirler.de/remote…dr-remotetimers-1.0.2.tgz


    wget http://phivdr.dyndns.org/vdr/v…r-suspendoutput-2.0.0.tgz


    wget http://www.saunalahti.fi/~rahr…files/vdr-satip-2.2.2.tgz


    # unpack archives
    cd $SRC
    tar -xjf $DNLOAD/vdr-2.2.0.tar.bz2
    ln -sf vdr-2.2.0/ vdr


    # directory for plugins
    PLUGINSRC=$SRC/vdr/PLUGINS/src
    mkdir -p $PLUGINSRC


    # prepare svdrpservice
    cd $PLUGINSRC
    tar -xzf $DNLOAD/vdr-svdrpservice-1.0.0.tgz
    ln -sf svdrpservice-1.0.0 svdrpservice


    # prepare epgsync
    cd $PLUGINSRC
    tar -xzf $DNLOAD/vdr-epgsync-1.0.1.tgz
    ln -sf epgsync-1.0.1 epgsync


    # prepare remote timers
    cd $PLUGINSRC
    tar -xzf $DNLOAD/vdr-remotetimers-1.0.2.tgz
    ln -sf remotetimers-1.0.2 remotetimers


    # sat-ip
    cd $PLUGINSRC
    tar -xzf $DNLOAD/vdr-satip-2.2.2.tgz
    ln -sf satip-2.2.2 satip


    # get plugins via git - directly into the right directory
    cd $PLUGINSRC
    git clone git://projects.vdr-developer.org/vdr-plugin-rpihddevice.git vdr-plugin-rpihddevice --depth=1
    git clone git://projects.vdr-developer.org/vdr-plugin-streamdev.git vdr-plugin-streamdev --depth=1


    # prepare rpihddevice
    cd $SRC/vdr/PLUGINS/src
    ln -sf vdr-plugin-rpihddevice rpihddevice


    # prepare Streamdev
    cd $SRC/vdr/PLUGINS/src
    ln -sf vdr-plugin-streamdev/ streamdev


    echo "Just a reminder tha we might need some manual steps before building"
    echo "Need to modifiy the makefile for satip (SATIP_USE_TINYXML), see wiki"
    echo "Also you might want some patches in various places, see wiki"
    Quellen patchen


    patch für satip: ~/patches/satip-use-tinyxml.patch


    --- Makefile.org
    +++ Makefile
    @@ -4,7 +4,7 @@

    # Use TinyXML instead of PugiXML

    -#SATIP_USE_TINYXML = 1
    +SATIP_USE_TINYXML = 1

    # The official name of this plugin.
    # This name will be used in the '-P...' option of VDR to load the plugin.
    patches.sh


    #!/bin/bash
    set -x


    if [ x"$1" == "x" ]; then
    DRYRUN=--dry-run
    echo "Add parameter doit to switch of the dry-run"
    fi


    # We build it local as normal user
    SRC=~/src


    # build plugins
    cd $SRC/vdr/


    patch $DRYRUN -p1 <PLUGINS/src/remotetimers/patches/vdr-2.0.4-MainMenuHooks-v1_0_2.diff
    patch $DRYRUN -p0 <PLUGINS/src/remotetimers/patches/vdr-1.7.28-remote_instant_recordings.patch
    patch $DRYRUN -p0 <PLUGINS/src/remotetimers/patches/vdr-1.7.29-skinlcars.patch


    cd $SRC/vdr/PLUGINS/src/satip
    patch $DRYRUN <~/patches/satip-use-tinyxml.patch
    VDR und plugins bauen


    build.sh


    #!/bin/bash
    #set -x


    # automatically use all CPUs
    AMOUNT_CPU=-j`grep -c ^processor /proc/cpuinfo`


    # We build it local as normal user
    SRC=~/src


    # build plugins
    cd $SRC/vdr/
    echo "Be patient, this will take some time"
    make REMOTE=LIRC $AMOUNT_CPU && make plugins $AMOUNT_CPU && sudo make install
    sudo chown -R vdr.vdr /var/cache/vdr










    Firmware auf dem Raspberry Pi aktualisieren


    Prüfen der vorhandenen Versionen


    uname -a


    Linux pi01 3.12.35+ #730 PREEMPT Fri Dec 19 18:31:24 GMT 2014 armv6l GNU/Linux
    /opt/vc/bin/vcgencmd version


    Dec 19 2014 18:44:06
    Copyright (c) 2012 Broadcom
    version 5abd572e2ed1811283443387af09377b95501c50 (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.35+ #730 PREEMPT Fri Dec 19 18:31:24 GMT 2014 armv6l GNU/Linux
    /opt/vc/bin/vcgencmd version


    Dec 29 2014 14:28:52
    Copyright (c) 2012 Broadcom
    version d3c15a3b57203798ff811c40ea65174834267d48 (clean) (release)
    Achtung


    Nach Aktualisierung von einer 3.12 Kernelversion zu einer 3.18 Kernelversion gibt es im Kernel "Device Tree". Dies erfordert, daß Kerneltreiber auf nicht-UPnP Schnittstellen wie den GPIO im RPI aufsetzen, einen Eintrag im Device Tree brauchen, damit der Treiber funktioniert. Wenn wie hier in der VDR Installation beschrieben, lirc über GPI eingesetzt wird, dann muß man folgendes in /boot/config.txt einfügen:


    dtoverlay=lirc-rpi
    Mehr Information über die Funktion des Device Tree und Parameter für andere möglichen Kernelmodule hier:


    Breakage after rpi-update? Read this.








    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
    Weitere optionale Systemoptimierungen


    Consolefonts vergrößern


    Die logging information, die beim booten des RPI ausgegeben wird kann sehr hilfreich sein, um Probleme zu finden, gerade wenn man entsprechend obiger Anleitung dafür sorgt, daß weiterhin die Ausgaben des runvdr sichtbar sind, solange der VDR selbst nicht erfolgreich gestartet wurde. Leider kann der Font zu klein auf einem Fernseher sein um ihn sinnvoll zu lesen. Vor allem, wenn der RPI auf die Standardgröße für HDMI Fernseher von 1920x1080 eingestellt ist (default).


    sudo dpkg-reconfigure console-setup
    -> UFT8 -> OK
    -> Vermutlich optimaler Zeichensatz -> OK
    -> Eine passende Schriftart durch das System auswählen lassen
    -> 16x32 (Nur Framebuffer) - das ist der größte Font. Einfach wählen, was gut aussieht
    Diese Änderung bewirkt leider eine Vergrößerung des Fonts erst mittem im Linux Bootvorgang, aber die Meldungen von runvdr werden besser lesbar angezeigt.


    TODO: Font vergrössern so daß das auch beim Kernelboot funktioniert ??


    Editor nano einrichten (optional)


    Nicht jeder möchte vi als Editor einsetzen. So geht es:


    sudo apt-get install nano
    sudo ln -s /usr/bin/nano /usr/local/bin/vi
    Damit kann man immer noch alle Kommandozeilen dieser Anleitung per cut/paste verwenden, aber nano wird als Editor benutzt.







    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 (optional)


    Der VDR braucht keine feste IP-Adresse, DHCP funktioniert sehr gut. Falls man doch eine feste Adresse will, so geht es:


    sudo cp /etc/network/interfaces /etc/network/interfaces_orig
    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 cp /etc/resolv.conf /etc/resolv.conf_orig
    sudo vi /etc/resolv.conf
    nameserver 192.168.0.254
    Raspberry Pi neustarten


    sudo init 6
    Remotezugriff per SSH auf die Linux Konsole


    Für Windows: 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>
    Für Linux: Termional öffnen und mit ssh zum pi verbinden.


    ssh pi@raspberrypi





    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-30122014.tar.gz vdr-plugin-rpihddevice
    Wenn es Probleme mit der neuesten Version gibt, dann auf eine bekannt funktionierende Version gehen:


    cd /data/installfiles/vdrplugins
    git clone git://projects.vdr-developer.org/vdr-plugin-rpihddevice.git
    cd vdr-plugin-rpihddevice
    git reset --hard 69f2e196321ce155f61e7253c8abd2b0fcc6c94c
    Was hat sich geändert?


    Auf der folgenden Webseite können die aktuellen Änderungen des Plugins eingesehen werden:


    http://projects.vdr-developer.…r-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-23012015.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.…tories/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.


    Optional: 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 die folgenden Filter Pufferpatches fuer den streamdev-client ausprobieren:


    http://projects.vdr-developer.org/issues/2045


    http://projects.vdr-developer.…reamdev-filter-patch.diff http://projects.vdr-developer.…eamdev-filter-patch2.diff


    Nach compilieren des streamdev-clients mit diesen Patches 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
    svdrpservice Plugin


    Das svdrpservice Plugin bietet selbst keinen Benutzerdienst an. Es ist vielmehr ein notwendiger Dienst für die Plugins epgsync und remotetimers. Im svdrpservice Plugin wird die SVDRP Verbindung zum VDR server eingestellt, die dann automatisch von den anderen Plugins verwendet wird.


    Download


    cd /data/installfiles/vdrplugins
    wget http://vdr.schmirler.de/svdrps…dr-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'
    Hier wird die IP Adresse sowie Port von eurem VDR System angegeben.


    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/remote…dr-remotetimers-1.0.1.tgz
    wget https://raw.githubusercontent.…imers-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 muss 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/v…r-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
    wget https://raw.githubusercontent.…utput-vdr2.1.2compat.diff
    patch -p1 < suspendoutput-vdr2.1.2compat.diff
    wget -O vdr-plugin-suspendoutput-fix1.diff 'http://www.vdr-portal.de/index.php?page=Attachment&attachmentID=37169&h=213b7e6f8c2114d41bf41afe09764b95d523c048'
    patch -p1 < vdr-plugin-suspendoutput-fix1.diff
    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: live plugin


    Das Live-plugin bietet eine Weboberfläche an von der sich aus viele Funktionen des VDR steuern lassen. Da der Raspberry als client aufgesetzt ist, sind diese Funktionen unterschiedlich sinnvoll. Der Teil der Funktionen die auf dem RPI Client nicht sinnvoll sind sollten einfach über das Live plugin auf dem VDR Server gemacht werden.


    Die Fernbedienung eignet sich sehr gut als Troubleshooting Tool und zur Ferndiagnose wenn ein Benutzer Schwierigkeiten hat. "Zeig doch mal, was Du da am VDR bedienst, ich kann Dir hier aus der Ferne zuschauen".


    Das Programm und Zeitleiste sind sehr praktisch um durch die TV Programme zu browsen (ohne dafür den Bildschirm mit dem OSD des VDR zu belegen), und das Umschalten der Programme ist ebenso praktisch von der Live Webpage aus.


    Das programmieren von Aufnahmen ist auf dem RPI client nicht so sinnvoll, weil diese Aufnahmen alle auf dem RPI landen und nicht auf dem Server. Ebenso sieht man in den Timer(n) nur diese lokal programmierten Aufnahmen.


    Download


    cd /data/installfiles/vdrplugins
    git clone git://projects.vdr-developer.org/vdr-plugin-live.git
    wget http://projects.vdr-developer.…gin-live-patch.2.1.6.diff
    Was hat sich geändert


    http://live.vdr-developer.org
    http://projects.vdr-developer.org/issues/2056
    Installieren


    sudo apt-get install libtntnet-dev libcxxtools-dev libpcre3-dev
    cd /usr/local/src/vdr/PLUGINS/src
    sudo cp -a /data/installfiles/vdrplugins/vdr-plugin-live .
    sudo ln -s vdr-plugin-live live
    cd live
    sudo patch -p1 < /data/installfiles/vdrplugins/vdr-plugin-live-patch.2.1.6.diff
    cd /usr/local/src/vdr/
    sudo make plugins && sudo make install
    cd /usr/local/src/vdr/PLUGINS/src/live
    mkdir -p /usr/local/share/vdr/plugins
    cp -a live /usr/local/share/vdr/plugins
    sudo chown -R pi.pi /var/lib/vdr /var/cache/vdr /usr/local/share/vdr
    runvdr anpassen


    sudo vi /usr/local/bin/runvdr
    -P live
    Dann VDR restarten. In der Plugin Konfiguration kann man dann den maximal im live plugin angezeiten Kanal enstellen, und welche username/password beim Zugriff auf das Live plugin über das Web erlaubt sind. Alles andere wird über die Weboberfläche gesteuert.


    Verwenden


    Um das Live plugin zu verwenden, einfach von einem Browser aus:


    http://<RPI-ip-address>:8008/
    Default username ist "admin", password "live".




    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 cp /etc/kbd/config /etc/kbd/config_orig
    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=0

    # 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: Konsoleausgaben umlenken


    Bei Linux werden Fehlermeldungen von Systemaktivitaeten und die Logausgaben vom Bootstrap auf /dev/console ausgegeben. Standardmässig ist /dev/console auf dem ersten virtuellen Terminal, was auf dem RPI /dev/tty1 ist. Da es auf den meisten Linux Installationen möglich 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 häufig empfohlen, /dev/console auf ein anderes virtuelles Terminal umzulenken, so dass die logausgaben dort separat einsehbar sind.


    Bei VDR Installation für den RPI ist es andererseits auch sinnvoll, diese Veränderung nicht zu machen: Ohne die folgende Veränderung sieht man beim booten alle Logausgaben: Erst Linux Kernel, dann die Bootscripten - und danach startet der VDR. Mit der Veränderung sieht man die Ausgaben der Bootscripten direkt beim booten nicht mehr weil die schon auf /dev/tty10 gehen, während noch /dev/tty1 angezeigt wird, solange der VDR nicht gestartet wurde.


    Die Funktionsweise des VDR selbst ist von dieser Veränderung 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 cp /boot/cmdline.txt /boot/cmdline.txt_orig
    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 läuft mit rpihddevice (Stand: Version 0.0.10) nicht korrekt: Wenn man mit obigen Tastenkombinationen vom virtuellen Terminal 9 wegschaltet (auf dem der VDR läuft), dann sollte eigentlich das Videobild des VDR abgeschaltet werden. Dies ist anscheinend nicht unterstützt. 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.10.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.10.tar.bz2
    sudo ln -s vdr-2.1.10/ 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


    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="-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 $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.


    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 vom VDR 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
    als Beispiel eine korrekte remote.conf ohne Kommentare (so wie vom VDR erwartet):


    KBD.Up 00000000001B5B41
    KBD.Down 00000000001B5B42
    KBD.Menu 000000000000006D
    KBD.Ok 000000000000000D
    KBD.Back 000000000000007F
    KBD.Left 00000000001B5B44
    KBD.Right 00000000001B5B43
    KBD.Red 0000000000000072
    KBD.Green 0000000000000067
    KBD.Yellow 0000000000000079
    KBD.Blue 0000000000000062
    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.Power 0000001B5B32347E
    KBD.Channel+ 000000001B5B357E
    KBD.Channel- 000000001B5B367E
    KBD.Volume+ 000000000000002B
    KBD.Volume- 000000000000002D
    KBD.Mute 0000000000000073
    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


    Diese Anleitung geht davon aus, dass der vdr unter dem Nutzer pi läuft. Einige Verzeichnisse müssen natürlich pi als Besitzer haben.


    sudo chown -R pi.pi /var/lib/vdr /var/cache/vdr /srv/vdr/video
    Optional: vdr unter dem Nutzer vdr verwenden


    Dies kann Vorteile haben im Zusammenhang mit dem Server vdr. Im folgenden sind die Details kompatibel zu einer yaVdr-Installation.


    sudo adduser --disabled-login --uid 666 --home /var/lib/vdr vdr
    sudo adduser vdr video
    sudo adduser vdr audio
    sudo adduser vdr sudo


    sudo mkdir -p /srv/vdr/video
    sudo chown -R vdr.vdr /srv/vdr


    sudo mkdir -p /var/cache/vdr
    sudo chown -R vdr.vdr /var/cache/vdr
    An verschiedenen anderen Stellen wie z.b. runvdr oder /etc/default/vdr muss der Nutzer auf vdr umgestellt werden.


    -u pi in -u vdr
    oder in /etc/default/vdr


    USER=vdr
    VDR in den Autostart


    Hier wird die einfachste Methode für Autostart beschrieben.


    sudo vi /etc/rc.local
    sudo /usr/local/bin/runvdr
    exit 0
    Man kann auch System-V-Init oder Upstart verwenden. Dies hat gewisse Vorteile wenn man den VDR stoppen will. Upstart scheint auf dem PI noch nicht korrekt zu funktionieren (Jan 2015). Manuelles starten/stoppen mit "sudo service vdr start" hat zwar funktioniert, aber nicht während des bootens.


    System-V-Init script


    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
    Handhabung von Aufnahmen


    Standardmäßig werden beim VDR Aufnahmen lokal von einer TV Empfangskarte aufgenommen und lokal auf der Festplatte gespeichert. Wenn man einen Server mit einem oder mehreren Clients aufsetzt, dann gibt es verschiedene Möglichkeiten, wie man das aufsetzen kann:


    Clients sind eigenständige VDR


    Jeder Client VDR ist für Aufnahmen konfiguriert wie ein eigenständiger VDR mit dem einzigen Unterschied, daß er keine lokalen TV-Empfangskarten hat, sondern zum Aufnehmen das Program genau wie bei der Livedarstellung per streamdev vom Server empfängt.


    Dieser Ansatz hat folgende Probleme:


    1. Man muß immer genau wissen, auf welchem client man welche Aufnahme macht, und kann sie dann auch nur dort anschauen. 2. Der Speicherplatz für Aufnahmen ist begrenzt durch die SD Kapazität des RPI, oder man muß via USB zusätzlich SD/Festplatten anschließen. 3. Der RPI muß angeschaltet sein, wenn die Aufnahme läuft. Da der RPI keine Realtime-Clock hat, die den RPI zu vordefinierten Zeiten anschalten kann, muß er durchlaufen. 4. Während der Aufnahme kann der RPI leicht überlastet sein, weil er parallel ein Programm streamen muß zur Livedarstellung, und ein anderes das aufgezeichnet wird - und das noch auf die (langsame) SD Karte schreiben muß. 5. Neben der RPI Performance kann auch alleine die Netzwerkperformance für 2 x Videoströme (gerade bei HD) ein limitierender Faktor sein, gerade wenn man PowerLine oder WLAN verwendet. 6. Wenn auf mehreren Clients dieselben Programme aufgenommen werden sollen, dann wird auch noch der VDR Server unnötig damit belastet dasselbe Programm zum mehrfachen Aufnehmen mehrfach zu streamen.


    Clients mit Netzwerkverzeichnis aber lokaler Aufnahme


    Man könnte den ersten Ansatz leicht verändern, indem man auf dem Client ein per NFS gemostetes Verzeichnis für die Aufnahmen einrichtet, aber die Aufnahmen weiterhin lokal laufen läßt. Damit eliminiert man aber nur Problem 2, macht Problem 5 noch größer und ändert an den anderen Problemen nicht. Außerdem muß man für jeden Client ein unterschiedliches Verzeichnis auf dem VDR Server anlegen damit sich eventuelle gleichzeitige Aufnahmen desselben Programmes nicht in die Quere kommen.


    Clients mit Netzwerkverzeichnis und Server Aufnahme


    Dies ist die Option auf der die restliche Beschreibung der Installation basiert. Alle Clients mounten per NFS das Aufnahmeverzeichnis des Servers. Durch die Plugins (remotetimers + Patches) wird auf dem RPI Client die GUI so geändert, daß Timer direkt auf dem Server angelegt werden. Dieser Ansatz ergibt dann folgende Vorteile:


    1. Man hat auf jedem Client und dem Server denselben View auf die Aufnahmen und kann Timer auf jedem Server/Client programmieren und auf jedem anderen ansehen. 2. Der Speicherplatz ist auf dem Server und damit so groß wie man will. 3. RPIs müssen nur beim Anschauen von Programm angeschaltet sein. 4. Der RPI muß nur ein TV Programm über das Netzwerk empfangen: Entweder via streamdev ein live-programm, oder per NFS eine Aufzeichnung. Damit ist der RPI nie das Bottleneck. 5. Das Netzwerk wird ebenso so wenig wie möglich belastet. 6. Aufnahmen gelingen sicherer, weil alles lokal auf dem Server abläuft.


    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
    Optional: Server VDR per wake on LAN starten


    Tool installieren.


    sudo apt-get install wakeonlan
    Dann in /etc/rc.local einfügen.


    # wake VDR
    wakeonlan <MAC-Addresse des VDR servers>
    Die MAC-Addresse kann mit dem tool arp gefunden werden.


    arp
    Address HWtype HWaddress Flags Mask Iface
    vdr ether xx:xx:xx:xx:xx:xx C eth0






    Die Befehle


    Übersicht


    # svdrpsend HELP


    220 vdr SVDRP VideoDiskRecorder 1.7.23; Tue Mar 13 14:30:43 2012; UTF-8
    214-This is VDR version 1.7.23
    214-Topics:
    214- CHAN CLRE CPYR DELC DELR
    214- DELT EDIT GRAB HELP HITK
    214- LSTC LSTE LSTR LSTT MESG
    214- MODC MODT MOVC MOVR MOVT
    214- NEWC NEWT NEXT PLAY PLUG
    214- PUTE REMO SCAN STAT UPDT
    214- UPDR VOLU QUIT
    214-To report bugs in the implementation send email to
    214- vdr-bugs@tvdr.de
    214 End of HELP info
    221 vdr closing connection
    Beschreibung


    Befehl Verwendung
    CHAN [ + | - | <Nummer> | <Name> | <ID> ]
    Schaltet einen Kanal hoch, runter, oder springt zur angegebenen Kanalnummer, zum Kanalnamen, oder zur Kanal-ID. Ohne Parameter, bzw. nach einem Kanalwechsel wird die Nummer und der Name des aktuellen Kanals angezeigt.
    CLRE [ <Nummer> | <Name> | <ID> ]
    Löscht die EPG-Daten des angegebenen Kanal (Kanalnummer, Kanalnamen, Kanal-ID). Ohne Parameter werden die EPG-Daten aller Kanäle gelöscht.
    CPYR <Nummer> <neuer Name>
    Kopiert die Aufnahme mit der angegebenen Nummer. Die Aufnahmenummer muss vorher mit dem LSTR-Befehl ermittelt werden. Weitere CPYR-Befehle ändern die Aufnahmenummern nicht. (Achtung: nicht im regulären VDR enthalten, nur bei Einsatz des Liemikuutio-patch verfügbar.)
    DELC <Nummer>
    Löscht den Kanal.
    DELR <Nummer>
    Löscht die Aufnahme mit der angegebenen Nummer. Um die Aufnahmenummer zu erhalten muss vorher der LSTR Befehl ausgeführt werden. Die Nummern ändern sich durch Löschen anderer Aufnahmen nicht. ACHTUNG: Aufnahmen werden als ersten Schritt in *.del umbenannt, und beim Housekeeping gelöscht.
    DELT <Nummer>
    Löscht einen Timer.
    EDIT <Nummer>
    Startet den Schnittvorgang für die Aufnahme mit der angegebenen <Nummer>, entsprechend der in der Datei marks.vdr hinterlegten Schnittpunkte. Bevor eine Aufnahme geschnitten werden kann, sollte die entsprechende Nummer der Aufnahme unter Zuhilfenahme des LSTR Befehls ermittelt werden. Es kann immer nur eine Aufnahme zu gleichen Zeit geschnitten werden.
    GRAB <filename> [ <Qualität> [ <Breite> <Höhe> ] ]
    Speichert das aktuelle Fernsehbild auf die lokalen Festplatte ab. Bilder können als JPEG oder PNM, abhängig von der vorgegebenen Dateiendung gespeichert werden. Die Qualität des erfassten Bildes kann in der Bereich von 0 bis 100 festgelegt werden, wobei 100 (der Standard) "beste Qualität" bedeutet (diese Option ist nur für JPEG verfügbar). Die Größe Parameter definieren die Größe des resultierenden Bildes (Standard ist der gesamte Bildschirm). Wenn der Dateiname nur die Endung ist (.jpg, .jpeg oder .pnm) werden die Bilddaten über die SVDRP Verbindung geschickt, diese Daten sind base64 kodiert. Das selbe geschieht wenn "-" (ein Minuszeichen) als Dateiname angegeben wird, in diesem Fall ist das Bildformat auf JPEG.
    svdrpsend -d <hostname> GRAB - 85 | sed -n -e 's/^216-//p' -e '1ibegin-base64 644 -' -e '$a====' | uudecode > /tmp/grab.jpg
    Beispiel für die Anzeige des base64-kodierten Fernsehbildes über Netzwerk und die direkte Darstellung mittels des Programms display von http://www.imagemagick.org


    svdrpsend -d <hostname> GRAB - | sed -n -e 's/^216-//p' -e '1ibegin-base64 644 -' -e '$a====' | uudecode | display -
    Für das Abspeichern des erfassten Fernsehbildes auf der lokalen Festplatte muss die Option -g mit den Zielverzeichnis gesetzt werden. Der VDR kann Bilddaten nur vom verwendeten Video-Ausgabedevice speichern.


    HELP [ <Begriff> ]
    Hilfe.
    HITK [ <Taste> ]
    "Drückt" die Taste der Fernbedienung. Ohne Parameter werden die Namen aller gültigen Tasten aufgelistet.
    LSTC [ <Nummer> | <Name> ]
    Ohne Parameter werden alle Kanäle aufgelistet. Wird eine Nummer angegeben, wird nur dieser Kanal aufgelistet, bei Angabe eines Namens alle Kanäle, bei denen dieser im Namen auftaucht.
    Zur Beschreibung des Formates siehe channels.conf


    LSTE [ <Kanal> ] [ now | next | at <Zeit> ]
    Ohne Parameter werden alle EPG-Daten ausgegeben. Wird ein Kanal angegeben (entweder mit Nummer, oder mit Kanal-ID), werden nur die EPG-Daten dieses Senders angezeigt. 'now, 'next' 'at <time>' sind Filter. Das Format findet man in epg.data.
    LSTR [ <Nummer> ]
    Ohne Parameter werden alle Aufnahmen aufgelistet. Sonst wird die Zusammenfassung der angegebenen Aufnahme angezeigt.
    Ein Eintrag der Auflistung aller Aufnahmen sieht beispielsweise so aus


    250 2 08.03.07 20:00* Tagesschau
    2 ist die Nummer der Aufnahme. Danach folgt Datum und Uhrzeit der Aufnahme. Der Stern hinter der Uhrzeit zeigt an, dass die Aufnahme neu ist. Als Letztes folgt der Titel der aufgenommenen Sendung.


    Die Zusammenfassung einer Aufnahme hat das gleiche Format, wie ein EPG-Eintrag in epg.data. Für Details siehe Vdr(5)


    LSTT [ <Nummer> ]
    Ohne Parameter werden alle Timer (programmierte Aufnahmen) aufgelistet, Sonst nur der angegeben Timer.
    MESG [ <Nachricht> ]
    Zeigt eine Nachricht über das OSD auf dem Fernseher an. Ohne Parameter wird die aktuell anhängige Nachricht (wenn vorhanden) angezeigt. Sobald das OSD verfügbar ist, wird die Nachricht für ein paar Sekunden angezeigt, wenn die vorige Nachricht noch nicht angezeigt werden konnte, wird sie überschrieben.
    MODC <Nummer> <Einstellungen>
    Ändert die Kanaleinstellungen. Das Format von <Einstellungen> muss das gleiche sein wie das des LSTC Befehls.
    MODT <Nummer> on | off | <Einstellungen>
    Ändert einen Timer. Das Format von <Einstellungen> muss das gleiche sein wie das des LSTT Befehls. Mit 'on und 'off' kann ein Timer einfach ein- und ausgeschaltet werden.
    MOVC <Nummer> <nach>
    Verschiebt einen Kanal nach <nach> in der Kanalliste.
    MOVR <Nummer> <neuer Name>
    Kopiert die Aufnahme mit der angegebenen Nummer. Die Aufnahmenummer muss vorher mit dem LSTR-Befehl ermittelt werden. Weitere MOVR-Befehle ändern die Aufnahmenummern nicht. (Achtung: nicht im regulären VDR enthalten, nur bei Einsatz des Liemikuutio-patch verfügbar.)
    MOVT <Nummer> <nach>
    Verschiebt einen Timer nach <nach> in der Timerliste.
    NEWC <Einstellungen>
    Erstellt einen neuen Kanal. Das Format von <Einstellungen> muss das gleiche sein wie das des LSTC Befehls.
    NEWT <Einstellungen>
    Erstellt einen neuen Timer. Das Format von <Einstellungen> muss das gleiche sein wie das des LSTTBefehls.
    Beispiel für <Einstellungen>:


    1:19:5:2010:2150:51:50:Das Gelbe vom Ei:
    aktiv:Kanalnummer:Tag_des_Monats:Startzeit:Endzeit:Priorität:Dauerhaftigkeit:Titel:
    Tag_des_Monats kann dabei folgende Formate haben:


    19
    2005-03-19
    MTWTFSS
    MTWTFSS@19
    MTWTFSS@2005-03-19
    NEXT [ abs | rel ]
    Zeigt den nächsten Timer an. Ohne Parameter geschieht die Ausgabe in lesbarer Form. Mit dem Parameter 'abs' wird die absolute Zeit in Sekunden angegeben, während beim Parameter 'rel' die Zeit von jetzt bis zur Aufnahme in Sekunden angeben wird. Wenn die mit 'abs' zurückgegeben Zeit in der Vergangenheit liegt, bzw. die mit 'rel' zurückgegebene Zeit negativ ist, findet die Aufnahme des Timers gerade statt. Der Erste Wert der ausgegeben wird stellt die Nummer des Timers dar.
    PLAY <number> [ begin | <position> ]
    Spielt die Aufnahme mit der nummer <Nummer> ab. Die entsprechende Nummer der Aufnahme sollte unter Zuhilfenahme des LSTR Befehls ermittelt werden. Durch Angabe von 'begin' kann die Aufnahme vom Anfang an wiedergegeben werden. Andere Startpositionen können als Frame index oder im Format hh:mm:ss[.ff] angegeben werden. Wird kein Startpunkt für die Wiedergabe angegeben, wird die letzte Wiedergabe fortgesetzt.
    PLUG <name> [ <command> [ <options> ]]
    Sendet ein Kommando an ein Plugin. Der PLUG Befehl ohne Parameter listet alle Plugins auf. Wenn nur ein Plunginname angegeben wird, werden für diese Plugins alle möglichen Befehle angezeigt. Wenn ein Kommando hinzugefügt wird ( optional gefolgt von Parametern), wird der Befehl an das Plugin gesendet und das Ergebnis wird ausgegeben. Das Schlüsselwort 'help' listet alle möglichen SVDRP Befehle für das Plugin auf. Wenn 'help' gefolgt von einem Befehl angegeben wird, wird eine detaillierte Hilfe für dieses Kommando ausgegeben. Das Schlüsselwort 'main' ruft die Hauptmenü Funktion des angegebenen Plugins auf.
    PUTE
    Fügt EPG-Daten ein. Das Format der Daten ist in der Manualpage Vdr(5) bzw. in epg.data beschrieben und muss genau eingehalten werden. Ein einzelner Punkt in einer Zeile beendet die Eingabe und sorgt für die Weiterverarbeitung der eingegeben Daten, die bislang nur zwischengespeichert wurden.
    REMO [ on | off ]
    Schaltet die Fernbedienungs-Kontrolle an / aus. Ohne Parameter wird der aktuelle Zustand gemeldet.
    SCAN
    Erzwingt einen EPG-Scan. Auf Systemen mit nur einer DVB-Karte wird der Scan auf dieser durchgeführt, wenn gerade keine Aufnahme läuft.
    STAT disk
    Liefert Informationen über den Festplattenspeicher-Verbrauch (Total, Frei, Prozent).
    UPDR
    Liest das Aufnahmen-Verzeichnis neu ein (entspricht etwa touch .update).
    UPDT <Einstellungen>
    Aktualisiert einen Timer. Das Format von <Einstellungen> muss das gleiche sein wie das des LSTT Befehls. Wenn der Timer noch nicht existiert, wird er erstellt.
    VOLU [ <Nummer> | + | - | mute ]
    Setzt die Lautstärke entweder direkt (Bereich: 0 - 255), oder Schrittweise. Mit mute wird der Ton stumm geschaltet. Ohne Parameter wird die aktuelle Lautstärke angezeigt.
    QUIT
    Beendet die Verbindung zu VDR (SVDRP). Alternativ kann man auch CTRL-D drücken.
    SVDRP Antwort Codes


    214 Hilfetext
    215 EPG Eintrag
    216 Image grab data (base 64)
    220 VDR-Service bereit
    221 VDR-Service schließt Sende-Kanal
    250 Angeforderte Aktion okay, beendet
    354 Start senden von EPG-Daten
    451 Angeforderte Aktion abgebrochen: lokaler Fehler bei der Bearbeitung
    500 Syntax-Fehler, unbekannter Befehl
    501 Syntax-Fehler in Parameter oder Argument
    502 Befehl nicht implementiert
    504 Befehls-Parameter nicht implementiert
    550 Angeforderte Aktion nicht ausgeführt
    554 Transaktion fehlgeschlagen
    Die Antworten sind vom Format:


    <Antwort Code><-|Leerzeichen><Text><newline>
    Bei der letzten Zeile wird anstelle des - nach dem Antwort Code ein Leerzeichen gesetzt.



    svdrpsend


    svdrpsend ist ein Perl-Skript, mit dem sich SVDRP-Kommandos direkt von der Konsole absetzen lassen. Bis VDR 1.7.22 hieß das Skript svdrpsend.pl, seit Version 1.7.23 heißt es nur noch svdrpsend.


    Beispiel:


    svdrpsend help
    Optionen


    Parameter Beschreibung
    -d hostname Hostname des VDR, der angesprochen werden soll (Standard: localhost)
    -p port SVDRP Portnummer (Standard: 6419)
    Achtung: Bis VDR 1.7.14 war der Standard-Port 2001, seit Version 1.7.15 ist es 6419.


    SVDRP-Clients


    Es gibt eine ganze Reihe von Applikationen, die per SVDRP mit dem VDR kommunizieren und z.B. eine Fernbedienungsfunktion oder komplette Bedienoberflächen per Web implementieren.


    Probleme


    VDR erlaubt keine gleichzeitigen Verbindungen mehrerer Clients. Damit blockiert ein Client alle anderen, die zur gleichen Zeit auf den SVDRP zugreifen wollen. Alle parallel eingesetzen SVDRP-Anwendungen konkurrieren damit um diese Verbindung.

  • Hallo Leute bin neu
    Könnt ihr mir helfen Bitte
    mit einer anleitung oder so


    Hi,


    mit "oder so" vielleicht. Wenn es dir nur darum geht, den VDR auf einem RPi zu nutzen, kannst du es ja mal mit der MLD-Distirbution versuchen. Aktuell empfehle ich die Version 5.3. Hier solltest du zunächst einmal "Angepasstes Image" und dann satip-rpi wählen. Bitte die Hinweise unter "Installation" im Downloadbereich beachten. Fragen dazu kannst du direkt im MLD-Forum stellen bzw. nach Antworten suchen.


    Viele Grüße skippy

  • BerryBoot kann aber dass mld nicht lesen und ich wollte
    obenelec
    Retropie auch nutzen


    Mit berry boot kann ich das alles mit einer sd Karte nutzen
    oder gibt es da auch eine Lösung Googel hat nichts


    deswegen VDR wenn ich eine Anleitung hätte bz eine leichtere oder andere die gehen würde wäre ich glücklich