Installscript-recording-cmds

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Bsp ({edited,before,after}-userdev.cmd): M)
 
(33 dazwischenliegende Versionen von 14 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
 
In '''../recording-cmds''' befinden sich Scripte, welche '''vor / nach / schnitt''' einer Aufnahme ausgeführt werden.
 
In '''../recording-cmds''' befinden sich Scripte, welche '''vor / nach / schnitt''' einer Aufnahme ausgeführt werden.
  
Format:
+
Format (Datei):
  
  after-'''<NAME>'''.run
+
  after-'''<NAME>'''.cmd
  before-'''<NAME>'''.run
+
  before-'''<NAME>'''.cmd
  edited-'''<NAME>'''.run
+
  edited-'''<NAME>'''.cmd
  
Das ganze kann im [[admin-plugin]] eingestellt werden. ('''0 = inactiv, 1 = activ, 2 + Option''')
+
Format (Head):
  
[[Bild:admin-plugin-02.jpg|thumb|none|''Bsp'']]
+
START="0"                # 0 = inactiv, 1 = activ, 2 = + Option
 +
ENTRY=$"0,2:Bechreibung"  # eintrag für das [[admin-plugin]] <choices>:<description>
 +
CHECK=$(test xxx)        # tests
 +
 
 +
Das ganze kann im [[admin-plugin]] eingestellt werden. ('''0 = inactiv, 1 = activ, 2 = + Option''')
 +
 
 +
''Oder, auf der Kommandozeile.''
 +
 
 +
shell> [[Installscript-dialog.sh|$PREFIX/etc/vdr/admin/dialog.sh]]
 +
 
 +
[[Bild:installscript-admin-recording-cmds.jpg|thumb|none|''kurze beschreibung'']]
  
 
Alles weitere sollte im '''syslog''' ersichtlich sein. (vorrausgesetzt '''$VDR_LOG -gt 0''')
 
Alles weitere sollte im '''syslog''' ersichtlich sein. (vorrausgesetzt '''$VDR_LOG -gt 0''')
  
  'START'='0' -> '../recording-cmds/before-clipinc.run'
+
  START='0' -> ../recording-cmds/before-clipinc.cmd
  'START'='1' -> '../recording-cmds/before-noad.run'
+
  START='2' -> ../recording-cmds/before-sharemarks.cmd
'START'='2' -> '../recording-cmds/before-sharemarks.run'
+
  
 
==Bsp ([[noad]])==
 
==Bsp ([[noad]])==
  '''1''' = activ
+
  '''1''' = Nach einer Aufnahme
  '''2''' = + online mode
+
  '''2''' = Online mode
  
{{Box Datei| ../recording-cmds/{after,before}-noad.run |
+
{{Box Datei| ../recording-cmds/{after,before}-noad.cmd |
 
<pre>
 
<pre>
 
#!/bin/sh
 
#!/bin/sh
 
#
 
#
# example script (../../scripts/rwrapper.sh -> $0)
+
# example wrapper script
  
START="0"                                   # 0 = inactiv / 1 = activ / 2 = online mode
+
START="0"
ENTRY=$"0,2:Noad (0=off,1=on,2=online mode)" # eintrag für das admin plugin
+
ENTRY=$"0,2:Noad (0=off,1=on,2=online mode)"
CHECK=$(which noad)                         # test
+
CHECK=$(which noad)
  
 
# set the online-mode here
 
# set the online-mode here
 
# 1 means online for live-recording only
 
# 1 means online for live-recording only
 
# 2 means online for every recording
 
# 2 means online for every recording
ONLINEMODE="--online=1"
+
ONLINEMODE="1"
  
 
# set additional args for every call here here
 
# set additional args for every call here here
 
ADDOPTS="--ac3 --overlap --jumplogo --comments --statisticfile=/var/log/vdr/noad.log"
 
ADDOPTS="--ac3 --overlap --jumplogo --comments --statisticfile=/var/log/vdr/noad.log"
 +
 +
# the maximum amount of virtual memory available to the shell
 +
MAXSIZE="20000"
  
 
case $0 in
 
case $0 in
 
     *before-*)
 
     *before-*)
 
case $START in
 
case $START in
    2) logit $0 "EXEC -> '$CHECK' '$1' '$2' '$ONLINEMODE $ADDOPTS'"
+
    2) logit $0 "EXEC -> $CHECK $1 $ADDOPTS --online=$ONLINEMODE $2"
        noad $1 "$2" $ONLINEMODE $ADDOPTS
+
ulimit -v $MAXSIZE
 +
noad $1 $ADDOPTS --online=$ONLINEMODE "$2"
 
;;
 
;;
    *) logit $0 "OFF -> no online mode..."
