udrec 0.10 stürzt im serverbetrieb ab

Digital Recording
tequila72
Neugieriger
Neugieriger
Beiträge: 6
Registriert: Dienstag 2. März 2004, 10:57

udrec 0.10 stürzt im serverbetrieb ab

Beitrag von tequila72 »

Hallo Leute,

ich streame mit udrec 0.10 das ich besser finde als ggrab mit dem ich füher gestreamt habe. Mehrere Tonspuren und die Streams sind perfekt. Tolles Programm.

Mein einziges Problem: Wenn ich udrec mit der option -ss starte, verabschiedet es sich während auf die Box gewartet wird, mindestens einmal täglich.

zB mit einer solchen Fehlermeldung:

Unhandled Exception: System.Xml.XmlException: Document element did not appear.
in <0x002aa> System.Xml.XmlTextReader:Read ()
in <0x004ad> .DBoxRecordControl:ParseStartCommand (byte[],int)
in <0x001da> .DBoxRecordControl:Start ()
in <0x01411> .udrec:Main (string[])

Oder:

Unhandled Exception: System.Xml.XmlException: Text node cannot appear in this state. Line 1, position 0.
in <0x0005a> System.Xml.XmlTextReader:ReadText (bool)
in <0x00203> System.Xml.XmlTextReader:ReadContent ()
in <0x001a0> System.Xml.XmlTextReader:Read ()
in <0x004ad> .DBoxRecordControl:ParseStartCommand (byte[],int)
in <0x001da> .DBoxRecordControl:Start ()
in <0x01450> .udrec:Main (string[])

Also wie gesagt, sowas passiert eigentlich nicht während einer Aufnahme, wenn er einmal aufnimmt dann ist der Stream immer perfekt. Dadurch dass der server mindestens einmal am Tag abschmiert ist aber eine sinnvolle timergesteuerte Aufnahme natürlich nicht möglich.

Mein System:
Suse 8.2 mit mono 0.29
udrec in der version 0.10 (alle Versionen bis 0.10l ausprobiert)
alexW release vom 17.2.04
ich starte udrec so: mono udrec.exe -ss

Bin ich der einzige mit dem Problem ?

Und mal eine Frage an die Linux Cracks: Kann ich per Script vielleicht abfragen ob udrec noch läuft und gegebenfalls neu starten ?
Sowas als cron job der alle 10 min ausgeführt wird würde mein problem wohl schon entschärfen.
wwershofen
Einsteiger
Einsteiger
Beiträge: 314
Registriert: Donnerstag 16. Januar 2003, 23:53

Re: udrec 0.10 stürzt im serverbetrieb ab

Beitrag von wwershofen »

tequila72 hat geschrieben: Und mal eine Frage an die Linux Cracks: Kann ich per Script vielleicht abfragen ob udrec noch läuft und gegebenfalls neu starten ?
Sowas als cron job der alle 10 min ausgeführt wird würde mein problem wohl schon entschärfen.
Wie wär's damit?

Code: Alles auswählen

#! /bin/bash
lockfile="$HOME/.udrec.lock"
[ -e "$lockfile" ] && exit 2
touch "$lockfile"
echo $$ > "$lockfile"
mono /pfad/zu/udrec.exe -ss
rm "$lockfile"
exit 0
Damit kannst Du udrec im Streaming-Server Modus starten und das gleiche Script auch in Deine crontab eintragen. Solange das Lockfile vorhanden ist, tut das Script nix, ansonsten startet es udrec.

hth
wolle
Geek by nature - Linux by choice
tonsel
Erleuchteter
Erleuchteter
Beiträge: 536
Registriert: Freitag 21. September 2001, 00:00

Beitrag von tonsel »

Hier stimmt was mit dem xml-Start-Kommando von Neutrino nicht. Mögliche Ursachen:

1) In Deinem Image wurde was an Neutrine geändert, was ich noch nicht weis -> älteres Image ausprobieren.

