Reccmds.conf
(→Beschreibung) |
|||
Zeile 36: | Zeile 36: | ||
</pre> | </pre> | ||
}} | }} | ||
+ | |||
+ | ==Probleme== | ||
+ | Skripte, die eine lange Laufzeit haben können zu Problemen führen. Wenn der vdr nämlich zu lange "was anderes" macht, schlägt seine [[Watchdog]] zu und beendet den vdr. Um das zu vermeiden, muß man solche länger dauernde Skripts im Hintergrund ausführend. Und das geht so: | ||
+ | |||
+ | Man trage in der reccmds.conf also nur den Aufruf eines neuen Shellscrpts ein. Zum Beispiel | ||
+ | |||
+ | Index neu aufbauen : /usr/bin/vdrgenindex.sh | ||
+ | |||
+ | Und man erstelle danach dieses neue Skript: | ||
+ | |||
+ | {{Box Datei | /usr/bin/vdrgenindex.sh | | ||
+ | <pre> | ||
+ | #!/bin/bash | ||
+ | cd $1 | ||
+ | at now <<EOF | ||
+ | genindex >/dev/null | ||
+ | /usr/share/vdr/svdrpsend.pl MESG "Index fertig: $1" | ||
+ | EOF | ||
+ | </pre> | ||
+ | }} | ||
+ | |||
+ | ''at now'' ruft hier ''[[genindex]]'' im Hintergrund auf. Alle Befehle zwischen den beiden ''EOF'' werden hintereinander im Hintergrund ausgeführt. Wenn genindex fertig ist, wird also mittels [[svdrpsend.pl]] eine "Ich bin fertig"-Meldung auf den Bildschirm gechickt. | ||
+ | |||
+ | Dieselbe Technik kann man auch bei [[commands.conf]] einsetzen. | ||
[[Kategorie:Konfigurationsdateien]] | [[Kategorie:Konfigurationsdateien]] |
Version vom 26. April 2008, 21:52 Uhr
Beschreibung
In der reccmds.conf können Commands angelegt werden, die über das Menü im OSD des VDR erreicht und gestartet werden können. Die in der reccmds.conf definierten Befehle werden angezeigt, wenn man sich in der Liste des Aufzeichnungen im OSD des VDR befindet und sich auf einem Filmnamen positioniert hat und dannDiese Datei befindet sich in $VDRCONFIG.
Beispiele
DivX-Menue : echo "nothing (vdr2divx)" -Zu DivX-Liste hinzufuegen : /usr/bin/ins.sh vdr2divx -Von DivX-Liste entfernen? : /usr/bin/del.sh vdr2divx -DivX-Liste abarbeiten? : printf "\n" >> /var/spool/vdrconvert/vdr2divx -DivX-Liste anzeigen : /usr/bin/cap.sh /var/spool/vdrconvert/vdr2divx DVD-Menue : echo "nothing (vdr2dvd)" -Zu DVD-Liste hinzufuegen : /usr/bin/ins.sh vdr2dvd -Von DVD-Liste entfernen? : /usr/bin/del.sh vdr2dvd -DVD-Liste abarbeiten? : printf "\n" >> /var/spool/vdrconvert/vdr2dvd -DVD-Liste anzeigen : /usr/bin/cap.sh /var/spool/vdrconvert/vdr2dvd -Bild fuer DVD-Hauptmenue : /usr/bin/grab.sh "background.pnm" vdr2dvd -Bild fuer DVD-Untermenue : /usr/bin/grab.sh "subbackground.pnm" vdr2dvd -DVD-Link setzen (Vorschau) : /usr/bin/preview.sh vdr2dvd SVCD-Menue : echo "nothing (vdr2svcd)" -Zu SVCD-Liste hinzufuegen : /usr/bin/ins.sh vdr2svcd -Von SVCD-Liste entfernen? : /usr/bin/del.sh vdr2svcd -SVCD-Liste abarbeiten? : printf "\n" >> /var/spool/vdrconvert/vdr2svcd -SVCD-Liste anzeigen : /usr/bin/cap.sh /var/spool/vdrconvert/vdr2svcd VCD-Menue : echo "nothing (vdr2vcd)" -Zu VCD-Liste hinzufuegen : /usr/bin/ins.sh vdr2vcd -VCD-Liste abarbeiten? : printf "\n" >> /var/spool/vdrconvert/vdr2vcd -Von VCD-Liste entfernen? : /usr/bin/del.sh vdr2vcd -VCD-Liste anzeigen : /usr/bin/cap.sh /var/spool/vdrconvert/vdr2vcd Sonstiges : echo "nothing" -MPEG erstellen (sync)? : printf "%s\n" > /var/spool/vdrconvert/vdr2mpg -MP3 erstellen? : printf "%s\n" > /var/spool/vdrconvert/vdr2mp3 -AC3 erstellen? : printf "%s\n" > /var/spool/vdrconvert/vdr2ac3
Probleme
Skripte, die eine lange Laufzeit haben können zu Problemen führen. Wenn der vdr nämlich zu lange "was anderes" macht, schlägt seine Watchdog zu und beendet den vdr. Um das zu vermeiden, muß man solche länger dauernde Skripts im Hintergrund ausführend. Und das geht so:
Man trage in der reccmds.conf also nur den Aufruf eines neuen Shellscrpts ein. Zum Beispiel
Index neu aufbauen : /usr/bin/vdrgenindex.sh
Und man erstelle danach dieses neue Skript:
#!/bin/bash cd $1 at now <<EOF genindex >/dev/null /usr/share/vdr/svdrpsend.pl MESG "Index fertig: $1" EOF
at now ruft hier genindex im Hintergrund auf. Alle Befehle zwischen den beiden EOF werden hintereinander im Hintergrund ausgeführt. Wenn genindex fertig ist, wird also mittels svdrpsend.pl eine "Ich bin fertig"-Meldung auf den Bildschirm gechickt.
Dieselbe Technik kann man auch bei commands.conf einsetzen.