+
    *) logit $0 "OFF -> no online mode"
 
;;
 
;;
 
esac
 
esac
Zeile 52: Zeile 65:
 
     *after-*)
 
     *after-*)
 
case $START in
 
case $START in
    1) logit $0 "EXEC -> '$CHECK' '$1' '$2' '$ADDOPTS'"
+
    1) logit $0 "EXEC -> $CHECK $1 $ADDOPTS $2"
        noad $1 "$2" $ADDOPTS
+
ulimit -v $MAXSIZE
 +
noad $1 $ADDOPTS "$2"
 
;;
 
;;
    2) logit $0 "EXEC -> '$CHECK' '$1' '$2' '$ONLINEMODE $ADDOPTS'"
+
    2) logit $0 "EXEC -> $CHECK $1 $ADDOPTS --online=$ONLINEMODE $2"
noad $1 "$2" $ONLINEMODE $ADDOPTS
+
ulimit -v $MAXSIZE
 +
noad $1 $ADDOPTS --online=$ONLINEMODE "$2"
 
;;
 
;;
 
esac
 
esac
 
;;
 
;;
 
esac
 
esac
 +
fi
 
</pre>
 
</pre>
 
}}
 
}}
  
 
==Bsp ([[sharemarks]])==
 
==Bsp ([[sharemarks]])==
  '''1''' = Erzeugen der Schnittmarken.
+
  '''1''' = Upload der Marken nach dem Schnitt
'''2''' = Wie '''1''' + upload der Marken nach dem Schnitt.
+
  
{{Box Datei| ../recording-cmds/{before,edited}-sharemarks.run |
+
{{Box Datei| ../recording-cmds/edited-sharemarks.cmd |
 
<pre>
 
<pre>
 
#!/bin/sh
 
#!/bin/sh
 
#
 
#
# example script (../../scripts/rwrapper.sh -> $0)
+
# example wrapper script
  
 
START="0"
 
START="0"
ENTRY=$"0,2:Sharemarks (0=off,1=on,2=upload)"
+
ENTRY=$"0,1:Sharemarks, upload after cut"
 
CHECK=$(which marks2pts)
 
CHECK=$(which marks2pts)
  
case $0 in
+
logit $0 "EXEC -> $CHECK -upload $1 $2"
    *before-*)
+
marks2pts --non-interactive --upload $1 "$2"
logit $0 "EXEC -> '$CHECK' '$1' '$2'"
+
marks2pts $1 "$2"
+
;;
+
    *edited-*)
+
case $START in
+
    2) logit $0 "EXEC -> '$CHECK' -upload '$1' '$2'"
+
marks2pts -upload $1 "$2"
+
;;
+
    *) logit $0 "OFF -> no upload after cut..."
+
;;
+
esac
+
;;
+
esac
+
 
</pre>
 
</pre>
 
}}
 
}}
  
==Bsp ([[clipinc]])==
+
==Bsp ({edited,before,after}-userdev.cmd)==
 +
'''1''' = Führt, Benutzerdefinierte Befehle aus, welche in '''EXEC{B,A,E}''' hinterlegt werden können.
  
