recording.start <-> recording.timer & recording.en

Anlaufschwierigkeiten? Was ist was? Worum geht's?
palace
Erleuchteter
Erleuchteter
Beiträge: 441
Registriert: Dienstag 11. März 2003, 03:42

recording.start <-> recording.timer & recording.en

Beitrag von palace »

Hi,

da ich im Wiki nichts über "recording.timer" sondern nur recording.start und recording.end finden kann:

Wird die recording.timer, wenn vorhanden, genutzt?

Wenn nur eine recording.start vorhanden ist, wird die auch bei einer Timer Aufnahme angezogen?

Gruss,

C.
Zuletzt geändert von palace am Dienstag 29. August 2006, 00:55, insgesamt 1-mal geändert.
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Beitrag von DrStoned »

Die Datei heißt nicht timer.recording sondern recording.timer. Sie wird beim Umschalten auf den aufzunehmenden Kanal aktiviert, wenn in den Aufnahmeeinstellungen Umschalten bei Ankündigung ein aktiviert ist, bzw. wenn dieser Eintrag ausgeschaltet ist, bei der Meldung Die Aufnahme beginnt in wenigen Minuten.
Ich benutze sie um meine Festplatte aufzuwecken. Dazu habe ich dort folgenden Eintrag drin:

Code: Alles auswählen

#!/bin/sh

# Dieses Script wird beim Announce Zeitpunkt 
# einer Aufnahme ausgeführt, 

touch /hdd/wakeup
sleep 5
if [ -e /hdd/wakeup ]; then
    rm /hdd/wakeup
fi
Die Datei kommt nach /var/tuxbox/config/ und benötigt Ausführrechte (755).

Greetz von DrStoned :lol: :lol: :lol:
Greetz von DrStoned :lol: :lol: :lol:
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

Hmmm, dabei fällt mir wieder ein dass mir neulich mal was aufgefallen ist: Ich habe eine recording.start und eine recording.end angelegt. Wenn die Aufnahme startet wird die recording.start auch schön angezogen. Bricht die Aufnahme dann ab, wird allerdings die recording.end nicht mehr ausgeführt.

Ist das nur bei mir so?
rolano
Erleuchteter
Erleuchteter
Beiträge: 601
Registriert: Montag 14. März 2005, 08:49

Beitrag von rolano »

@DrStoned

....seit ich automount nutze ist das gesonderte wakeup der Platte bei mir nicht mehr nötig...
palace
Erleuchteter
Erleuchteter
Beiträge: 441
Registriert: Dienstag 11. März 2003, 03:42

Beitrag von palace »

@DrStoned:

Danke! Genau darauf wollte ich hinaus :)
Der Namendreher lag wohl an der Uhrzeit...

Grüsse,

C.
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Beitrag von DrStoned »

rolano hat geschrieben:@DrStoned

....seit ich automount nutze ist das gesonderte wakeup der Platte bei mir nicht mehr nötig...
Ich meinte damit die interne Platte in der Box, mit dem neuen IDE-Interface, die schläft ja nach 5 Min. ein. Hatte anfangs das Problem, dass die Box aus dem Tritt kam, wenn ich eine Aufnahme gestartet habe. Das ist Dank diesem Script nun Vergangenheit. Das gleiche habe ich übrigens auch noch in der recording.start drin stehen, damit auch die Sofortaufnahmen klappen. Wird aber noch verfeinert, wenn ich mehr Zeit habe. Außerdem werden über die recording.start noch tuxmaild und tuxcald abgeschaltet.

Wenn alles fertig ist, werde ich den kompletten Inhalt dieser Scripts hier veröffentlichen.
saruman hat geschrieben:Hmmm, dabei fällt mir wieder ein dass mir neulich mal was aufgefallen ist: Ich habe eine recording.start und eine recording.end angelegt. Wenn die Aufnahme startet wird die recording.start auch schön angezogen. Bricht die Aufnahme dann ab, wird allerdings die recording.end nicht mehr ausgeführt.

Ist das nur bei mir so?
Wenn Du einen unkontrollierten Abbruch der Aufnahme meinst, weil z.B. die Daten nicht mehr geschrieben werden konnten, ist das bei mir auch so.

Greetz von DrStoned :lol: :lol: :lol:
Greetz von DrStoned :lol: :lol: :lol:
rolano
Erleuchteter
Erleuchteter
Beiträge: 601
Registriert: Montag 14. März 2005, 08:49

Beitrag von rolano »

DrStoned hat geschrieben:
Ich meinte damit die interne Platte in der Box, mit dem neuen IDE-Interface,..
....im nachhinein betrachtet hätte ich das wissen müssen... :oops: . Ich bezog mich natürlich auf ein NAS mit schlafender Platte...
palace
Erleuchteter
Erleuchteter
Beiträge: 441
Registriert: Dienstag 11. März 2003, 03:42

Beitrag von palace »

@DrStoned:

Ich freue mich auf Deine Files :)

Bisher meine recording.start:

Code: Alles auswählen

#!/bin/sh
# sleep 2 && renice -15 `pidof neutrino` &
kill -12 `pidof tuxmaild`
touch /hdd/wakeup
sleep 10
if [ -e /hdd/wakeup ] ; then
   rm /hdd/wakeup
fi
und meine recording.end:

Code: Alles auswählen

#!/bin/sh
sleep 10
# renice 0 `pidof neutrino`
kill -10 `pidof tuxmaild`
Reichen 5 Sekunden?
Wie willst Du es machen, dass in .timer und .start nicht unnötig 2 mal touch & sleep ausgeführt wird?
Bspw in .timer nur "touch /hdd/wakeup" (sleep & rm nicht nötig, da Aufnahme eh erst in 3 Min anfängt)
und in .start (wie ging NOT ?)

