Kategorie:Raspbian VDR Streaming Client yaVDR Pakete

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Einleitung

Konstruction zone!!!!!!

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

Hier verwenden wir die Quelltext-Pakete vom yaVDR-Projekt. Das hat den Vorteil das man sich nicht so sehr um das "drum-herum" wie z.B. Konfigurationsdateien und "Patches" kümmern muss. Diese werden automatisch erstellt.

Trotzdem wendet sich die Anleitung an Leute mit Erfahrung in Linux. Anfänger nehmen besser eine speziell angepasste Distribution.

Voraussetzungen

Einrichtung des Raspberry und Raspian Jessie ähnlich wie dort beschrieben. Lirc oder CEC sollten auch schon eingerichtet sein damit die Fernbedienung gleich funktioniert.

Errata

Es gibt noch einige offenen Punkte. Mithilfe ist sehr willkommen.

  • Beim zweiten Compilieren beschwert sich dpkg-buildpackage dass Dateien verändert wurden. Offensichtlich fehlt ein Cleanup.
  • Einige Pakete haben fehlende Abängigkeiten
  • Der Scripts ist noch sehr primitiv und fängt Fehler nicht unbedingt ab.
  • Keys sind noch nicht alle eingetragen, so daß sich apt-get source beschwert (nur Warnung).
  • Es könnte sein das noch einige Abhänigkeiten fehlen weil sie schon auf meinem Raspian drauf waren.
  • Dieser Artikel wird gerade Überarbeitet, es gibt neuen Script.

Übersicht

Es gibt zwei Scripts, einer holt die Quelltexte, der andere compiliert/paketiert und installiert in einem zweiten Aufruf. Man kann auch alles von Hand machen, aber das war mir zu mühselig.

Holen der Quelltexte

Wir verwenden "apt-get source", daher müssen die Quell-URLs eingetragen werden. Das Rpihddevice-plugin ist nicht in yaVDR enthalten, daher holen wir das Paket von e-tobi. Der Script installiert auch gleich einige Abhängigkeiten.

Wir erzeugen einen beliebigen Ordner und arbeiten darin. Beispiel:

mkdir ~/VDR
chdir ~/VDR

Nun der Script get.sh (bei Cut/Paste muss das erste Leerzeichen in der Zeile entfernt werden, das ist für die Wikiformatierung). Und nicht vergessen: chmod +x *.sh

#!/bin/bash
#set -x

# install the keys for this PPA
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8103B360
#sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5289F541

sudo gpg --keyserver keyring.debian.org --recv-keys 041390BC
sudo gpg --armor --export 041390BC | sudo apt-key add -

# add ppa with sources
sudo sh -c 'echo deb-src http://ppa.launchpad.net/yavdr/stable-vdr/ubuntu trusty main >/etc/apt/sources.list.d/yavdr-src.list'
sudo sh -c 'echo deb-src http://e-tobi.net/vdr-experimental jessie base vdr-multipatch >/etc/apt/sources.list.d/etobi-src.list'

sudo apt-get update
#sudo apt-get install ubuntu-keyring

sudo apt-get install build-essential libssl-dev libboost-dev libpcre3-dev libmagick++-dev cdbs dpatch quilt libpoco-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-icccm4-dev libxcb-util0-dev autofs python-ipaddr python3-dbus

# get sources of vdr and some plugins
apt-get source vdr vdr-addon-avahi-linker vdr-plugin-devstatus vdr-plugin-femon vdr-plugin-live vdr-plugin-plex vdr-plugin-remotetimers vdr-plugin-remoteosd vdr-plugin-skinnopacity vdr-plugin-streamdev vdr-plugin-systeminfo vdr-plugin-timersync vdr-plugin-tvguideng vdr-plugin-svdrpservice svdrpservice-dev vdr-plugin-skindesigner vdr-plugin-rpihddevice

Pakete erzeugen