2) Das Kommando wird bei der Netzwerkübertragung verhunzt -> udrec unter Win ausprobieren.

tonsel
tonsel
Erleuchteter
Erleuchteter
Beiträge: 536
Registriert: Freitag 21. September 2001, 00:00

Beitrag von tonsel »

probier mal

http://www.tekum.de/udrec.exe

aus. Beim nächsten Absturz müsste das xml-Kommando im Log erscheinen -> posten.

tonsel
tequila72
Neugieriger
Neugieriger
Beiträge: 6
Registriert: Dienstag 2. März 2004, 10:57

Beitrag von tequila72 »

@wwershofen:

Also das script habe ich mal ausprobiert.
Ich starte über das script udrec.exe, es kommt: listening to any host on port 4000. Dann breche ich mit ctrl-c ab um einen Absturz zu simulieren. Das .lock-file wird aber nicht gelöscht, somit macht ein weiterer Aufruf des scriptes nix, obwohl udrec halt nicht mehr läuft. Mach ich da irgenwo einen Denkfehler ? Ich versteh das script ehrlich gesagt nur so halb (würde ich bash scripte toll beherrschen hätt ich ja nicht fragen müssen :)

@tonsel:
Hier stimmt was mit dem xml-Start-Kommando von Neutrino nicht. Mögliche Ursachen:
Hm, jetzt hast Du mich ein wenig verunsichert, ich war mir eigentlich sicher, dass diese Abstürze kommen wenn die Box gar nicht an ist, also während der server darauf wartet dass was passiert. Jetzt bin ich mir nicht mehr 100% sicher.
Also ich starte udrec und stelle meist wenn ich nachschaue ob noch alles läuft fest, oha, wieder abgestürzt. Und zwar meist so mittendrin, also die alte Aufnahme ist noch im Kasten und die nächste ist erst in einer Stunde dran zum Beispiel.

Also ich hab jetzt erstmal die og Version gestartet und nehme auch grad was auf, wenn der abschmiert poste ich die Fehlermeldung.

Vielen Dank schonmal für die schnellen Antworten
wwershofen
Einsteiger
Einsteiger
Beiträge: 314
Registriert: Donnerstag 16. Januar 2003, 23:53

Beitrag von wwershofen »

tequila72 hat geschrieben:@wwershofen:

Also das script habe ich mal ausprobiert.
Ich starte über das script udrec.exe, es kommt: listening to any host on port 4000. Dann breche ich mit ctrl-c ab um einen Absturz zu simulieren. Das .lock-file wird aber nicht gelöscht, somit macht ein weiterer Aufruf des scriptes nix, obwohl udrec halt nicht mehr läuft. Mach ich da irgenwo einen Denkfehler ? Ich versteh das script ehrlich gesagt nur so halb (würde ich bash scripte toll beherrschen hätt ich ja nicht fragen müssen :)
Mit ctrl-c simulierst Du keinen Absturz des udrec, sondern brichst die ganze Prozedur ab. Wenn udrec abstürzt, bekommt das Script wieder dei Kontrolle und führt den "rm $lockfile" aus.
Aber Du hast natürlich Recht, daß sich das Script nicht "normal" beenden läßt, ohne das Lockfile übrig zu lassen und somit den nächsten Start zu verhindern. War ja auch nur ein Schnellschuß von mir.
Ok, dann probieren wir's mal damit, diesmal auch ausführlich dokumentiert :wink: :

Code: Alles auswählen

#! /bin/bash
lockfile="$HOME/.udrec.lock"
#
# Prüfen, ob Lock-File existiert
# Wenn ja, prüfen, ob Prozess mit in Lockfile eingetragener PID noch läuft
# Wenn ja, Prozedur beenden, sonst löschen Lockfile, weil udrec nicht mehr läuft
#
if [ -e "$lockfile" ]; then
	pid=`cat "$lockfile"`
    [ "$(ps --no-headers -p $pid)" ] && exit 2 || rm "$lockfile"
