OpenSuSE DVB-S2 - VDR

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(VDR Patches herunterladen)
K (URL angepasst)
 
(13 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 12: Zeile 12:
 
===VDR herunterladen und vorbereiten===
 
===VDR herunterladen und vorbereiten===
 
  cd /data/installfiles/vdr
 
  cd /data/installfiles/vdr
  wget ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.5.10.tar.bz2
+
  wget ftp://ftp.tvdr.de/vdr/Developer/vdr-1.5.13.tar.bz2
 
  cd /usr/local/src
 
  cd /usr/local/src
  tar -xjf /data/installfiles/vdr/vdr-1.5.10.tar.bz2
+
  tar -xjf /data/installfiles/vdr/vdr-1.5.13.tar.bz2
  mv vdr-1.5.10/ vdr
+
  mv vdr-1.5.13/ vdr
  
 
====VDR Patches herunterladen====
 
====VDR Patches herunterladen====
(der hier mal erwähnte patch aus der Mailingliste ist identische mit dem unten angebenen patch. Daher habe ich ihn entfernt.)
 
 
 
  cd /data/installfiles/vdr
 
  cd /data/installfiles/vdr
  wget http://www.linuxtv.org/pipermail/vdr/attachments/20071017/2d35acfd/attachment.bin
+
  wget http://www.linuxtv.org/pipermail/vdr/attachments/20080120/c41fd74b/attachment-0002.bin
  mv attachment.bin vdr-1.5.10-dvbs2-h264-syncearly-framespersec.diff
+
  mv attachment-0002.bin vdr-1.5.13-dvbs2-h264-syncearly-framespersec-audioindexer-fielddetection-speedup.diff.bz2
 +
bunzip2 vdr-1.5.13-dvbs2-h264-syncearly-framespersec-audioindexer-fielddetection-speedup.diff.bz2
  
 
====VDR für h264/DVBS2 patchen====
 
====VDR für h264/DVBS2 patchen====
 
  cd /usr/local/src/vdr
 
  cd /usr/local/src/vdr
  patch -p1 -i /data/installfiles/vdr/vdr-1.5.10-dvbs2-h264-syncearly-framespersec.diff
+
  patch -p1 -i /data/installfiles/vdr/vdr-1.5.13-dvbs2-h264-syncearly-framespersec-audioindexer-fielddetection-speedup.diff
  
 
====Makefile anpassen====
 
====Makefile anpassen====
Zeile 34: Zeile 33:
 
  LOCDIR  = /usr/local/src/vdr/locale
 
  LOCDIR  = /usr/local/src/vdr/locale
 
  DVBDIR  = /usr/local/src/dvb/linux
 
  DVBDIR  = /usr/local/src/dvb/linux
 +
PLUGINDIR= /usr/local/src/vdr/PLUGINS
 
   
 
   
 
  ifdef DVBDIR
 
  ifdef DVBDIR
Zeile 55: Zeile 55:
 
  Sat.1 HD;ProSiebenSat.1:12722:hC23M5S1Z35:S19.2E:22000:0:0:0:0:10201:1:1119:0
 
  Sat.1 HD;ProSiebenSat.1:12722:hC23M5S1Z35:S19.2E:22000:0:0:0:0:10201:1:1119:0
 
  ANIXE HD;BetaDigital:12722:hC23M5S1Z35:S19.2E:22000:0:0:0:0:10203:1:1119:0
 
  ANIXE HD;BetaDigital:12722:hC23M5S1Z35:S19.2E:22000:0:0:0:0:10203:1:1119:0
 +
:fuer Schweizer
 +
HD suisse;SRG SSR idee suisse:12398:hC34M2S0Z0:S13.0E:27500:10180+180:0;131=deu,132=fra,133=ita,134=eng:0:500:990:318:8500:0
 +
:BBCHD
 +
BBC HD;BSkyB:10847:vC56S0Z0:S28.2E:22000:12327+2327:2329=NAR;2328=eng:2330:0:6940:2:2050:0
 
  :@1000 New channels
 
  :@1000 New channels
  
Zeile 105: Zeile 109:
  
 
====runvdr anpassen====
 
====runvdr anpassen====
<pre>
+
cd /usr/local/bin
cd /usr/local/bin
+
vi runvdr
vi runvdr
+
</pre>
+
{{Box Datei | /usr/local/bin/runvdr |
+
<pre>
+
#!/bin/sh
+
+
# 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 1.19 2006/05/14 16:02:05 kls Exp $<br>
+
  
export LANG=de_DE
+
#!/bin/sh
export LC_COLLATE=de_DE
+
 
+
PATH=/usr/local/bin:$PATH
+
VDRPRG="/usr/local/bin/vdr"
+
VDRCMD="$VDRPRG -t /dev/tty8 -w 60 -c /etc/vdr -E /var/vdr --vfat \
+
      -L /usr/local/src/vdr/PLUGINS/lib \
+
      -s /usr/local/bin/vdrpoweroff.sh \
+
      $*"
+
 
   
 
   
KILL="/usr/bin/killall -q -TERM"
+
# runvdr: Loads the DVB driver and runs VDR
 
+
#
# Detect whether the DVB driver is already loaded
+
# If VDR exits abnormally, the driver will be reloaded
# and return 0 if it *is* loaded, 1 if not:
+
# and VDR restarted.
function DriverLoaded()
+
#
{
+
# In order to actually use this script you need to implement
return 1
+
# the functions DriverLoaded(), LoadDriver() and UnloadDriver()
}
+
# and maybe adjust the VDRPRG and VDRCMD to your particular
 
+
# requirements.
# Load all DVB driver modules needed for your hardware:
+
#
function LoadDriver()
+
# Since this script loads the DVB driver, it must be started
{
+
# as user 'root'. Add the option "-u username" to run VDR
modprobe stb6100
+
# under the given user name.
modprobe stb0899
+
#
modprobe lnbp21
+
# Any command line parameters will be passed on to the
modprobe budget-ci
+
# actual 'vdr' program.
}
+
#
# Unload all DVB driver modules loaded in LoadDriver():
+
# See the main source file 'vdr.c' for copyright information and
function UnloadDriver()
+
# how to reach the author.
{
+
#
modprobe -r budget-ci
+
# $Id: runvdr 1.19 2006/05/14 16:02:05 kls Exp $
modprobe -r lnbp21
+
modprobe -r stb0899
+
 
modprobe -r stb6100
+
export LANG=de_DE
}
+
export LC_COLLATE=de_DE
# Load driver if it hasn't been loaded already:
+
if ! DriverLoaded; then
+
PATH=/usr/local/bin:$PATH
  LoadDriver
+
VDRPRG="/usr/local/bin/vdr"
  fi
+
VDRCMD="$VDRPRG -t /dev/tty8 -w 60 -c /etc/vdr -E /var/vdr --vfat \
while (true) do
+
        -L /usr/local/src/vdr/PLUGINS/lib \
 +
        -s /usr/local/bin/vdrpoweroff.sh \
 +
        $*"
 +
 +
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()
 +
{
 +
  modprobe stb6100
 +
  modprobe stb0899
 +
  modprobe lnbp21
 +
  modprobe budget-ci
 +
}
 +
# Unload all DVB driver modules loaded in LoadDriver():
 +
function UnloadDriver()
 +
{
 +
  modprobe -r budget-ci
 +
  modprobe -r lnbp21
 +
  modprobe -r stb0899
 +
  modprobe -r stb6100
 +
}
 +
# Load driver if it hasn't been loaded already:
 +
if ! DriverLoaded; then
 +
  LoadDriver
 +
  fi
 +
while (true) do
 
       eval "$VDRCMD"
 
       eval "$VDRCMD"
 
       if test $? -eq 0 -o $? -eq 2; then exit; fi
 
       if test $? -eq 0 -o $? -eq 2; then exit; fi
Zeile 184: Zeile 185:
 
       echo "`date` restarting VDR"
 
       echo "`date` restarting VDR"
 
       done
 
       done
</pre>
 
}}
 
  
 
====VDR starten====
 
====VDR starten====

Aktuelle Version vom 22. Dezember 2009, 17:11 Uhr

Inhaltsverzeichnis

[Bearbeiten] Installation VDR

[Bearbeiten] Download Verzeichnis erstellen

cd /data/installfiles
mkdir vdr

[Bearbeiten] Videoverzeichnis vorbereiten

cd /data
mkdir vdrrecords
cd /
ln -s /data/vdrrecords/ video

[Bearbeiten] VDR herunterladen und vorbereiten

cd /data/installfiles/vdr
wget ftp://ftp.tvdr.de/vdr/Developer/vdr-1.5.13.tar.bz2
cd /usr/local/src
tar -xjf /data/installfiles/vdr/vdr-1.5.13.tar.bz2
mv vdr-1.5.13/ vdr

[Bearbeiten] VDR Patches herunterladen

cd /data/installfiles/vdr
wget http://www.linuxtv.org/pipermail/vdr/attachments/20080120/c41fd74b/attachment-0002.bin
mv attachment-0002.bin vdr-1.5.13-dvbs2-h264-syncearly-framespersec-audioindexer-fielddetection-speedup.diff.bz2
bunzip2 vdr-1.5.13-dvbs2-h264-syncearly-framespersec-audioindexer-fielddetection-speedup.diff.bz2

[Bearbeiten] VDR für h264/DVBS2 patchen

cd /usr/local/src/vdr
patch -p1 -i /data/installfiles/vdr/vdr-1.5.13-dvbs2-h264-syncearly-framespersec-audioindexer-fielddetection-speedup.diff

[Bearbeiten] Makefile anpassen

cd /usr/local/src/vdr
vi Makefile

LOCDIR   = /usr/local/src/vdr/locale
DVBDIR   = /usr/local/src/dvb/linux
PLUGINDIR= /usr/local/src/vdr/PLUGINS

ifdef DVBDIR
INCLUDES += -I$(DVBDIR)/include
endif

[Bearbeiten] Skripte und Konfigurationsdateien vorbereiten

cd /usr/local/src/vdr
cp -a svdrpsend.pl /usr/local/bin
mkdir -p /etc/vdr/plugins /var/vdr
mv *.conf /etc/vdr
mv channels.conf.* /etc/vdr

[Bearbeiten] channels.conf editieren und HDTV Kanäle hinzufügen

cd /etc/vdr
vi channels.conf

:HDTV
ASTRA  HD;BetaDigital:12722:hC23M5S1Z35:S19.2E:22000:10767+767:768=deu:0:0:10202:1:1119:0
ProSieben HD;ProSiebenSat.1:12722:hC23M5S1Z35:S19.2E:22000:0:0:0:0:10200:1:1119:0
Sat.1 HD;ProSiebenSat.1:12722:hC23M5S1Z35:S19.2E:22000:0:0:0:0:10201:1:1119:0
ANIXE HD;BetaDigital:12722:hC23M5S1Z35:S19.2E:22000:0:0:0:0:10203:1:1119:0
:fuer Schweizer
HD suisse;SRG SSR idee suisse:12398:hC34M2S0Z0:S13.0E:27500:10180+180:0;131=deu,132=fra,133=ita,134=eng:0:500:990:318:8500:0
:BBCHD
BBC HD;BSkyB:10847:vC56S0Z0:S28.2E:22000:12327+2327:2329=NAR;2328=eng:2330:0:6940:2:2050:0
:@1000 New channels

[Bearbeiten] Shutdownskript erstellen und ablegen

cd /usr/local/bin
vi vdrpoweroff.sh 

#!/bin/bash
/sbin/poweroff 

cd /usr/local/bin
chmod +x vdrpoweroff.sh

[Bearbeiten] remote.conf erstellen und ablegen

cd /etc/vdr
vi remote.conf
KBD.Up         00000000001B4F41
KBD.Down       00000000001B4F42
KBD.Menu       0000001B5B31397E    #F8
KBD.Ok         000000000000000D    #Enter
KBD.Back       000000001B5B347E    #Backspace
KBD.Left       00000000001B4F44
KBD.Right      00000000001B4F43
KBD.Red        00000000001B4F50    #F1
KBD.Green      00000000001B4F51    #F2
KBD.Yellow     00000000001B4F52    #F3
KBD.Blue       00000000001B4F53    #F4
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.Power      0000001B5B32347E    #F12
KBD.Volume+    000000000000002B    #+
KBD.Volume-    000000000000002D    #-
KBD.Mute       0000001B5B32307E    #F9

[Bearbeiten] VDR installieren

cd /usr/local/src/vdr/
make VFAT=1 && make plugins && make install

[Bearbeiten] VDR mittels runvdr starten

Das Skript runvdr wird benötigt um die DVB Treiber sowie den VDR zu starten.

[Bearbeiten] runvdr anpassen

cd /usr/local/bin
vi runvdr
#!/bin/sh

# 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 1.19 2006/05/14 16:02:05 kls Exp $

 
export LANG=de_DE
export LC_COLLATE=de_DE

PATH=/usr/local/bin:$PATH
VDRPRG="/usr/local/bin/vdr"
VDRCMD="$VDRPRG -t /dev/tty8 -w 60 -c /etc/vdr -E /var/vdr --vfat \
        -L /usr/local/src/vdr/PLUGINS/lib \
        -s /usr/local/bin/vdrpoweroff.sh \
        $*"

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()
{
 modprobe stb6100
 modprobe stb0899
 modprobe lnbp21
 modprobe budget-ci
}
# Unload all DVB driver modules loaded in LoadDriver():
function UnloadDriver()
{
 modprobe -r budget-ci
 modprobe -r lnbp21
 modprobe -r stb0899
 modprobe -r stb6100
}
# 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

[Bearbeiten] VDR starten

/usr/local/bin/runvdr

[Bearbeiten] VDR in den Autostart

Damit der VDR nach einem Systemstart automatisch gestartet wird kann das runvdr Skript am Ende der inittab des Systems eingetragen werden.

cd /etc
vi inittab

# vdr
vdr:35:once:/usr/local/bin/runvdr