'''1''' = Erzeugen der recinfo.conf
+
{{Box Datei| ../recording-cmds/{edited,before,after}-userdev.cmd
 
+
{{Box Datei| ../recording-cmds/before-clipinc.run |
+
 
<pre>
 
<pre>
 
#!/bin/sh
 
#!/bin/sh
 
#
 
#
# example script (../../scripts/rwrapper.sh -> $0)
+
# example wrapper script
  
 
START="0"
 
START="0"
ENTRY=$"0,1:Clipinc"
+
ENTRY=$"0,1:User-defined"
CHECK=$(which vdrrecinfo.pl)
+
CHECK=$(:)
 +
 
 +
# after recording
 +
EXECA=""
 +
# before recording
 +
EXECB=""
 +
# edited recording
 +
EXECE=""
  
logit $0 "EXEC -> '$CHECK' '$1' '$2'"
+
case $0 in
vdrrecinfo.pl $1 "$2"
+
      *after-*) CMD="$EXECA" ;;
 +
    *before-*) CMD="$EXECB" ;;
 +
    *edited-*) CMD="$EXECE" ;;
 +
esac
 +
 
 +
if [ -n "$CMD" ] ; then
 +
    logit $0 "EXEC -> $CMD $2"
 +
    screen -dm sh -c "$CMD \"$2\""
 +
fi
 
</pre>
 
</pre>
 
}}
 
}}
  
==Bsp (epg)==
 
Wird ausgeführt, wenn in der Aufnahme der Name "'''/wakeup/'''" vorkommt, am besten einen Timer anlegen, zbs.
 
  
1:S19.2E-1-1116-12732:MDMDFSS:0300:0301:0:1:wakeup:
+
[[Kategorie:Installscript]]
 
+
Somit kann man die täglichen EPG Geschichten an Hand eines Timers erledigen lassen... ohne die '''crontab''' zuzumüllen, desweiteren entfallen ''ellenlange'' shutdown script(s).
+
 
+
Die Variable '''START''' ist hier ein wenig irreführend, siehe [[installscript-vdr.conf|vdr.conf]], das wären dann die EPG Einträge...
+
 
+
[[Bild:admin-plugin-00.jpg|thumb|none|''Bsp'']]
+
 
+
{{Box Datei| ../recording-cmds/after-wakeup.run |
+
<pre>
+
#!/bin/sh
+
#
+
# example script (../../scripts/rwrapper.sh -> $0)
+
 
+
START="1"
+
UPDATEEPG_LOGFILE="/var/log/vdr/updateepg.log"
+
 
+
# add this line to your timers.conf:
+
# folgende zeile in die timers.conf eintragen:
+
#
+
# 1:S19.2E-1-1116-12732:MDMDFSS:0300:0301:0:1:wakeup:
+
 
+
if [ -z "${2/*\/wakeup\/*/}" ] ; then
+
    (
+
for i in ${!EPG_*} ; do
+
    eval x=\$$i
+
    if [ $x -eq 1 ] ; then
+
x=`echo ${i##*_} | tr A-Z a-z`
+
if [ -x "$ADMDIR/start-cmds/rc/$x" ] ; then
+
    date
+
    echo "============================="
+
    cd "$ADMDIR/start-cmds/rc"
+
    sh $x startnobg
+
    echo
+
fi
+
    fi
+
done
+
date
+
echo "============================="
+
touch "$VDR_CONFIG/plugins/epgsearch/.epgsearchupdate"
+
sleep 30s
+
DELR=( $(svdrpsend.pl -p ${VDR_PORT:-2001} LSTR | grep " wakeup" | tr - ' ') )
+
if [ -n "${DELR[1]}" ] ; then
+
    svdrpsend.pl -p ${VDR_PORT:-2001} DELR ${DELR[1]}
+
fi
+
svdrpsend.pl -p ${VDR_PORT:-2001} HITK POWER
+
    ) > $UPDATEEPG_LOGFILE 2>&1 &
+
else
+
    logit $0 "OFF -> pattern '*/wakeup/*' not found in recording..."
+
fi
+
</pre>
+
}}[[Kategorie:Installscript]]
+