fi
#
# Lockfile anlegen und PID des Scriptes dort eintragen
#
touch "$lockfile"
echo $$ > "$lockfile"
#
# udrec starten
#
mono /samba/Checkout/udrec.exe -ss
#
# Wenn udrec stirbt, Lockfile löschen
#
rm "$lockfile"
exit 0
Wenn das Lockfile exisitert, prüft die Prozedur, ob der zugehörige Prozess noch läuft. Wenn nicht wird das Lockfile gelöscht und ein neuer udrec gestartet.
Das Simulieren eines Absturzes von udrec kannst Du im übrigen mit "killall mono" durchführen. Damit brichst Du nur den udrec selbst ab, nicht aber das Script, welches dann ordnungsgemäß zu Ende läuft.

hth
wolle
tequila72
Neugieriger
Neugieriger
Beiträge: 6
Registriert: Dienstag 2. März 2004, 10:57

Beitrag von tequila72 »

So,letzte Nacht ist das Ding wieder abgestürzt, ich hab das Konsolen-Log mal hier:

00:05:04 listening to any host on port 4000
00:05:05 DBoxRecordControl stopped
01:50:01 to DBox: VIDEO 31341 16 0 1 va 7ff 800
01:50:02 from DBox: INFO: IP c0a80001 Port 31341
01:50:02 from DBox: PID va 2 7ff 800
01:50:02 to DBox: START
01:50:02 from DBox: INFO: UdpSender() - PID103 R0 W0
01:50:02 from DBox: INFO: DmxReader() - Pid 7ff 204960 0 0
01:50:02 from DBox: INFO: DmxReader() - Pid 800 29280 0 0
01:50:15 found video stream
01:50:15 found mp2 stream
01:50:17 15:04:56.83: video resync
02:45:02 to DBox: STOP
02:45:02 network statistics:
max: 6.1 Mbit/s total data rate
average: 3.3 Mbit/s total data rate
average: 0.063 Mbit/s resend data rate
count: 1189 resend packets
average: 1 resend packet per 52.4 total packets
max: 151 packets per resend
average: 14.5 packets per resend
02:45:02 TcpSender stopped
02:45:02 from DBox: EXIT
02:45:02 UdpReceiver stopped
02:45:02 TcpReceiver stopped
02:45:03 ESSync stopped
02:45:03 listening to any host on port 4000
02:45:04 DBoxRecordControl stopped


Unhandled Exception: System.Xml.XmlException: Document element did not appear.
in <0x002aa> System.Xml.XmlTextReader:Read ()
in <0x004df> .DBoxRecordControl:ParseStartCommand (byte[],int)
in <0x0050c> .DBoxRecordControl:ParseStartCommand (byte[],int)
in <0x001da> .DBoxRecordControl:Start ()
in <0x017dc> .udrec:Main (string[])

dayglo:/samsung120/media/streams-aufnahme #

So sah das heute morgen um 7:00 aus, wie man m.E. sehen kann hat die Aufnahme von 01:55 bis 02:45 ohne nennenswerte Probleme geklappt, irgendwann zwischen 2:45 und 7:00 ist der server dann abgestürzt. Die Box geht ja normal 5 min nach Aufnahmeende aus. Es stand in diesem Zeitraum keine weitere Aufnahme an.

@wwershofen: Das war dann wohl der Denkfehler, eigentlich logo dass ich mit ctrl-c das script abbreche. Ich probiers nochmal mit dem neuen script.
tequila72
Neugieriger
Neugieriger
Beiträge: 6
Registriert: Dienstag 2. März 2004, 10:57

Beitrag von tequila72 »