Den Script build.sh ohne Parameter aufrufen. Er compiliert vdr, installiert vdr-dev (damit Plugins gebaut werden können), compiliert plugins die von anderen Plugins verwendet werden, installiert deren -dev Pakete und compiliert den rest der gelisteten Plugins. Das dauert gut eine Stunde auf einem PI2.

Cross-compiling wäre schneller, aber die Einrichtung ist complizierter (wer beschreibt es?)

Script build.sh (bei Cut/Paste muss das erste Leerzeichen in der Zeile entfernt werden, das ist für die Wikiformatierung). Und nicht vergessen: chmod +x *.sh

#!/bin/bash
#set -x
build()
{
	pushd $1
	dpkg-buildpackage -rfakeroot -us -uc -j4
	if [ "$?" != "0" ]; then
		exit $?
	fi
	popd
}
export -f build
build-module()
{
	find . -type d -iname "$1*" -exec bash -c 'build "$0"' {} \;
}
build-plugin()
{
	build-module "vdr-plugin-$1"
}
build-plugins()
{
	for modul in $*; do 	
		build-plugin $modul
	done
}
build-addon()
{
	build-module "vdr-addon-$1"
}
build-addons()
{
	for modul in $*; do 	
		build-addon $modul
	done
}
call-dpkg()
{
	echo $1
	sudo dpkg -i $1
}
export -f call-dpkg
install-modul()
{
	find . -type f -iname "$1*.deb" -exec bash -c 'call-dpkg "$0"' {} \;	
}
install-plugin()
{
	install-modul "vdr-plugin-$1_"	
}
install-plugins()
{
	for modul in $*; do 	
		install-plugin $modul
	done
}
install-addon()
{
	install-modul "vdr-addon-$1_"	
}
install-addons()
{
	for modul in $*; do 	
		install-addon $modul
	done
}
build-vdr()
{
	find . -type d -iname "vdr-?.?.?" -exec bash -c 'build "$0"' {} \;	
}
install-dev()
{
	find . -type f -iname "vdr-dev*.deb" -exec bash -c 'call-dpkg "$0"' {} \;	
}
install-vdr()
{
	find . -type f -iname "vdr_?.?.?*.deb" -exec bash -c 'call-dpkg "$0"' {} \;	
}

if [ "x$1" == "x" ]; then 
PLUGINS1="svdrpservice skindesigner"
PLUGINS="devstatus femon plex remotetimers remoteosd skinnopacity streamdev systeminfo timersync tvguideng live rpihddevice"
build-vdr && install-dev
build-plugins $PLUGINS1
install-modul libskindesignerapi0
install-modul libskindesignerapi-dev 
build-plugins $PLUGINS
build-addons avahi-linker
else
install-vdr
install-plugins svdrpservice skindesigner devstatus femon plex remotetimers remoteosd skinnopacity systeminfo timersync tvguideng live streamdev-client rpihddevice
install-addons avahi-linker
fi

 

Installieren

Wenn der Script build.sh alle .deb Pakete erzeugt hat, kann man sie installieren.

build.sh install

Post-Install Aktionen

Für autostart sollte man /etc/default/vdr editieren und ENABLE=1 setzen. Eventuell sollte man SHUTDOWNCMD= auf einen Script setzen der das gewünschte Ausschaltverhalten erzeugt (gibt vielleicht einen neuen Beitrag).

Mehr Details findet man bei yavdr.

Scripts Download

Hier im Wiki sind keine .sh extensions möglich, daher sind sie mit .png versehen. Bitte nach dem Download entfernen und "chmod +x *.sh" nicht vergessen.

Wie immer: keine Garantie, Verwendung auf eigenes Risiko.

Download mit Rechtsklick und "save linked contents as" (je nach Browser): Medium:get.sh.png‎ Medium:Build.sh.png‎

Seiten in der Kategorie „Raspbian VDR Streaming Client yaVDR Pakete“

Diese Kategorie enthält folgende Seite: