Debian – DVB-S2 – HDTV – VDR 1.7.9 – Streamdev + EPGSearch

software vdr hdtv 300x187 - Debian – DVB-S2 – HDTV - VDR 1.7.9 - Streamdev + EPGSearchIn einem meiner letzten Artikel habe ich euch erklärt wie ihr einen DVB-S2 VDR Stream mit einem Debian System aufbaut. Leider habe ich feststellen müssen das Tobi’s Experimental VDR Repository mit der VDR-Version 1.6.0 nicht HDTV (HD, 1080i, H.264) kompatibel ist. Um dieses Problem zu lösen werden wir, für unser 64-Bit Debian-System, das aktuellste VDR inklusive Plugins selber kompilieren. Viele Hürden müssen bewältigt werden, hoffentlich kann ich mit diesem Artikel ein paar Leuten weiterhelfen.

Zuerst installieren wir uns ein wenig Kernelzubehör, …

aptitude install linux-headers-`uname-r` make gcc bzip2

…danach installieren wir wieder unseren DVB-Treiber nur diesmal „s2-liplianin“.

cd /usr/src
aptitude install mercurial
hg clone 
cd s2-liplianin
make clean && make && make install && make makelinks
reboot

Nun fangen wir an unser VDR, in der Version 1.7.9, vorzubereiten…

cd /usr/src
aptitude install libfreetype6-dev libfontconfig1-dev libjpeg62-dev libcap-dev libncurses5-dev libncursesw5-dev unzip
wget ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.9.tar.bz2
tar xvjf vdr-1.7.9.tar.bz2
ln -s /usr/src/vdr-1.7.9 /usr/src/vdr

…wir benötigen noch denExtensionPatch für unser VDR.

cd /usr/src/vdr
wget https://www.loggn.de/wp-content/uploads/2009/11/vdr-1.7.9-ExtensionPatch72.zip
unzip vdr-1.7.9-ExtensionPatch72.zip
patch -p1 < vdr-1.7.9_extensions.diff

Jetzt erstellen wir das Make.config File. Download

cd /usr/src/vdr
cp Make.config.template Make.config
vi Make.config
############################################################
### VDR 1.7.9 - Make.config - by www.loggn.de
############################################################
### The C compiler and options:
CC       = gcc
CFLAGS   = -g -O2 -Wall
CXX      = g++
CXXFLAGS = -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
ifdef PLUGIN
CFLAGS   += -fPIC
CXXFLAGS += -fPIC
DEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
endif
############################################################
### The directory environment:
############################################################
#DVBDIR   = /usr/src/s2-liplianin/linux/include/linux/dvb
DVBDIR   = /usr/src/s2-liplianin/linux
MANDIR   = /usr/share/man/
BINDIR   = /usr/bin
LOCDIR   = /usr/lib/vdr/locale
PLUGINDIR= /usr/src/vdr/PLUGINS
PLUGINLIBDIR= /usr/lib/vdr/plugins
VIDEODIR = /etc/vdr/video
CONFDIR  = /etc/vdr
############################################################
### The remote control:
############################################################
LIRC_DEVICE = /dev/lircd
RCU_DEVICE  = /dev/ttyS1
############################################################
## Define if you want vdr to not run as root
############################################################
VDR_USER = root
############################################################
### VDR-Extensions:
############################################################
# Comment the patches you don't need
# DVDCHAPJUMP needs DVDARCHIVE enabled
# DVDARCHIVE needs LIEMIEXT enabled
# SORTRECORDS needs LIEMIEXT enabled
# you can only enable MENUORG or SETUP
#ANALOGTV = 1
#ATSC = 1
#CHANNELSCAN = 1
CMDRECCMDI18N = 1
CMDSUBMENU = 1
#CUTTERLIMIT = 1
#CUTTERQUEUE = 1
CUTTIME = 1
DDEPGENTRY = 1
#DELTIMESHIFTREC = 1
DOLBYINREC = 1
#DVBSETUP = 1
#DVDARCHIVE = 1
#DVDCHAPJUMP = 1
#DVLFRIENDLYFNAMES = 1
#DVLRECSCRIPTADDON = 1
#DVLVIDPREFER = 1
#EM84XX = 1
#GRAPHTFT = 1
#HARDLINKCUTTER = 1
#JUMPPLAY = 1
LIEMIEXT = 1
#LIRCSETTINGS = 1
#LNBSHARE = 1
#MAINMENUHOOKS = 1
#MENUORG = 1
#NOEPG = 1
#OSDMAXITEMS = 1
#PARENTALRATING = 1
#PINPLUGIN = 1
PLUGINAPI = 1
PLUGINMISSING = 1
#PLUGINPARAM = 1
#ROTOR = 1
SETTIME = 1
SETUP = 1
#SOFTOSD = 1
#SOURCECAPS = 1
#SORTRECORDS = 1
STREAMDEVEXT = 1
#TIMERCMD = 1
#TIMERINFO = 1
#TTXTSUBS = 1
#VALIDINPUT = 1
#VOLCTRL = 1
WAREAGLEICON = 1
YAEPG = 1
############################################################
### You don't need to touch the following:
############################################################
ifdef DVBDIR
INCLUDES += -I$(DVBDIR)/include
endif
ifdef ANALOGTV
DEFINES += -DUSE_ANALOGTV
endif
ifdef ATSC
DEFINES += -DUSE_ATSC
endif
ifdef CHANNELSCAN
DEFINES += -DUSE_CHANNELSCAN
endif
ifdef CMDRECCMDI18N
DEFINES += -DUSE_CMDRECCMDI18N
endif
ifdef CMDSUBMENU
DEFINES += -DUSE_CMDSUBMENU
endif
ifdef CUTTERLIMIT
DEFINES += -DUSE_CUTTERLIMIT
endif
ifdef CUTTERQUEUE
DEFINES += -DUSE_CUTTERQUEUE
endif
ifdef CUTTIME
DEFINES += -DUSE_CUTTIME
endif
ifdef DDEPGENTRY
DEFINES += -DUSE_DDEPGENTRY
endif
ifdef DELTIMESHIFTREC
DEFINES += -DUSE_DELTIMESHIFTREC
endif
ifdef DOLBYINREC
DEFINES += -DUSE_DOLBYINREC
endif
ifdef DVBSETUP
DEFINES += -DUSE_DVBSETUP
endif
ifdef DVDARCHIVE
ifdef LIEMIEXT
DEFINES += -DUSE_DVDARCHIVE
endif
endif
ifdef DVLRECSCRIPTADDON
DEFINES += -DUSE_DVLRECSCRIPTADDON
endif
ifdef DVLVIDPREFER
DEFINES += -DUSE_DVLVIDPREFER
endif
ifdef DVLFRIENDLYFNAMES
DEFINES += -DUSE_DVLFRIENDLYFNAMES
endif
ifdef EM84XX
DEFINES += -DUSE_EM84XX
endif
ifdef GRAPHTFT
DEFINES += -DUSE_GRAPHTFT
endif
ifdef HARDLINKCUTTER
DEFINES += -DUSE_HARDLINKCUTTER
endif
ifdef JUMPPLAY
DEFINES += -DUSE_JUMPPLAY
endif
ifdef LIEMIEXT
DEFINES += -DUSE_LIEMIEXT
endif
ifdef LIRCSETTINGS
DEFINES += -DUSE_LIRCSETTINGS
endif
ifdef LNBSHARE
DEFINES += -DUSE_LNBSHARE
endif
ifdef MAINMENUHOOKS
DEFINES += -DUSE_MAINMENUHOOKS
endif
ifdef MENUORG
DEFINES += -DUSE_MENUORG
else
ifdef SETUP
DEFINES += -DUSE_SETUP
endif
endif
ifdef NOEPG
DEFINES += -DUSE_NOEPG
endif
ifdef OSDMAXITEMS
DEFINES += -DUSE_OSDMAXITEMS
endif
ifdef PARENTALRATING
DEFINES += -DUSE_PARENTALRATING
endif
ifdef PINPLUGIN
DEFINES += -DUSE_PINPLUGIN
endif
ifdef PLUGINMISSING
DEFINES += -DUSE_PLUGINMISSING
endif
ifdef PLUGINPARAM
DEFINES += -DUSE_PLUGINPARAM
endif
ifdef ROTOR
DEFINES += -DUSE_ROTOR
endif
ifdef SETTIME
DEFINES += -DUSE_SETTIME
endif
ifdef SOFTOSD
DEFINES += -DUSE_SOFTOSD
endif
ifdef SOURCECAPS
DEFINES += -DUSE_SOURCECAPS
endif
ifdef SORTRECORDS
ifdef LIEMIEXT
DEFINES += -DUSE_SORTRECORDS
endif
endif
ifdef STREAMDEVEXT
DEFINES += -DUSE_STREAMDEVEXT
endif
ifdef TIMERCMD
DEFINES += -DUSE_TIMERCMD
endif
ifdef TIMERINFO
DEFINES += -DUSE_TIMERINFO
endif
ifdef TTXTSUBS
DEFINES += -DUSE_TTXTSUBS
endif
ifdef VALIDINPUT
DEFINES += -DUSE_VALIDINPUT
endif
ifdef VOLCTRL
DEFINES += -DUSE_VOLCTRL
endif
ifdef WAREAGLEICON
DEFINES += -DUSE_WAREAGLEICON
endif
ifdef YAEPG
DEFINES += -DUSE_YAEPG
endif
############################################################
### VDR 1.7.9 - Make.config - by www.loggn.de
############################################################

Nachdem wir das Make.config angepasst haben, löschen wir die nicht benötigten Default Plugins.

rm -Rf /usr/src/vdr/PLUGINS/src/*

Jetzt laden wir den Source Code der Plugins (vdr-streamdev & vdr-epgsearch) und installieren benötigte Pakete.

cd /usr/src/vdr/PLUGINS/src
wget http://streamdev.vdr-developer.org/snapshots/vdr-streamdev-0.5.0-pre-20090611.tgz
tar xvfz vdr-streamdev-0.5.0-pre-20090611.tgz
ln -s streamdev-0.5.0-pre-20090611 streamdev
aptitude install libpcre3-dev libtre-dev
cd /usr/src/vdr/PLUGINS/src/
wget http://winni.vdr-developer.org/epgsearch/downloads/vdr-epgsearch-0.9.24.tgz
tar xvfz vdr-epgsearch-0.9.24.tgz
ln -s epgsearch-0.9.24 epgsearch

Nachdem wir jetzt alles vorbereitet haben, werden wir noch ein paar Dateien anpassen damit unser VDR beim der Kompilierung nicht auf ERROR läuft.

ln -s /usr/src/linux-headers-`uname -r`/include/linux/compiler.h /usr/src/s2-liplianin/linux/include/linux/compiler.h

Wir editieren die „dvbdevice.h“ damit nicht dieser Fehler auftritt „error: #error VDR requires Linux DVB driver API version 5.0!“…

cd /usr/src/vdr
vi dvbdevice.h

…die Zeile 19 bis 21…

#if DVB_API_VERSION != 5 || DVB_API_VERSION_MINOR != 0
#error VDR requires Linux DVB driver API version 5.0!
#endif

…ersetzen wir mit.

#if DVB_API_VERSION != 5 || DVB_API_VERSION_MINOR != 1
#error VDR requires Linux DVB driver API version 5.0!
#endif

Um diesen Fehler zu umgehen…

epgsearch.c: In member function ‘void cPluginEpgsearch::CheckUTF8()’:
epgsearch.c:471: error: ‘CODESET’ was not declared in this scope
epgsearch.c:471: error: ‘nl_langinfo’ was not declared in this scope
make: *** [epgsearch.o] Fehler 1)

…müssen wir noch in die Datei „epgsearch.c“ vorm ersten „#include“ folgende Zeile einfügen.

cd /usr/src/vdr/PLUGINS/src/epgsearch
vi epgsearch.c
#include <langinfo.h>

Jetzt heisst es Daumen drücken beim kompilieren!

cd /usr/src/vdr
make clean && make clean-plugins && make && make plugins && make install

Nach erfolgreicher Kompilierung erzeugen wir die streamdevhosts.conf, in der festlegt werden kann welche IP-Adressen den Stream empfangen dürfen.

mkdir -p /etc/vdr/plugins/streamdev
cp /usr/src/vdr/PLUGINS/src/streamdev/streamdev/streamdevhosts.conf /etc/vdr/plugins/streamdev/
vi /etc/vdr/plugins/streamdev/streamdevhosts.conf

Zu guter Letzt installieren wir unser VDRadmin-AM.

aptitude install libauthen-sasl-perl libdigest-hmac-perl libio-socket-inet6-perl
cd /usr/src/
wget http://andreas.vdr-developer.org/vdradmin-am/download/vdradmin-am-3.6.4.tar.bz2
tar jxvf vdradmin-am-3.6.4.tar.bz2
cd vdradmin-am-3.6.4
LANG=de_DE ./make.sh install

Optional können wir jetzt noch einen Sendersuchlauf machen.

aptitude install dvb-apps
scan -o vdr /usr/share/dvb/dvb-s/Astra-19.2E > /etc/vdr/channels.conf
chown -R vdr:vdr /etc/vdr/

Endlich Fertig, wenn man weiß was man machen muss ist es eigentlich garnicht so schwierig.^^

Das VDR & VDRadmin-AM starten wir so:

/usr/bin/vdradmind
/usr/bin/vdr -d -P streamdev-server -P epgsearch

Jetzt gehen auch unsere HD-Kanäle. 😛

software vdr hdtv 1024x640 - Debian – DVB-S2 – HDTV - VDR 1.7.9 - Streamdev + EPGSearch

HD-Känale (Auszug aus der channels.conf):

#HD Programme
Das Erste HD;ARD:11361:hC23M5O35S1:S19.2E:22000:6010:6020=deu;6022=deu:6030:0:11100:1:1011:0
ZDF HD;ZDFvision:11361:hC23M5O35S1:S19.2E:22000:6110:6120=deu;6122=deu:6130:0:11110:1:1011:0
arte HD;ZDFvision:11361:hC23M5O35S1:S19.2E:22000:6210:6221=deu,6222=fra;6220=deu:6230:0:11120:1:1011:0
Einsfestival HD;ARD:12421:hC34M2O0S0:S19.2E:27500:1601:1602=deu;1606=deu:0:0:28396:1:1201:0
ASTRA HD;BetaDigital:11303:hC23M5O35S1:S19.2E:22000:511:0;515=deu:0:0:4901:1:1007:0
Servus TV HD;ORF:11303:hC23M5O35S1:S19.2E:22000:3583:3584=deu,3585=deu;3587=deu:0:0:4913:1:1007:0
ANIXE HD;BetaDigital:11303:hC23M5O35S1:S19.2E:22000:255:0;259=deu:0:0:4900:1:1007:0

Update für Ubuntu: Ubuntu – DVB-S2 – HDTV – VDR 1.7.9 – Streamdev + EPGSearch

Veröffentlicht von

_nico

Mac-User aus Leidenschaft, Blogger seit Oktober 2009, 88er Baujahr, technikaffin. Ich fühle mich aber nicht nur auf Apple'schen Betriebssystemen zu Hause, alles was eine Shell hat, interessiert mich besonders! Ihr findet mich auch auf Twitter und Google+.

18 Gedanken zu „Debian – DVB-S2 – HDTV – VDR 1.7.9 – Streamdev + EPGSearch“

  1. Unter Ubuntu Karmic gibt es ein gutes Repository. (THE VDR TEAM)

    vi /etc/apt/sources.list
    #
    # THE VDR TEAM
    #
    deb karmic main
    deb-src karmic main

    …bei NO_PUBKEY 4650EDF56CF20474

    gpg -–keyserver hkp://wwwkeys.eu.pgp.net –-recv-keys 4650EDF56CF20474
    gpg -–armor -–export 4650EDF56CF20474 | apt-key add -

    Viel Spaß.

  2. There might be an typo: (linux-headers appears two times)

    ln -s /usr/src/linux-headers-linux-headers-`uname -r`/include/linux/compiler.h /usr/src/s2-liplianin/linux/include/linux/compiler.h

    ln -s /usr/src/linux-headers-`uname -r`/include/linux/compiler.h /usr/src/s2-liplianin/linux/include/linux/compiler.h

  3. Hi Nico, thank you for help
    root@anis-desktop:/usr/src/vdr/PLUGINS/src# ls
    epgsearch epgsearch-0.9.24 streamdev streamdev-0.5.0-pre-20090611
    root@anis-desktop:/usr/src/vdr/PLUGINS/src/epgsearch# nano epgsearch.c
    #include
    #include
    .
    .
    .
    cd /usr/src/vdr
    root@anis-desktop:/usr/src/vdr#make clean && make clean-plugins && make && make plugins && make install
    ……
    ………
    *** failed plugins: epgsearch

    its not work ?

  4. /src/s2-liplianin/linux/include -I../../../include -I/usr/src/s2-liplianin/linux/include epgsearchsvdrp.c
    In file included from epgsearchext.h:34,
    from epgsearchtools.h:30,
    from epgsearchsvdrp.c:30:
    log.h: In member function ‘void cLogFile::Log(int, const char*, …)’:
    log.h:51: warning: ignoring return value of ‘int vasprintf(char**, const char*, __va_list_tag*)’, declared with attribute warn_unused_result
    log.h: In member function ‘void cLogFile::eSysLog(const char*, …)’:
    log.h:76: warning: ignoring return value of ‘int vasprintf(char**, const char*, __va_list_tag*)’, declared with attribute warn_unused_result
    log.h: In member function ‘void cLogFile::iSysLog(const char*, …)’:
    log.h:87: warning: ignoring return value of ‘int vasprintf(char**, const char*, __va_list_tag*)’, declared with attribute warn_unused_result
    epgsearchsvdrp.c: In member function ‘virtual cString cPluginEpgsearch::SVDRPCommand(const char*, const char*, int&)’:
    epgsearchsvdrp.c:745: error: invalid conversion from ‘const char*’ to ‘char*’
    make[1]: *** [epgsearchsvdrp.o] Erreur 1
    make[1]: quittant le répertoire « /usr/src/vdr-1.7.9/PLUGINS/src/epgsearch-0.9.24 »
    Plugin streamdev:
    make[1]: entrant dans le répertoire « /usr/src/vdr-1.7.9/PLUGINS/src/streamdev-0.5.0-pre-20090611 »
    make[1]: Rien à faire pour « all ».
    make[1]: quittant le répertoire « /usr/src/vdr-1.7.9/PLUGINS/src/streamdev-0.5.0-pre-20090611 »

    *** failed plugins: epgsearch

  5. hi I replace vdr-epgsearch-0.9.24.tgz vdr-by-epgsearch 0.9.25.beta15.tgz.
    but another problem:
    root@anis-desktop:/usr/src/vdr# usr /bin/vdradmind
    Can not start server at 0.0.0.0:8001: IO:: Socket:: INET: Address already in use

  6. root@server:/usr/src/vdr# make clean-plugins
    make[1]: Entering directory `/usr/src/vdr-1.7.9/PLUGINS/src/epgsearch-0.9.24′
    make[1]: Leaving directory `/usr/src/vdr-1.7.9/PLUGINS/src/epgsearch-0.9.24′
    make[1]: Entering directory `/usr/src/vdr-1.7.9/PLUGINS/src/epgsearch-0.9.24′
    make[1]: Leaving directory `/usr/src/vdr-1.7.9/PLUGINS/src/epgsearch-0.9.24′
    make[1]: Entering directory `/usr/src/vdr-1.7.9/PLUGINS/src/streamdev-0.5.0′
    make -C ./tools clean
    make[2]: Entering directory `/usr/src/vdr-1.7.9/PLUGINS/src/streamdev-0.5.0/tools‘
    make[2]: Leaving directory `/usr/src/vdr-1.7.9/PLUGINS/src/streamdev-0.5.0/tools‘
    make[2]: Entering directory `/usr/src/vdr-1.7.9/PLUGINS/src/streamdev-0.5.0/tools‘
    make[2]: Leaving directory `/usr/src/vdr-1.7.9/PLUGINS/src/streamdev-0.5.0/tools‘
    make -C ./libdvbmpeg clean
    make[2]: Entering directory `/usr/src/vdr-1.7.9/PLUGINS/src/streamdev-0.5.0/libdvbmpeg‘
    make[2]: Leaving directory `/usr/src/vdr-1.7.9/PLUGINS/src/streamdev-0.5.0/libdvbmpeg‘
    make[2]: Entering directory `/usr/src/vdr-1.7.9/PLUGINS/src/streamdev-0.5.0/libdvbmpeg‘
    make[2]: Leaving directory `/usr/src/vdr-1.7.9/PLUGINS/src/streamdev-0.5.0/libdvbmpeg‘
    make -C ./remux clean
    make[2]: Entering directory `/usr/src/vdr-1.7.9/PLUGINS/src/streamdev-0.5.0/remux‘
    make[2]: Leaving directory `/usr/src/vdr-1.7.9/PLUGINS/src/streamdev-0.5.0/remux‘
    make[2]: Entering directory `/usr/src/vdr-1.7.9/PLUGINS/src/streamdev-0.5.0/remux‘
    make[2]: Leaving directory `/usr/src/vdr-1.7.9/PLUGINS/src/streamdev-0.5.0/remux‘
    make -C ./client clean
    make[2]: Entering directory `/usr/src/vdr-1.7.9/PLUGINS/src/streamdev-0.5.0/client‘
    streamdev-client.c:14:2: error: #error „VDR-1.5.9 API version or greater is required!“
    make[2]: Leaving directory `/usr/src/vdr-1.7.9/PLUGINS/src/streamdev-0.5.0/client‘
    make -C ./server clean
    make[2]: Entering directory `/usr/src/vdr-1.7.9/PLUGINS/src/streamdev-0.5.0/server‘
    streamdev-server.c:17:2: error: #error „VDR-1.5.9 API version or greater is required!“
    make[2]: Leaving directory `/usr/src/vdr-1.7.9/PLUGINS/src/streamdev-0.5.0/server‘
    make[1]: Leaving directory `/usr/src/vdr-1.7.9/PLUGINS/src/streamdev-0.5.0′
    root@server:/usr/src/vdr#

    make clean plugins isnt working. any ideas ?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert