Raspbian VDR Streaming Client - Install Scripts

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K (Scripts)
 
(6 dazwischenliegende Versionen von einem Benutzer werden nicht angezeigt)
Zeile 3: Zeile 3:
  
 
Die Scripts sind nur Vorschläge und sollten nochmals auf Kompatibilität mit der eigenen Umgebung überprüft werden.
 
Die Scripts sind nur Vorschläge und sollten nochmals auf Kompatibilität mit der eigenen Umgebung überprüft werden.
 +
  
 
===Einrichten eines Users vdr===
 
===Einrichten eines Users vdr===
Zeile 22: Zeile 23:
  
 
Dependencies.sh
 
Dependencies.sh
#!/bin/bash
 
#set -x
 
 
  sudo apt-get update
 
  sudo apt-get update
 
  sudo apt-get dist-upgrade
 
  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 lirc
+
  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===
 
===Quellen holen===
Zeile 32: Zeile 31:
 
GetSources.sh
 
GetSources.sh
 
  #!/bin/bash
 
  #!/bin/bash
  set -x
+
  #set -x
  #
+
 +
# prepare some directories
 +
  # First the place to download archives
 
  DNLOAD=~/Download
 
  DNLOAD=~/Download
 
  mkdir -p $DNLOAD
 
  mkdir -p $DNLOAD
  mkdir -p $DNLOAD/vdr
+
   
  mkdir -p $DNLOAD/vdrplugins
+
# We build it local as normal user
  #
+
SRC=~/src
  cd $DNLOAD/vdr
+
  mkdir -p $SRC
 +
 +
  # get vdr
 +
  cd $DNLOAD
 
  wget ftp://ftp.tvdr.de/vdr/vdr-2.2.0.tar.bz2
 
  wget ftp://ftp.tvdr.de/vdr/vdr-2.2.0.tar.bz2
  #
+
  cd $DNLOAD/vdrplugins
+
  # get plugins as archives
git clone git://projects.vdr-developer.org/vdr-plugin-rpihddevice.git vdr-plugin-rpihddevice
+
  cd $DNLOAD
#wget http://projects.vdr-developer.org/git/vdr-plugin-rpihddevice.git/snapshot/vdr-plugin-rpihddevice-0.0.11.tar.gz
+
#tar -czf vdr-plugin-rpihddevice-0.0.11.tar.gz vdr-plugin-rpihddevice
+
#
+
git clone git://projects.vdr-developer.org/vdr-plugin-streamdev.git vdr-plugin-streamdev
+
#tar -czf vdr-plugin-streamdev-23122014.tar.gz vdr-plugin-streamdev
+
#
+
 
  wget http://vdr.schmirler.de/svdrpservice/vdr-svdrpservice-1.0.0.tgz
 
  wget http://vdr.schmirler.de/svdrpservice/vdr-svdrpservice-1.0.0.tgz
 
  wget http://vdr.schmirler.de/epgsync/vdr-epgsync-1.0.1.tgz
 
  wget http://vdr.schmirler.de/epgsync/vdr-epgsync-1.0.1.tgz
  #
+
  wget http://vdr.schmirler.de/remotetimers/vdr-remotetimers-1.0.2.tgz
 +
 
  wget http://phivdr.dyndns.org/vdr/vdr-suspendoutput/vdr-suspendoutput-2.0.0.tgz
 
  wget http://phivdr.dyndns.org/vdr/vdr-suspendoutput/vdr-suspendoutput-2.0.0.tgz
 +
 +
wget http://www.saunalahti.fi/~rahrenbe/vdr/satip/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===
 
===VDR und plugins bauen===
Zeile 59: Zeile 143:
 
build.sh
 
build.sh
 
  #!/bin/bash
 
  #!/bin/bash
  set -x  
+
  #set -x  
  #
+
   
  # use all 4 CPUs on the PI2. For PI1 remove the -j4
+
  # automatically use all CPUs
  PI2=-j4
+
  AMOUNT_CPU=-j`grep -c ^processor /proc/cpuinfo`
#
+
   
DNLOAD=~/Download
+
  #
+
 
  # We build it local as normal user
 
  # We build it local as normal user
 
  SRC=~/src
 
  SRC=~/src
  mkdir $SRC
+
   
cd $SRC
+
  # build plugins
#
+
tar -xjf $DNLOAD/vdr/vdr-2.2.0.tar.bz2
+
ln -s vdr-2.2.0/ vdr
+
#
+
# prepare rpihddevice
+
cd $SRC/vdr/PLUGINS/src
+
cp -a $DNLOAD/vdrplugins/vdr-plugin-rpihddevice .
+
ln -s vdr-plugin-rpihddevice rpihddevice
+
#
+
# prepare Streamdev
+
cd $SRC/vdr/PLUGINS/src
+
cp -a $DNLOAD/vdrplugins/vdr-plugin-streamdev .
+
ln -s vdr-plugin-streamdev/ streamdev
+
#
+
# prepare svdrpservice
+
cd $SRC/vdr/PLUGINS/src
+
tar -xzf $DNLOAD/vdrplugins/vdr-svdrpservice-1.0.0.tgz
+
ln -s svdrpservice-1.0.0 svdrpservice
+
#
+
#prepare epgsync
+
cd $SRC/vdr/PLUGINS/src
+
tar -xzf $DNLOAD/vdrplugins/vdr-epgsync-1.0.1.tgz
+
ln -s epgsync-1.0.1 epgsync
+
#
+
# prepare suspendoutput
+
# TBD
+
#
+
  # build VDR and plugins
+
 
  cd $SRC/vdr/
 
  cd $SRC/vdr/
  make REMOTE=LIRC $PI2 && make plugins $PI2 && sudo make install
+
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
 
  sudo chown -R vdr.vdr /var/cache/vdr
 +
 +
[[Kategorie:Raspbian VDR Streaming Client]]

Aktuelle Version vom 15. November 2015, 14:11 Uhr

Inhaltsverzeichnis

[Bearbeiten] 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.


[Bearbeiten] 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

[Bearbeiten] 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

[Bearbeiten] 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/svdrpservice/vdr-svdrpservice-1.0.0.tgz
wget http://vdr.schmirler.de/epgsync/vdr-epgsync-1.0.1.tgz
wget http://vdr.schmirler.de/remotetimers/vdr-remotetimers-1.0.2.tgz

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

wget http://www.saunalahti.fi/~rahrenbe/vdr/satip/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"

[Bearbeiten] 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

[Bearbeiten] 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