OpenSuSE DVB-S2 - VDR
Aus VDR Wiki
(Unterschied zwischen Versionen)
Sewn4 (Diskussion | Beiträge) (→VDR für h264/DVBS2 patchen) |
Hulk (Diskussion | Beiträge) K (URL angepasst) |
||
(6 dazwischenliegende Versionen von 2 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. | + | 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.13.tar.bz2 | tar -xjf /data/installfiles/vdr/vdr-1.5.13.tar.bz2 | ||
Zeile 19: | Zeile 19: | ||
====VDR Patches herunterladen==== | ====VDR Patches herunterladen==== | ||
cd /data/installfiles/vdr | cd /data/installfiles/vdr | ||
− | wget http://www.linuxtv.org/pipermail/vdr/attachments/ | + | wget http://www.linuxtv.org/pipermail/vdr/attachments/20080120/c41fd74b/attachment-0002.bin |
− | mv attachment-0002.bin vdr-1.5. | + | 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. | + | patch -p1 -i /data/installfiles/vdr/vdr-1.5.13-dvbs2-h264-syncearly-framespersec-audioindexer-fielddetection-speedup.diff |
====Makefile anpassen==== | ====Makefile anpassen==== | ||
Zeile 32: | 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 107: | Zeile 109: | ||
====runvdr anpassen==== | ====runvdr anpassen==== | ||
− | + | cd /usr/local/bin | |
− | cd /usr/local/bin | + | vi runvdr |
− | vi runvdr | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | #!/bin/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 |
− | + | # 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 |
− | + | VDRPRG="/usr/local/bin/vdr" | |
− | + | 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 186: | Zeile 185: | ||
echo "`date` restarting VDR" | echo "`date` restarting VDR" | ||
done | done | ||
− | |||
− | |||
====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