Aktuelle Version vom 29. September 2008, 07:37 Uhr

Inhaltsverzeichnis

[Bearbeiten] Beschreibung

In ../recording-cmds befinden sich Scripte, welche vor / nach / schnitt einer Aufnahme ausgeführt werden.

Format (Datei):

after-<NAME>.cmd
before-<NAME>.cmd
edited-<NAME>.cmd

Format (Head):

START="0"                 # 0 = inactiv, 1 = activ, 2 = + Option
ENTRY=$"0,2:Bechreibung"  # eintrag für das admin-plugin <choices>:<description>
CHECK=$(test xxx)         # tests

Das ganze kann im admin-plugin eingestellt werden. (0 = inactiv, 1 = activ, 2 = + Option)

Oder, auf der Kommandozeile.

shell> $PREFIX/etc/vdr/admin/dialog.sh
kurze beschreibung

Alles weitere sollte im syslog ersichtlich sein. (vorrausgesetzt $VDR_LOG -gt 0)

START='0' -> ../recording-cmds/before-clipinc.cmd
START='2' -> ../recording-cmds/before-sharemarks.cmd

[Bearbeiten] Bsp (noad)

1 = Nach einer Aufnahme
2 = Online mode
Datei
../recording-cmds/{after,before}-noad.cmd
#!/bin/sh
#
# example wrapper script

START="0"
ENTRY=$"0,2:Noad (0=off,1=on,2=online mode)"
CHECK=$(which noad)

# set the online-mode here
# 1 means online for live-recording only
# 2 means online for every recording
ONLINEMODE="1"

# set additional args for every call here here
ADDOPTS="--ac3 --overlap --jumplogo --comments --statisticfile=/var/log/vdr/noad.log"

# the maximum amount of virtual memory available to the shell
MAXSIZE="20000"

case $0 in
     *before-*)
	case $START in
	     2) logit $0 "EXEC -> $CHECK $1 $ADDOPTS --online=$ONLINEMODE $2"
		ulimit -v $MAXSIZE
		noad $1 $ADDOPTS --online=$ONLINEMODE "$2"
		;;
	     *) logit $0 "OFF -> no online mode"
		;;
	esac
	;;
     *after-*)
	case $START in
	     1) logit $0 "EXEC -> $CHECK $1 $ADDOPTS $2"
		ulimit -v $MAXSIZE
		noad $1 $ADDOPTS "$2"
		;;
	     2) logit $0 "EXEC -> $CHECK $1 $ADDOPTS --online=$ONLINEMODE $2"
		ulimit -v $MAXSIZE
		noad $1 $ADDOPTS --online=$ONLINEMODE "$2"
		;;
	esac
	;;
esac
fi


[Bearbeiten] Bsp (sharemarks)

1 = Upload der Marken nach dem Schnitt
Datei
../recording-cmds/edited-sharemarks.cmd
#!/bin/sh
#
# example wrapper script

START="0"
ENTRY=$"0,1:Sharemarks, upload after cut"
CHECK=$(which marks2pts)

logit $0 "EXEC -> $CHECK -upload $1 $2"
marks2pts --non-interactive --upload $1 "$2"


[Bearbeiten] Bsp ({edited,before,after}-userdev.cmd)

1 = Führt, Benutzerdefinierte Befehle aus, welche in EXEC{B,A,E} hinterlegt werden können.
Datei
../recording-cmds/{edited,before,after}-userdev.cmd
#!/bin/sh
#
# example wrapper script

START="0"
ENTRY=$"0,1:User-defined"
CHECK=$(:)

# after recording
EXECA=""
# before recording
EXECB=""
# edited recording
EXECE=""

case $0 in
      *after-*) CMD="$EXECA" ;;
     *before-*) CMD="$EXECB" ;;
     *edited-*) CMD="$EXECE" ;;
esac

if [ -n "$CMD" ] ; then
    logit $0 "EXEC -> $CMD $2"
    screen -dm sh -c "$CMD \"$2\"" 
fi

{{{2}}}