Runvdr

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Runvdr aus den VDR Sourcen)
K (Hob den Schutz von „Runvdr“ auf)
 
(38 dazwischenliegende Versionen von 23 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
==Runvdr aus den VDR Sourcen==
+
==Beschreibung==
 
+
{{Box Datei | [[Struktur|$SOURCEDIR]]/VDR/runvdr |
 
<pre>
 
<pre>
 
#!/bin/sh
 
#!/bin/sh
Zeile 9: Zeile 9:
 
# and VDR restarted.
 
# and VDR restarted.
 
#
 
#
# Set the environment variable VDRUSR to the user id you
+
# In order to actually use this script you need to implement
# want VDR to run with. If VDRUSR is not set, VDR will run
+
# the functions DriverLoaded(), LoadDriver() and UnloadDriver()
# as 'root', which is not necessarily advisable.
+
# and maybe adjust the VDRPRG and VDRCMD to your particular
 +
# requirements.
 
#
 
#
 
# Since this script loads the DVB driver, it must be started
 
# Since this script loads the DVB driver, it must be started
# as user 'root'.
+
# 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
 
# Any command line parameters will be passed on to the
Zeile 22: Zeile 24:
 
# how to reach the author.
 
# how to reach the author.
 
#
 
#
# $Id: runvdr 1.14 2004/11/21 11:30:00 kls Exp $
+
# $Id: runvdr 1.19 2006/05/14 16:02:05 kls Exp $
  
DVBDIR="../DVB/driver"
 
 
VDRPRG="./vdr"
 
VDRPRG="./vdr"
 
VDRCMD="$VDRPRG -w 60 $*"
 
VDRCMD="$VDRPRG -w 60 $*"
  
LSMOD="`/sbin/lsmod | grep -w '^dvb' | wc -l`"
 
 
KILL="/usr/bin/killall -q -TERM"
 
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()
 +
{
 +
}
 +
 +
# Unload all DVB driver modules loaded in LoadDriver():
 +
function UnloadDriver()
 +
{
 +
}
  
 
# Load driver if it hasn't been loaded already:
 
# Load driver if it hasn't been loaded already:
if [ $LSMOD -eq 0 ] ; then
+
if ! DriverLoaded; then
   (cd $DVBDIR; make insmod)
+
   LoadDriver
 
   fi
 
   fi
  
 
while (true) do
 
while (true) do
       su $VDRUSR -p -c "$VDRCMD"
+
       eval "$VDRCMD"
 
       if test $? -eq 0 -o $? -eq 2; then exit; fi
 
       if test $? -eq 0 -o $? -eq 2; then exit; fi
      date
+
       echo "`date` reloading DVB driver"
       echo "restarting VDR"
+
 
       $KILL $VDRPRG
 
       $KILL $VDRPRG
 
       sleep 10
 
       sleep 10
       (cd $DVBDIR; make rmmod; make insmod)
+
       UnloadDriver
       date
+
       LoadDriver
 +
      echo "`date` restarting VDR"
 
       done
 
       done
 
</pre>
 
</pre>
 +
}}
 +
 +
Beispiel Funktionen, für den aktuellen DVB Treiber [[DVB Installation v4l-dvb]].
 +
 +
function DriverLoaded()
 +
{
 +
    grep -qse dvb[-_]core /proc/modules
 +
}
 +
 +
# Load all DVB driver modules needed for your hardware:
 +
function LoadDriver()
 +
{
 +
    make -C "[[Struktur|$SOURCEDIR]]/DVB/v4l" load
 +
}
 +
 +
# Unload all DVB driver modules loaded in LoadDriver():
 +
function UnloadDriver()
 +
{
 +
    make -C "[[Struktur|$SOURCEDIR]]/DVB/v4l" unload
 +
}
  
 
==Scripts / Tools==
 
==Scripts / Tools==
{|
+
# [http://www.informatik.uni-bremen.de/cgi-bin/cgiwrap/mwiesner/download/watchvdr watchvdr]
| [1]
+
# [ftp://ftp.berlios.de/pub/avm-capi4linux/temp/cooker/dvb]
| http://www.informatik.uni-bremen.de/cgi-bin/cgiwrap/mwiesner/download/watchvdr
+
# [http://linvdr.org/download/doku/vdr-2/runvdr runvdr von Linvdr]
|-
+
# [http://www.tja.org/dvb/runvideo-rc runvideo-rc]
| [2]
+
# [http://www.tja.org/dvb/runvideo runvideo]
| ftp://ftp.berlios.de/pub/avm-capi4linux/temp/cooker/dvb
+
# [http://sites.inka.de/~bigred/sw/vdr.html Daemon]
|-
+
# [http://www.leo.org/~loescher/tipsdata/runvdr Perl]
| [3]
+
# [ftp://ftp.heise.de/pub/ct/listings/0308-202.zip für mehrere VDR Instanzen]
| http://linvdr.org/download/doku/vdr-2/runvdr
+
# [http://www.errror.org/vdr Errror]
|-
+
# [http://www.udo-richter.de/vdr/scripts.en.html runvdr-extreme]
| [4]
+
 
| http://www.tja.org/dvb/runvideo-rc
+
[[Kategorie:Skripte]]
|-
+
| [5]
+
| http://www.tja.org/dvb/runvideo
+
|-
+
| [6]
+
| http://sites.inka.de/~bigred/sw/vdr.html
+
| Daemon
+
|-
+
| [7]
+
| http://www.leo.org/~loescher/tipsdata/runvdr
+
| in Perl
+
|-
+
| [8]
+
| ftp://ftp.heise.de/pub/ct/listings/0308-202.zip
+
| für mehrere VDR Instanzen
+
|-
+
| [9]
+
| http://www.errror.org:443/~errror/vdr
+
|
+
|}
+

Aktuelle Version vom 5. März 2011, 12:00 Uhr

[Bearbeiten] Beschreibung

Datei
$SOURCEDIR/VDR/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 $

VDRPRG="./vdr"
VDRCMD="$VDRPRG -w 60 $*"

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()
{
}

# Unload all DVB driver modules loaded in LoadDriver():
function UnloadDriver()
{
}

# 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


Beispiel Funktionen, für den aktuellen DVB Treiber DVB Installation v4l-dvb.

function DriverLoaded()
{
    grep -qse dvb[-_]core /proc/modules
}

# Load all DVB driver modules needed for your hardware:
function LoadDriver()
{
    make -C "$SOURCEDIR/DVB/v4l" load
}

# Unload all DVB driver modules loaded in LoadDriver():
function UnloadDriver()
{
    make -C "$SOURCEDIR/DVB/v4l" unload
}

[Bearbeiten] Scripts / Tools

  1. watchvdr
  2. [1]
  3. runvdr von Linvdr
  4. runvideo-rc
  5. runvideo
  6. Daemon
  7. Perl
  8. für mehrere VDR Instanzen
  9. Errror
  10. runvdr-extreme