So, ja, das Script klappt astrein.
Ich habs mal in die Crontab eingetragen auf dass es alle 15 min ausgeführt wird. Hoffentlich kann ich damit die Abstürze abfangen, bin nämlich die nächsten 3 Tage nicht daheim und will ein paar Sachen aufnehmen.

Schonmal Vielen Dank!
marlboro
Interessierter
Interessierter
Beiträge: 42
Registriert: Mittwoch 28. November 2001, 00:00

Beitrag von marlboro »

Dumme Frage mal dazu. Lese mir gerade das Readme zur udrec durch.
Wenn ich jetzt TS mit nur einer Tonspur streamen möchte (muss :) ) - wie wäre dann der korrekte Aufruf?
mono udrec.exe -ss -ts -o /home/usr/video ?

Habe ich dann mein Ziel erreicht und die TS Files mit der 1. Tonspur landen in dem o.a. Verzeichnis? Werden die TS-Dateien dann anhand der EPG Infos benannt?


THX
Marlboro
tonsel
Erleuchteter
Erleuchteter
Beiträge: 536
Registriert: Freitag 21. September 2001, 00:00

Beitrag von tonsel »

@tequila72

Ich vermute das irgendwer eine leere Nachricht auf Port 4000 des PC's schickt. Bei der Version unten werden solche Nachrichten ignoriert. Anfang und Ende der leeren Nachricht sind jetzt im Log auch markiert. Bitte bestätigigen das im Log nach "--- start illegal xml ---" nur eine leere Nachricht kommt.

http://www.tekum.de/udrec.exe

@marlboro
Der Aufruf ist (noch) richtig. Ich hoffe das der Movieplayer bald mehre Spuren kann.

tonsel
marlboro
Interessierter
Interessierter
Beiträge: 42
Registriert: Mittwoch 28. November 2001, 00:00

Beitrag von marlboro »

@tonsel
so, hab es inzwischen auch mal getestet. funktioniert fast super.
- sehe ich das richtig das er immer die 'aktive' Tonspur streamt?
- viel wichtiger für mich - ich bin zu dumm eine Möglichkeit zu finden, das er mir die gestreamte Datei immer automatisch nach den EPG-Infos benennt :(
Geht das nur mit einem Script oder habe ich einfach eine Einstellung übersehen?


Marlboro
tonsel
Erleuchteter
Erleuchteter
Beiträge: 536
Registriert: Freitag 21. September 2001, 00:00

Beitrag von tonsel »

@marlboro

Umbenennen geht nur per Script.

tonsel
sir-zock-a-lot
Einsteiger
Einsteiger
Beiträge: 131
Registriert: Mittwoch 15. Oktober 2003, 16:33

Beitrag von sir-zock-a-lot »

@marlboro

Stehst du nicht auf der Testing-Liste der "udrec_suite" ? Die 0.4pre parst das von udrec erzeugte xml-file, legt dir die passenden Ordner an, benennt das TS-file entsprechend um, usw.
Reines TS streamen funktioniert auch. Einfach mal ausprobieren ;)

Gruss,
Patrick
marlboro
Interessierter
Interessierter
Beiträge: 42
Registriert: Mittwoch 28. November 2001, 00:00

Beitrag von marlboro »

@Patrick
uuups - da habe ich wohl was falsch verstanden.

Ich hatte mir die Readme und das Config File schon angeschaut. Irgendwie war/bin ich der Meinung (habs noch nicht getestet :oops: ) das die udrec_suite immer noch ein TS File erzeugt und nicht direkt streamt ???

Warum mir das überhaupt so wichtig ist: durch diverse Tests habe ich (für mich) festgestellt, das direkt gestreamte TS-Files bei mir besser laufen. Ausserdem habe ich ne '08/15' Software im Einsatz, mit der ich die TS-Files schneiden, synchronisieren und dann als DVD-konformes Material ausgeben kann (und das funktioniert nur mit den direkt gestreamten TS-Files - mit den erzeugten kann die Soft nix anfangen).