Code: Alles auswählen

if <NOT>[ -e /hdd/wakeup ] ; then
  sleep 5
fi
if [ -e /hdd/wakeup ] ; then
   rm /hdd/wakeup
fi
???

Bzw: Würde ein "ls /hdd > /dev/null" nicht ausreichen?
Dann muss nicht jedesmal ein File erstellt und gelöscht werden...
Da wirds nur blöd, in der .start abzufragen ob ein "sleep 5" nötig ist.

Werd grad müd ;)

Gut wäre der "time" Befehl (warum fehlt der eigentlich im JTG und wo bekomm ich den her und wie in die Box?)... *grübels*

Moment: Reicht es nicht einfach ein "ls /hdd > /dev/null" in .timer und .start auszuführen? Das Skript steht doch eh, bis der Befehl abgearbeitet ist.
Also ist KEIN Sleep nötig und die .start wird ggf schneller abgearbeitet, wenn die Platte schon da ist.


Habe den ganzen Kram oben stehen lassen, um meinen Gedankengang evtl. nachvollziehbar zu machen (manchmal muss man ja nur darüber reden *ggg*)
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Beitrag von DrStoned »

Dein

Code: Alles auswählen

if <NOT>[ -e /hdd/wakeup ] ; then
geht so:

Code: Alles auswählen

if [ ! -f /hdd/wakeup ] ; then

daraus folgt:

Code: Alles auswählen

if [ ! -f /hdd/wakeup ] ; then 
  sleep 5 
else
   rm /hdd/wakeup 
fi
Aber Deine Idee mit dem

Code: Alles auswählen

ls /hdd > /dev/null
ist sogar noch besser. Muss ich heute Mittag nach dem Schlafen mal ausprobieren. Komme gerade aus der Nachtschicht. :-?

Greetz von DrStoned :lol: :lol: :lol:
Greetz von DrStoned :lol: :lol: :lol:
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

DrStoned hat geschrieben:Wenn Du einen unkontrollierten Abbruch der Aufnahme meinst, weil z.B. die Daten nicht mehr geschrieben werden konnten, ist das bei mir auch so.
Ja, das meinte ich. Das wär aber eigentlich ganz schön, wenn die recording.end dann trotzdem noch abgearbeitet würde... *dev-stubs* :)
palace
Erleuchteter
Erleuchteter
Beiträge: 441
Registriert: Dienstag 11. März 2003, 03:42

Beitrag von palace »

So sieht es nun bei mir aus:

recording.timer

#!/bin/sh
ls /hdd > /dev/null


recording.start

#!/bin/sh
ls /hdd > /dev/null
renice -15 `pidof neutrino`
kill -12 `pidof tuxmaild`


recording.end

#!/bin/sh
sleep 10
renice 0 `pidof neutrino`
kill -10 `pidof tuxmaild`
palace
Erleuchteter
Erleuchteter
Beiträge: 441
Registriert: Dienstag 11. März 2003, 03:42

Beitrag von palace »

@DrStoned:

-f? was ist -f?

Zu Deinen Skripten hier: http://forum.tuxbox-cvs.sourceforge.net ... 938#309938

Den Sectionsd brauchst Du nicht abschiessen, wenn die Option "Sectionsd während Aufnahme anhalten" im GUI gesetzt ist.

Für mich bleibt die Frage, was passiert mit dem bisher gesammelten EPG???

in Deiner .end fehlt noch das zurücksetzen der neutrinoprio und es sollte wohl -usr1 heissen.

Ansonsten @DieMade: Wäre das ne FAQ Wert?
Oder @WikiKönner: Wäre das nicht sogar nen Wikieintrag wert?

PS: Das Sleep 10 in der .end habe ich, da die HD offensichtlich u.U. noch ein paar Sekunden beschäftigt ist (k.A. Datei schliessen oder Cache wegschreiben oder sowas (zu beobachten mit "top"))
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Beitrag von DrStoned »

in Deiner .end fehlt noch das zurücksetzen der neutrinoprio und es sollte wohl -usr1 heissen.
Hatte ich mittlerweile bemerkt und korrigiert, hatte alles aus dem Kopf gepostet, da Box gerade eine wichtige Aufnahme gemacht hat, und ich sie nicht stören wollte.

Greetz von DrStoned :lol: :lol: :lol:
Greetz von DrStoned :lol: :lol: :lol:
palace
Erleuchteter
Erleuchteter
Beiträge: 441
Registriert: Dienstag 11. März 2003, 03:42

Update

Beitrag von palace »

Update:

recording.timer:

Code: Alles auswählen

#!/bin/sh
ls /hdd > /dev/null
recording.start:

Code: Alles auswählen

#!/bin/sh
#
# Skript recording.start
#
ls /hdd > /dev/null
renice -15 `pidof neutrino`
if [ -e /tmp/tuxmaild.pid ]; then kill -usr2 $(cat /tmp/tuxmaild.pid); fi
if [ -e /tmp/tuxcald.pid ]; then kill -usr2 $(cat /tmp/tuxcald.pid); fi
recording.end:

Code: Alles auswählen

#!/bin/sh
#
# Skript recording.end
#
sleep 10
renice 0 `pidof neutrino`
if [ -e /tmp/tuxmaild.pid ]; then kill -usr1 $(cat /tmp/tuxmaild.pid); fi
if [ -e /tmp/tuxcald.pid ]; then kill -usr1 $(cat /tmp/tuxcald.pid); fi