Raspbian VDR Streaming Client - Install Scripts
Aus VDR Wiki
(Unterschied zwischen Versionen)
Fauthd (Diskussion | Beiträge) K (→Scripts) |
Hulk (Diskussion | Beiträge) |
||
(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 | ||
− | |||
− | |||
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 $ | + | # We build it local as normal user |
− | # | + | SRC=~/src |
− | cd $DNLOAD | + | 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 | + | # get plugins as archives |
− | + | cd $DNLOAD | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
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 | + | # automatically use all CPUs |
− | + | AMOUNT_CPU=-j`grep -c ^processor /proc/cpuinfo` | |
− | + | ||
− | + | ||
− | + | ||
# We build it local as normal user | # We build it local as normal user | ||
SRC=~/src | SRC=~/src | ||
− | + | ||
− | + | # build plugins | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | # build | + | |
cd $SRC/vdr/ | cd $SRC/vdr/ | ||
− | make REMOTE=LIRC $ | + | 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