Marlboro
wwershofen
Einsteiger
Einsteiger
Beiträge: 314
Registriert: Donnerstag 16. Januar 2003, 23:53

Beitrag von wwershofen »

marlboro hat geschrieben:Ausserdem habe ich ne '08/15' Software im Einsatz, mit der ich die TS-Files schneiden, synchronisieren und dann als DVD-konformes Material ausgeben kann (und das funktioniert nur mit den direkt gestreamten TS-Files - mit den erzeugten kann die Soft nix anfangen).
Was ist denn das für ein Programm?

cu
wolle
Geek by nature - Linux by choice
marlboro
Interessierter
Interessierter
Beiträge: 42
Registriert: Mittwoch 28. November 2001, 00:00

Beitrag von marlboro »

Das Programm heisst DVR-Studio von haenlein-software.de - sorry :) läuft unter windows. Ihr habt mich bald dazu gebracht komplett von Windows abzusagen :lol: aber so nen paar Tools fehlen mir noch. Ist für meinen Alltagsbetrieb halt perfekt. Immer streamen, nix mit den Dateien machen (ausser mit dem Movieplayer anschauen) und bei Bedarf weiterverarbeiten....

Am WE werde ich die udrec_suite testen. Aber ich verstehe das richtig - wenn ich in den Optionen TS aktiviere, wird TS direkt gestreamt (und der Name korrekt vergeben - und die aktive Tonspur wird gestreamt) und ich kann (den für mich nicht wichtigen) Teil bzgl. Umrechnung etc ausschalten?

Super Sache, dann kann man ja auch immer die aktuellste udrec.exe die Tonsel anbietet einfach reinkopieren - nicht wahr?


Marlboro
sir-zock-a-lot
Einsteiger
Einsteiger
Beiträge: 131
Registriert: Mittwoch 15. Oktober 2003, 16:33

Beitrag von sir-zock-a-lot »

Am WE werde ich die udrec_suite testen. Aber ich verstehe das richtig - wenn ich in den Optionen TS aktiviere, wird TS direkt gestreamt (und der Name korrekt vergeben - und die aktive Tonspur wird gestreamt) und ich kann (den für mich nicht wichtigen) Teil bzgl. Umrechnung etc ausschalten?
Stimmt.
Super Sache, dann kann man ja auch immer die aktuellste udrec.exe die Tonsel anbietet einfach reinkopieren - nicht wahr?
Stimmt auch.

Alles weitere bitte an die Mailingliste.

Gruss,
Patrick
tequila72
Neugieriger
Neugieriger
Beiträge: 6
Registriert: Dienstag 2. März 2004, 10:57

Beitrag von tequila72 »

Also wenn man drauf wartet...

Die Version von oben läuft jetzt bei mir fast eine Woche ohne Absturz.
Leider kann ich aber auch nicht bestätigen, dass --- start illegal xml --- / eine leere Nachricht irgendwo im Log vorkommt.
Stürzt halt nur nicht mehr ab. Ich werd das weiter beobachten. Jedenfalls scheint mein Problem damit gelöst. Vielen Dank :D
rtz654
Interessierter
Interessierter
Beiträge: 26
Registriert: Samstag 23. August 2003, 10:26

Beitrag von rtz654 »

Gibt es die udrec-exe-Version unter http://www.tekum.de/udrec.exe noch?? Bei mir stürzt der udrec.exe nämlich mit dem gleichen Verhalten ab!! :cry:

Danke schonmal...
tonsel
Erleuchteter
Erleuchteter
Beiträge: 536
Registriert: Freitag 21. September 2001, 00:00

Beitrag von tonsel »

Nim einfach

http://www.haraldmaiss.de/udrec0.12f.zip

da sind die gleichen Änderungen drin. Die xml-Fehler in Verbindung mit udrec -ss sollten mit einem aktuellen Image eigentlich nicht mehr auftreten.

tonsel