Jump to content

GE 3.1.0.0 Dank und ein paar Anmerkungen


Mr. Bun

Recommended Posts

EDIT: Gerade gesehen, das die Version 3.1.0.1 soeben veröffentlicht wurde. Da die von mir hier genannten Punkte nicht in den Erläuterungen erwähnt werden, poste ich das mal ohne Gegentest mit der neuesten Version.

 

Erstmal vielen Dank für die neue Version! Nach ein paar Tagen Tests hier ein erstes Feedback.

 

Insbesondere die neue eingebaute einfache Schnittfunktion hat mich ziemlich begeistert. Dabei ist mir allerdings ein kleiner Bug aufgefallen: Im Aufnahmekontrollfenster (unter Statistik) wird bei Schnitt-"Aufnahmen" die Aufnahmedauer völlig falsch angegeben (zB ca. 12 Stunden statt der tatsächlichen 15 Minuten). Folglich ist auch der Wert für die "Mittlere (Daten-)Rate" viel zu gering. (Bei "echten" Aufnahmen stimmt alles und die Schnittresultate sind ebenfalls einwandfrei.)

 

Schön wäre es, wenn man den Schnitt-Buttons Tastaturkürzel zuweisen sowie zu bereits gesetzten Schnittmarken (zB per Strg-Click) springen könnte.

 

Der neue interne Aufgabenplaner gefällt mir prinzipiell auch sehr gut. Dadurch dass - anders als beim alten Task Scheduler - der GE nicht mehr beendet wird, bevor er den Rechner am Ende einer entsprechend programmierten Aufnahme in den Ruhezustand versetzt und der GE folglich uU bei längerer Abwesenheit Tage- oder Wochenlang nicht neu gestartet wird, ergeben sich aus meiner Sicht jedoch zwei kleine Nachteile:

 

Zum einen könnte die Liste der Aufnahmen im Aufnahmekontrollfenster ziemlich groß werden, was aber - außer Unübersichtlichkeit - (hoffentlich) keine weiteren Probleme bereitet.

 

Zum anderen könnte das EPG veralten oder gar "leerlaufen", da die automatische "Hintergrund-Aktualisierung" ja nur nach dem GE Start ausgeführt wird. Anstatt eine EPG-Aktualisierung zu programmieren würde es mir besser gefallen, wenn man die Hintergrund-Aktualisierung per Tweak nach einer bestimmten Anzahl von Stunden oder nach Ruhemodus/Standby automatisch reaktivieren könnte.

 

Gravierender ist jedoch, dass in zwei Fällen bei programmierten Aufnahmen der GE nach dem Aufwachen aus dem Ruhezustand nicht gestartet wurde (der GE lief nicht, als der PC in den Ruhezustand versetzt wurde). Verlässlich reproduzieren lässt sich dieser Fehler jedoch nicht - in (grob geschätzt) >90% der Fälle wird der GE nach dem Aufwachen gestartet.

 

Die Ursache bleibt für mich ziemlich im Dunkeln: Die entsprechenden Tasks wurden erstellt und der Rechner - wie gesagt - zur richtigen Zeit automatisch aufgeweckt. Aufgefallen ist mir nur, dass von der gescheiterten Task in der Windows-Aufgabenplanung (Win7 HP SP1 64bit) nachher keine Spur zu finden ist, während die erfolgreich ausgeführten Tasks dort unter Aufgabestatus aufgeführt werden.

 

Noch zwei Details:

- Im Optionen-Fenster passen nicht mehr alle Reiter nebeneinander (Scrollbuttons), vermutlich weil der "Rekorder"-Tab jetzt "Aufnahmen" heißt.

 

- In der setup.ini (Info-Section) wird die Version weiterhin mit 3.0.3.0 statt 3.1.0.0 angegeben.

 

Nochmals Vielen Dank!

 

Gruß,

 

Mr. Bun

Link to comment
wird bei Schnitt-"Aufnahmen" die Aufnahmedauer völlig falsch angegeben (zB ca. 12 Stunden statt der tatsächlichen 15 Minuten). Folglich ist auch der Wert für die "Mittlere (Daten-)Rate" viel zu gering
stimmt, war aber mal anders in einer Beta, als dies als Funktion mit hinein kam. Da war es genau anders herum, kurze Aufnahmedauer und enorm hohe Werte für die Datenrate. Was auch nicht dem "echten" entspricht, aber da die "Aufnahme" ja nicht in Echtzeit sondern viel schneller geschrieben wird auch nicht falsch. Das jetztige allerdings schon.

 

- Im Optionen-Fenster passen nicht mehr alle Reiter nebeneinander (Scrollbuttons), vermutlich weil der "Rekorder"-Tab jetzt "Aufnahmen" heißt.
hier nicht. Hast du etwas an der dpi Größe bzw. mit dem Resizer gearbeitet? So das nicht mehr alles auf Default ist?

 

- In der setup.ini (Info-Section) wird die Version weiterhin mit 3.0.3.0 statt 3.1.0.0 angegeben.
bei mir nicht, wird ganz korrekt 3.1.0.1 angezeigt. Hast du in der richtigen setup.ini geschaut?

 

Schön wäre es, wenn man den Schnitt-Buttons Tastaturkürzel zuweisen sowie zu bereits gesetzten Schnittmarken (zB per Strg-Click) springen könnte.
in Schnittprogrammen ist es oft F3 und F4 für Start und Ende, kommt ja vielleicht noch ;). Als kleiner Tipp. Mit rechtem Mausklick auf eine der Scheren kannst du die Auswahl wieder aufheben.
Link to comment

Danke für die Rückmeldung!

 

Im Aufnahmekontrollfenster (unter Statistik) wird bei Schnitt-"Aufnahmen" die Aufnahmedauer völlig falsch angegeben (zB ca. 12 Stunden statt der tatsächlichen 15 Minuten)

Ich schaue mal nach...

 

Schön wäre es, wenn man den Schnitt-Buttons Tastaturkürzel zuweisen sowie zu bereits gesetzten Schnittmarken (zB per Strg-Click) springen könnte.

Strg + Klick wäre wohl machbar. So wie die Funktion auf Mausbedienung ausgelegt ist, lohnt es sich kaum, mit Tastatur-Shortcuts anzufangen.

 

Zum anderen könnte das EPG veralten oder gar "leerlaufen", da die automatische "Hintergrund-Aktualisierung" ja nur nach dem GE Start ausgeführt wird.

Noch schlimmer: Wenn der DVBViewer GE lange genug läuft, ohne beendet zu werden, ist der Speicher irgendwann voll, da EPG-Daten zur Laufzeit nie gelöscht werden. Geht auch schlecht, da alle möglichen Programmteile Referenzen auf die Daten halten. Das ist ein ungelöstes Problem...

 

Gravierender ist jedoch, dass in zwei Fällen bei programmierten Aufnahmen der GE nach dem Aufwachen aus dem Ruhezustand nicht gestartet wurde

WINDOWS\SchedLgU.Txt informiert über eventuelle Ursachen.

 

Im Optionen-Fenster passen nicht mehr alle Reiter nebeneinander (Scrollbuttons), vermutlich weil der "Rekorder"-Tab jetzt "Aufnahmen" heißt.

hier nicht. Hast du etwas an der dpi Größe bzw. mit dem Resizer gearbeitet? So das nicht mehr alles auf Default ist?

Windows Vista oder 7, Segoe UI 9 Punkt :) Mit Tahoma 8 Punkt passiert das nicht. Lässt sich mittels Resizer.exe natürlich auch unter Windows 7 einstellen, und mit etwas Herumprobieren kann man die Fenster/Schriftgröße so hinkriegen, dass mit Segoe UI alle Registerkarten sichtbar sind. Vielleicht mache ich das Fenster noch etwas breiter...

 

In der setup.ini (Info-Section) wird die Version weiterhin mit 3.0.3.0 statt 3.1.0.0 angegeben.

Wird erst nach geänderten Einstellungen in den Optionen aktualisiert. Sollte ich ändern...

Link to comment

Vielen Dank für die Antworten!

 

hier nicht. Hast du etwas an der dpi Größe bzw. mit dem Resizer gearbeitet? So das nicht mehr alles auf Default ist?

Nein, den Resizer hatte ich noch gar nicht verwendet.

 

So wie die Funktion auf Mausbedienung ausgelegt ist, lohnt es sich kaum, mit Tastatur-Shortcuts anzufangen.

Der Wunsch kam auf, da ich idR mittels Tastatur (Zifferntasten und mit den auf Tasten gelegten Funktionen "Sprung vor/zurück") in der Aufnahme navigiere. Da wäre es praktisch zum Setzen der Schnittmarken nicht zur Maus greifen zu müssen. Aber keine große Sache.

 

Noch schlimmer: Wenn der DVBViewer GE lange genug läuft, ohne beendet zu werden, ist der Speicher irgendwann voll

Wie lange kann der DVBViewer GE ungefähr durchlaufen ohne das man ernste Probleme kriegt?

 

WINDOWS\SchedLgU.Txt informiert über eventuelle Ursachen.

 

Die Datei fand sich bei mir unter C:\Windows\Tasks. Darin befinden sich nur Meldungen der Art

 

    Gestartet um 10.03.2012 17:40:59
"Aufgabenplanungsdienst"
6.1.7600.16385 (win7_rtm.090713-1255)

 

Die Zeiten entsprechen den der Windows-Neustarts.

 

Ich bin zwischenzeitlich dazu Übergegangen, den DVBViewer GE (jetzt 3.1.0.1) nicht zu beenden bevor ich den Rechner manuell in den Ruhezustand versetze. In zwei (von zwei) Fällen wurde die nächste programmierte Aufnahme dann wie erwartet aufgenommen und der Rechner versetzte sich danach (wie programmiert) wieder in den Ruhezustand.

 

Die darauf folgende Aufnahme scheiterte jedoch, da der PC gar nicht erst aus dem Ruhezustand aufgeweckt wurde. Hört sich nach einem PC-Problem an, allerdings ist dieses mit der alten Kombination DVBViewer GE 3.0.3 + scheduler.exe nie aufgetreten. Ich werde dazu noch ein paar Tests machen.

Link to comment
Wie lange kann der DVBViewer GE ungefähr durchlaufen ohne das man ernste Probleme kriegt?

Weiß ich, wie viel RAM du hast und wie viele MB EPG-Daten du durchschnittlich pro Woche einsammelst? Weiß ich überhaupt etwas über dein System, außer dass du den DVBViewer GE verwendest?

 

Die darauf folgende Aufnahme scheiterte jedoch, da der PC gar nicht erst aus dem Ruhezustand aufgeweckt wurde.

Das ganze ist IMO ein Glücksspiel.

 

Auf einem PC mit XP gingen hier bis vor einiger Zeit Ruhemodus und Standby überhaupt nicht. Das Aufwachen mündete unweigerlich in einem BSOD. Seitdem das DSL Modem einem WLAN Adapter gewichen ist, geht es super.

 

Auf einem anderen PCs mit XP SP3 ging es im letzten Jahr mit dem externen Scheduler mehr schlecht als recht. Wenn der PC aus Standby oder dem Ruhezustand aufwachte (egal wie), befand er sich aus unerfindlichen Gründen in einem desolaten Zustand. Nicht mal der Explorer funktionierte richtig... aber der DVBViewer GE nahm auf. Allerdings nur einmal. Nach dem nächsten Runterfahren in Standby wachte der PC nicht mehr von alleine auf. Inzwischen hat sich jedoch einiges getan. Der PC hat mehr RAM bekommen, wurde ans Heim-Netzwerk angeschlossen, wobei sich herausstellte, dass das OnBoard-LAN nichts taugte, also wurde es aus dem Verkehr gezogen, und der PC bekam eine Netzwerkarte spendiert, dazu weitere Konfigurationsänderungen...

 

Gestern habe ich eine ganze Testserie mit dem internen Scheduler und drei in 10 Minuten Abstand programmierten Aufnahmen plus zwischenzeitlichem automatischen Herunterfahren in Standby und Ruhezustand durchgeführt, mit anfänglich geschlossenem DVBViewer GE oder auch nicht. Und erwartet, dass der PC wie ehemals Zicken macht. Machte er aber nicht. Lief absolut perfekt. Er wachte auf, nahm auf, fuhr runter, fuhr hoch, nahm auf, fuhr runter, fuhr hoch...

 

Parallel das gleiche auf einem weiteren PC mit Windows 7. Die Aufnahmen in Serie funktionierten ebenfalls bestens. Aber: Wenn ich danach versuchte, den DVBViewer GE zu beenden, verschwand er zwar vom Desktop, blieb jedoch letztendlich hängen und musste mit Gewalt beendet werden. Dies nur, nachdem der PC mit laufendem DVBViewer GE (ohne Wiedergabe) in Standby runtergefahren und mittels MS Task Scheduler für eine Aufnahme hochgefahren wurde. Nach manuellem Runterfahren in Standby und Hochfahren jedoch kein Problem. Keine Ahnung, woran das liegt.

 

Solche Abläufe kann man kaum debuggen, die Tests verschlingen eine Riesenmenge Zeit, und man hat es mit einem Haufen Unwägbarkeiten zu tun. Wer weiß schon, was beim Aufwachen in welcher Reihenfolge passiert, wie sich Anwendung, Windows, MS Task Scheduler, Treiber, BIOS timingmäßig zueinander verhalten, und ob das alles passt? Kleine Differenzen können bewirken, dass es zufällig so oder so ausgeht.

 

Eins ist klar: Mit dem internen Scheduler geht es schneller und direkter. Vor allem versucht der MS Task Scheduler, den DVBViewer GE auch dann auftragsgemäß für eine programmierte Aufnahme zu starten, wenn dieser (nach dem Aufwachen aus Standby) bereits läuft. Ohne DVB Task Scheduler gibt es keine Zwischeninstanz, die das abfängt. Der zweite gestartete DVBViewer GE merkt natürlich aufgrund der DVBViewer-Instanzenverwaltung, dass bereits eine Instanz läuft, und beendet sich sofort wieder. Aber funktioniert das in einem frühen Stadium, wenn der PC womöglich noch nicht ganz aus dem Quark ist, wirklich so wie sonst? Hat die Interprozess-Kommunikation zu dem Zeitpunkt vielleicht ungeahnte Nebenwirkungen? Und falls ja, wie soll man das feststellen?

 

Gravierender ist jedoch, dass in zwei Fällen bei programmierten Aufnahmen der GE nach dem Aufwachen aus dem Ruhezustand nicht gestartet wurde

Da würde ich erst mal im Taskmanager nachschauen, ob eine hängengebliebene Instanz läuft.

 

Die Ursache bleibt für mich ziemlich im Dunkeln

Eventuell wird sie da auch weiterhin bleiben - siehe oben ;)

Link to comment
Gravierender ist jedoch, dass in zwei Fällen bei programmierten Aufnahmen der GE nach dem Aufwachen aus dem Ruhezustand nicht gestartet wurde

Da würde ich erst mal im Taskmanager nachschauen, ob eine hängengebliebene Instanz läuft.

Das der PC zwar aufgewacht ist aber der DVBViewer aber nicht gestartet wurde gab es bei dem DVB Task Scheduler unter Vista am Anfang auch.

Deshalb erstellt der jetzt unter Vista und Windows 7 immer zwei Tasks mit ein paar Minuten anstand.

Link to comment
Deshalb erstellt der jetzt unter Vista und Windows 7 immer zwei Tasks mit ein paar Minuten Abstand.

Könnte man in der GE auch per Tweak vorsehen. Aber gleich ein paar Minuten Abstand? Das würde eine entsprechend verlängerte Aufnahme-Vorlaufzeit erfordern.

Link to comment

Ich glaube der zweite Tasks war mehr oder weniger genau zum Aufnahmestart. Der PC sollte dann ja schon auf jeden Fall laufen.

Aber ganz genau weiß ich das nicht. Ich nutze den DVB Task Scheduler schon lange nicht mehr.

Link to comment

Man kann eine Task auch so programmieren, dass sie in einem bestimmten Zeiraum wiederholt ausgeführt wird, z.B. 5 Minuten lang jede Minute. Siehe hier - MinutesDuration bestimmt die Lebensdauer des Triggers, und MinutesInterval das Wiederholungsintervall. Diese Task-Eigenschaft hatte ich bisher nicht im Blick, da sie der Delphi-Wrapper für den MS Task Scheduler glatt unterschlägt ;)

 

Wiederholungen lassen sich einer Task auch manuell hinzufügen (siehe Screenshot unten). Sie führen dazu, dass der MS Task Scheduler eine bestimmte Zeit lang jede Minute versucht, den DVBViewer GE zu starten. Wenn man ihn beendet, wird er hartnäckig neu gestartet. Voraussetzung ist natürlich, dass die Task von Windows ausgeführt wird und noch existiert. Die Frage ist, ob das bei Mr. Bun in den besagten 10 % der Fälle gegeben ist. Komischerweise war die Task ja verschwunden. Wer hat die warum gelöscht? Der DVBViewer GE macht das, wenn die Aufnahme startet. Deshalb sollte im Taskmanager überprüft werden, ob der DVBViewer GE vielleicht unsichtbar läuft.

 

Hinsichtlich "PC wacht nicht auf" weiß ich auch nicht... mir ist nur bekannt, dass der MS Task Scheduler immer einige Zeit braucht, um das BIOS für das Aufwachen zu programmieren. Legt man eine Task erst kurz vor dem Herunterfahren in Standby an, klappt das Aufwachen nicht. Deshalb erzeugt der interne Planer des DVBViewer GE Tasks sofort, wenn sich in der Rekorderprogrammierung etwas ändert, und nicht erst auf den letzten Drücker.

Zwischenablage01.png

Link to comment

Vielen Dank für die ausführlichen Antworten!

 

Auf jeden Fall eine ziemlich komplexe Angelegenheit. Um mich nicht völlig zu verwirren, unterteile ich das hier in die zwei Fehlerarten:

 

PC wacht nicht auf

 

Er wachte auf, nahm auf, fuhr runter, fuhr hoch, nahm auf, fuhr runter, fuhr hoch...

Eine derartige Testreihe habe ich zwischenzeitlich auch durchgeführt: Sieben ein-minütige Aufnahmen, dazwischen jeweils kurzer (ca 2 min) Ruhemodus. Ergebnis: Auch hier alles perfekt!

 

(Zwischenspiel: Dadurch ermutigt habe ich dann versucht, den GE eine reguläre, "echte" Aufnahme machen zu lassen (nach ca 2 Stunden Ruhemodus) und - zu Testzwecken - ca 1,5 Stunden danach noch eine weitere Testaufnahme programmiert. Resultat: Die erste Sendung wurden nicht aufgenommen, da der PC nicht aufwachte (bestätigt durch Windows-Ereignissanzeige), die spätere Testaufnahme klappte hingegen. Ich verbuche das mal unter unerklärlicher Einzelfall, zumindest bis dieses Szenario nochmal auftaucht.)

 

Danach (der PC war zwischenzeitlich manuell wieder geweckt worden) dann das gleiche Spiel wie in meinem letzten Post: Ruhemodus -> Aufnahme Tagesschau -> Ruhemodus -> PC wacht nicht auf für Aufnahme Tagesthemen.

 

Es scheint, das die Länge der Ruhemodusphasen hier eine Rolle spielt (aber nicht bei Verwendung des externen Schedulers, s.u.). Ich werde vermutlich Do/Fr Gelegenheit haben, eine solche - sehr zeitaufwändige - Testreihe mit langen Ruhemodusphasen (>= 1,5h) auf einem Zweitrechner durchzuführen. Mal sehen, was dabei rauskommt.

 

Legt man eine Task erst kurz vor dem Herunterfahren in Standby an, klappt das Aufwachen nicht. Deshalb erzeugt der interne Planer des DVBViewer GE Tasks sofort, wenn sich in der Rekorderprogrammierung etwas ändert, und nicht erst auf den letzten Drücker.

Bist Du sicher, dass der RTC Alarm im BIOS bereits bei der Erstellung einer Task programmiert wird? Ich war bisher davon ausgegangen (zugegebenermaßen mehr eine Vermutung als sicheres Wissen), dass das erst bei der Vorbereitung des Standby/Ruhemodus durch das Betriebssystem geschieht.

Das würde bedeuten, dass da einiges Zusammenkommt: Interne Vorbereitung des DVBViewer GE auf den Ruhemodus, Auslösen des Ruhemodus, Nachricht des Betriebssystems an die anderen Prozesse, das der Ruhemodus bevorsteht, Reaktion dieser anderen Prozesse darauf und vermutlich noch einiges Mehr. Nicht undenkbar, dass dabei die Programmierung des RTC Alarm im BIOS auf der Strecke bleibt. (Gibt es ein Tool bzw. eine Möglichkeit, den Wert des RTC Alarm im laufenden Windows-Betrieb auszulesen? Meine Suche danach war erfolglos.)

 

Der externe Scheduler legt die Tasks ja auch erst kurz vor dem Ruhemodus an und damit funktioniert es.

 

 

PC wacht auf, DVBViewer GE wird aber nicht gestartet

 

Ich vermute auch, dass - wenigstens manchmal - die Task quasi "verschluckt" wird. Zumindest ist die eigentliche Startzeit der Aufgabe bereits vorbei, wenn Windows nach dem Ruhemodus wieder Betriebsbereit ist: Laut Windows-Ereignisanzeige dauert es ein paar (zB 3, 8, 9) Sekunden bis Windows nach dem (pünktlichen) Aufwecken durch das BIOS die Systemzeit aktualisiert hat und weitere ca. 5 Sekunden bis das System sich für reaktiviert erklärt.

 

Vielleicht spielt auch eine Rolle, dass die vom Scheduler (sowohl intern als auch extern) generierten Tasks nach der Ausführung sofort gelöscht werden. Natürlich wäre es nicht gut, wenn sich alte, abgelaufene Tasks im System stapeln würden, aber ein paar Minuten "Galgenfrist" würden sicher nicht schaden und vielleicht sogar helfen.

 

Als Gegenprobe habe ich zwischenzeitlich auch mal die alte Methode DVBViewer GE plus scheduler.exe reaktiviert. Damit wurde der DVBViewer GE 3.1.0.1 in allen Tests zuverlässig gestartet (wie auch schon mit GE 3.0.3), wenn auch manchmal erst mit der zweiten Task (s.u.).

 

Testweise habe ich in der Windows-Aufgabenplanung mittels des "Einfache Aufgabe erstellen"-Wizards manuell eine Task zum Starten des DVBViewer GE erstellt und die Option zum Reaktivieren des Computers eingeschaltet. Diese wurde nach Ruhemodus erfolgreich ausgeführt.

 

da sie der Delphi-Wrapper für den MS Task Scheduler glatt unterschlägt ;)

Ist es möglich, dass der Delphi-Wrapper auch - zumindest für Win7 - nicht optimale Tasks erzeugt?

 

Da würde ich erst mal im Taskmanager nachschauen, ob eine hängengebliebene Instanz läuft.

Darauf habe ich - zugegebenermaßen - erst nach Deinem Hinweis geachtet: Bisher keine Funde. Allerdings lies sich der DVBViewer GE in allen Fällen - also auch wenn er nach dem Aufwachen nicht automatisch gestartet wurde - manuell starten, was ja vermutlich auch nicht klappen würde, wenn noch eine unsichtbare Instanz existiert.

 

Deshalb erstellt der jetzt unter Vista und Windows 7 immer zwei Tasks mit ein paar Minuten Abstand.

Die erste Task startet um (Aufnahmestartzeitpunkt - Vorlaufzeit), die zweite zwei Minuten später. Tatsächlich wurden hier zuletzt auch beide benötigt: 22:08: PC wacht auf - 22:10 DVBViewer wird gestartet - 22:13 Aufnahmestart (Ich habe 5 Minuten Vorlauf eingestellt, wg des EPG-Hintergrund-Updates).

 

Weiß ich überhaupt etwas über dein System?

Ok, die Frage war suboptimal formuliert :whistle: (8GB RAM). Gemeint war, ob es programmtechnische Limits gibt, wie maximale Einträge in der Aufnahmeliste oder maximale Anzahl der EPG-Datensätze (analog der maximalen Anzahl von Zellen in einer Tabellenkalkulation). Ich verstehe deine Antwort so, dass es die so nicht gibt.

Link to comment
Es scheint, das die Länge der Ruhemodusphasen hier eine Rolle spielt

Könnte es sein, dass das Mainboard eine neue Batterie braucht? Ich hatte letztlich bei einem PC den Effekt, dass die Uhr nach dem Hochfahren erheblich nachging. Nach Einbau einer neuen Batterie nicht mehr.

Link to comment

Könnte es sein, dass das Mainboard eine neue Batterie braucht? Ich hatte letztlich bei einem PC den Effekt, dass die Uhr nach dem Hochfahren erheblich nachging. Nach Einbau einer neuen Batterie nicht mehr.

Hatte ich auch schon dran gedacht. Zum einen funktioniert es bei Verwendung der externen scheduler.exe ja, auch bei langen Ruhemodusphasen.

Zum anderen gleiche ich die Systemzeit regelmäßig mit einem Internet-TimeServer ab: maximal 2 Sekunden Abweichung.

Link to comment
Es scheint, das die Länge der Ruhemodusphasen hier eine Rolle spielt

Ich kann mir nicht vorstellen, auf welche Weise die Länge der Ruhemodusphasen beeinflusst, ob der PC aufwacht oder nicht (außer schwache Batterie).

 

Bist Du sicher, dass der RTC Alarm im BIOS bereits bei der Erstellung einer Task programmiert wird?

Keine Ahnung. Ich weiß nur, dass es hier reproduzierbar nicht funktioniert hat, wenn die Task erst kurz vor dem Eintritt in Standby erzeugt wurde. Getestet habe ich es mit einem manuellen Runterfahren in Standby. Windows 7 lässt dabei Anwendungen maximal 2 Sekunden Zeit, ihre Sachen zu erledigen. Verzögern wie unter XP geht nicht mehr.

 

Gibt es ein Tool bzw. eine Möglichkeit, den Wert des RTC Alarm im laufenden Windows-Betrieb auszulesen?

http://www.boraxsoft.de/CMOSTimer_ger.html

 

... mit CMOSConfig.exe, wenn dein Mainboard in der Datenbank erfasst ist. Ansonsten wird es kompliziert. Das Mainboard des PCs, auf dem ich schreibe, ist nicht erfasst.

 

Vielleicht spielt auch eine Rolle, dass die vom Scheduler (sowohl intern als auch extern) generierten Tasks nach der Ausführung sofort gelöscht werden.

Das kann ich wie oben beschrieben verhindern (und du testweise auch, indem du die Wiederholung manuell ergänzt). Es wäre auf diese Weise möglich, die Task bis zum Aufnahmebeginn leben zu lassen und dafür zu sorgen, dass sie zu diesem Zeitpunkt sicherheitshalber den Start des DVBViewer GE wiederholt. Konsequenzen:

 

[Korrektur - vermutete Konsequenzen gelöscht]

Wie ich gerade beim Code-Studium einsehen musste, läuft etwas anders als ich in Erinnerung hatte. Der DVBViewer GE löscht eine Task nicht erst beim Aufnahmebeginn, sondern bereits beim Start, oder genauer, beim Einlesen der Timer-Aufnahmen aus der Setup.ini. Es werden grundsätzlich alle Tasks gelöscht, deren Anfangszeit minus Task-Vorlaufzeit vor "Jetzt" liegen, und deshalb auch die Task, die den Start veranlasste.

 

Damit ist hinsichtlich "DVBViewer startet nicht" folgendes denkbar: Es kommt beim Start zu einem schwerwiegenden Fehler (vielleicht weil die noch in Ausführung befindliche Task eliminiert wird), der Windows veranlasst, den DVBViewer GE kommentarlos abzuschießen. Dann ist die Task weg und der DVBViewer GE auch ;) Darüber muss ich jetzt erst mal nachdenken...

 

Ist es möglich, dass der Delphi-Wrapper auch - zumindest für Win7 - nicht optimale Tasks erzeugt?

Was verstehst du unter "optimale Task"? Für mein Windows 7 reicht es. Der interne Scheduler setzt programmgesteuert / automatisch nur Eigenschaften / Werte, die du in den Eigenschaften der Task überprüfen und auch manuell setzen/ändern kannst. Falls du etwas optimaleres findest, lasse es mich wissen. :)

 

Es kann sein, dass Windows 7 zusätzliche Eigenschaften bietet, die das verwendete Interface (das es bereits seit Windows 98 gibt) nicht erfasst. Soweit ich weiß, existiert inzwischen ein weiteres neues MS-Interface für die Programmierung von Tasks, aber das werde ich für das endgültige Release nicht implementieren - das würde mit den dazugehörigen Tests Wochen und Monate dauern.

 

manuell starten, was ja vermutlich auch nicht klappen würde, wenn noch eine unsichtbare Instanz existiert.

Es gibt Szenarien, in denen deine Vermutung nicht zutrifft.

 

Gemeint war, ob es programmtechnische Limits gibt, wie maximale Einträge in der Aufnahmeliste oder maximale Anzahl der EPG-Datensätze

Keine relevanten.

Edited by Griga
Irrtum korrigiert
Link to comment

Komischerweise war die Task ja verschwunden. Wer hat die warum gelöscht?

Zumindest für einen Fall kann ich das „wer“ (und das „wann“) jetzt beantworten.

 

Ich habe eine Versuchsreihe zum Problem „PC wacht auf, aber DVBViewer GE startet nicht“ durchgeführt, die so ablief:

 

1. Es wurde manuell eine ein-minütige Aufnahme programmiert, deren Startzeit jeweils ca. 8 Minuten in der Zukunft lag. Daraufhin wurde

2. der DVBViewer GE beendet (die DVBViewer.exe war danach in allen Fällen aus dem Taskmanager und dem ProcessExplorer verschwunden!),

3. sichergestellt das die Task (vom internen GE Scheduler) tatsächlich erstellt worden war und

4. der PC per Knopfdruck in den Ruhezustand versetzt.

 

Dann wurde gewartet, bis der PC wieder aufwachte (tat er in allen Fällen) und ob der DVBViewer gestartet wurde. Wenn er startete oder wenn er gut eine Minute nach dem Aufwachen noch nicht gestartet war, wurde gleich ein neuer Durchlauf durchgeführt.

 

Während der ganzen, gut halbstündigen Testreihe lief der Process Monitor mit (auch durch die Ruhemodusphasen). Am Ende hatte er über 5,8 Millionen Events geloggt.

 

Besonders aufschlussreich war der letzte Versuch (originellerweise keine Testprogrammierung, sondern eine regulär programmierte Aufnahme). Daher im Detail:

 

1. Der PC wachte zur erwarteten Zeit auf: Kurze Bios-Meldung, dann „Windows wird fortgesetzt“-Meldung

2. Danach erschien der Windows-Dektop, allerdings noch nicht der reguläre AERO-Desktop, sondern der klassische

3. In diesem (kurzen) Moment war zu sehen, wie die Task, die den DVBViewer GE eigentlich hätte starten sollen, aus dem c:\windows\tasks\ Verzeichniss verschwand (Explorerfenster war geöffnet)

4. Danach wurde der Bildschirm kurz dunkel und es wurde auf das AERO-Design umgestellt

5. Der PC war wieder voll betriebsbereit, aber der DVBViewer GE wurde (wie jetzt zu erwarten) nicht automatisch gestartet.

 

Der angehängte Screenshot des Process Monitor verrät den verantwortlichen Prozess. (Es wurde nach der relevanten job-Datei gefiltert (Spalte Path)).

 

Zu beachten ist, dass der Process Monitor offenbar eine interne Zeitnahme hat, die sich an den Ruhemodusphasen verschluckt. Die in der Spalte „Time of Day“ angezeigten Zeiten liegen ziemlich genau 20 Minuten in der Zukunft. Die Systemzeit war hingegen zu jeder Zeit korrekt.

 

Die Zugriffe der DVBViewer.exe fanden vor dem Ruhemodus statt, die der scvhost.exe danach. Die entscheidende Zeile ist markiert. Ca. 2 Sekunden nach dem löschen (vorletzte Zeile) und nochmals weitere 4 Sekunden später (letzte Zeile) versucht die svchost.exe erneut auf die Datei zuzugreifen, findet sie aber nicht mehr.

 

Diese Instanz der svchost.exe (PID 1140) ist laut Process Explorer Tooltip u.a. für die „Aufgabenplanung [schedule]“ zuständig (Startparameter: svchost.exe -k netsvcs). Wenn der DVBViewer automatisch gestartet wird, läuft er als ihr Enkelprozess (svchost.exe → taskeng.exe → DVBViewer.exe)

 

Das Warum? und das warum klappt es meistens? Ist damit natürlich noch nicht beantwortet.

 

Es gab in der Testreihe noch einen zweiten Fall, wo der DVBViewer GE nicht automatisch gestartet wurde, allerdings habe ich das Löschen der Task in diesem Fall nicht beobachten können, und ich habe diesen Fall bisher auch noch nicht im Process Monitor Log wiedergefunden.

 

 

Des weiteren laufen die Versuchsreihen zur „Pc wacht nicht auf“-Problematik. Zwischenergebnis: ein-minütige Aufnahmen alle 2 Stunde mit anschliessendem Ruhemodus (2 Durchläufe). In beiden Fällen: Die 1te und 4te Aufnahme (nach 2 bzw. 8 Studen) fand statt, für die 2te und 3te (nach 4 bzw. 6 Stunden) wachte der PC nicht auf.

 

Zur Zeit läuft eine weitere Testreihe mit einer etwas anderen Vorgehensweise. Resultate und Antworten auf Griga‘s letzten Post voraussichtlich am Freitag.

post-9774-0-85025000-1331861918_thumb.jpg

Link to comment

Eine interessante Analyse. Sieht so aus, als ob sich der MS Task Scheduler vertut und die Task vorschnell löscht. Daran dürfte das Flag TASK_FLAG_DELETE_WHEN_DONE beteiligt sein, dass der DVBViewer GE (und auch der externe DVB Task Scheduler) bei allen Tasks setzt. In den Eigenschaften einer Task erscheint es als Einstellungen -> Ende von geplanten Tasks -> Task löschen, wenn er nicht erneut geplant wird. Bei MSDN liest man weniger missverständlich "The work item will be deleted when there are no more scheduled run times."

 

Dieses Flag könnte der DVBViewer GE auch weglassen, da er ohnehin bei jedem Programmstart, jedem Start einer programmierten Aufnahme und jeder Änderung in der Rekorderprogrammierung veraltete Tasks abräumt. Wenn dann jedoch ein Benutzer den DVBViewer GE löscht, umbenennt oder in ein anderes Verzeichnis verlagert, bleiben übriggebliebene Tasks endlos stehen ;)

 

Ich glaube, wir sollten eine bessere Möglichkeit für Tests solcher Änderungen installieren. Du bekommst eine PM...

Link to comment

Mir ist zwischenzeitlich noch ein möglicher Bug aufgefallen: Sofern es sich um sich überlappende Aufnahme-Timer handelt, werden nicht für „die nächsten x (3) anliegenden Aufnahmen“ Tasks angelegt, sondern für die erste und zwei – offenbar zufällige – weitere Aufnahmen (zB 1te, 3te und 7te). Aufnahme-Timer die sich nicht überlappen werden korrekt chronologisch erzeugt.

 

Das dürfte für die hier diskutierten Probleme aber keine Bedeutung haben, da – so wie ich das verstanden habe – die zusätzlichen Tasks nur für Notfälle wie Abstürze etc. angelegt werden.

 

 

Mittlerweile ist auch der dritte Testlauf zur „Pc wacht nicht auf“-Problematik abgeschlossen: Wiederum 4 1-Minütige Timer-Aufnahmen mit anschliessendem Ruhemodus im Abstand von 2 Stunden.

 

Dieses mal habe ich jedoch auf die automatische Erstellung von Tasks komplett verzichtet (Haken weg bei „Windows-Aufgabenplaner benutzen“) und stattdessen im Windows-Aufgabenplaner manuell 4 Tasks erstellt die jeweils 2 Minuten vor der Aufnahme den PC aufwecken und ggf den DVBViewer GE starten sollten (er läuft ja bereits). Resultat: Alle 4 Aufnahmen klappten!

 

Ich interpretiere diese bisherigen Ergebnisse so, dass entweder der Windows-Taskplaner Schwierigkeiten hat, wenn mehrere Tasks quasi gleichzeitig vom DVBViewer GE neu erstellt werden. (Eine Erkenntniss aus der Analyse in meinem letzten Post ist, dass die svchost.exe offenbar intern eine Liste der bevorstehenden Tasks führt: Die fragliche Task wurde ja sofort gelöscht, ohne sie vorher noch mal zu öffnen.)

 

Für sehr wahrscheinlich halte ich das nicht („quasi Gleichzeitig“ ist „sehr viel später“ bei 3 GHz), dennoch führe ich zZ eine Testreihe durch, bei der der DVBViewer GE jeweils nur eine Task erzeugt.

 

 

Oder aber es hat doch mit den vom DVBViewer erzeugten Tasks zu tun:

 

Was verstehst du unter "optimale Task"? Für mein Windows 7 reicht es.

Wenn man in der Windows Aufgabenplanung sich die Eigenschaften einer vom DVBViewer GE generierte Task anschaut, fällt zum einen auf, dass einige der Optionen ausgegraut sind (siehe Screenshot, hinteres Fenster).

 

Ich führe das darauf zurück, dass der DVBViewer GE aus (XP)-Kompatibilitätsgründen (und Delphi-Beschränkungen?) Tasks für die Version 1.0 des Task Schedulers erstellt und daher die in Version 2.0 neu hinzugekommenen Optionen von der Benutzeroberfläche der Windows Aufgabenplanung – ebenfalls aus Kompatibilitätsgründen - ausgeblendet werden.

 

Der interne Scheduler setzt programmgesteuert / automatisch nur Eigenschaften / Werte, die du in den Eigenschaften der Task überprüfen und auch manuell setzen/ändern kannst.

Gravierender erscheint mir, dass, wenn man versucht dieses Eigenschaftenfenster – ohne irgendwelche Änderungen vorgenommen zu haben – mit „OK“ statt „Abbrechen“ zu verlassen, es zu der gezeigten Fehlermeldung kommt. Es scheint, der DVBViewer GE erstellt doch Tasks, die man manuell so nicht erstellen kann.

 

Falls du etwas optimaleres findest, lasse es mich wissen.

Ob es optimaler ist, bezweifele ich, aber eine Alternative wäre (zumindest für Task Scheduler 2.0) die Tasks über XML-Templates zu erzeugen. So habe ich zB die Tasks in der o.g. Testreihe generiert: Eine Task manuell erzeugt, als xml exportiert, im Editor die Startzeiten geändert, unter neuem Namen gespeichert und schlussendlich diese in der Aufgabenplanung importiert. Dieses lässt sich wohl auch (nicht getestet) mit der Schtasks.exe automatisieren (Beispiel).

 

Ob es besser ist mit einem durch einfaches Suchen/Ersetzen angepassten xml-Template zu arbeiten und ob dies überhaupt das Problem lösen würde, kann ich nicht beantworten. Zumal das Löschen nicht mehr benötigter Tasks (wg Löschens / Änderung der Aufnahme-Timer) wohl schwieriger würde.

 

http://www.boraxsoft...STimer_ger.html

 

... mit CMOSConfig.exe, wenn dein Mainboard in der Datenbank erfasst ist. Ansonsten wird es kompliziert. Das Mainboard des PCs, auf dem ich schreibe, ist nicht erfasst.

Danke für den Link! Muss ich mir erst noch genauer Anschauen, bevor ich die Software auf meinen Rechner loslasse. Wobei ich bezweifele, dass ein Programm aus dem Jahr 2004 mit einem Sandy-Bridge-Board klarkommt. Aber es wäre schon interessant – und evtl hilfreich – zu wissen, wer, wann, welche Aufweckzeit ins BIOS schreibt.

post-9774-0-19917400-1331970178_thumb.jpg

Edited by Mr. Bun
Link to comment
Ich führe das darauf zurück, dass der DVBViewer GE aus (XP)-Kompatibilitätsgründen (und Delphi-Beschränkungen?) Tasks für die Version 1.0 des Task Schedulers erstellt

Das ist richtig. Dazu hatte ich mich schon geäußert, nur nicht so präzise.

 

und daher die in Version 2.0 neu hinzugekommenen Optionen von der Benutzeroberfläche der Windows Aufgabenplanung – ebenfalls aus Kompatibilitätsgründen - ausgeblendet werden.

Lässt sich mit Konfigurieren für... auf der Seite Allgemein ändern. Aber dann sind die Tasks womöglich nicht mehr mit dem DVBViewer GE kompatibel.

Link to comment

habe ein Problem bei der Anzeige von Aufnahmen die länger als 24 Stunden sind.

Es war eigentlich keine Absicht das diese Aufnahme so lang wird. Hab es vergessen und erst wenige Minuten nach überschreiten der 24 Stunden gesehen.

 

post-13712-0-75949500-1332028016_thumb.png

 

Edit:

beim abspielen dieser Aufnahme (während diese noch aufgenommen wird) zeigt die Kontrollleiste die Gesamtzeit auch nur die Zeit minus 24h an. Die Abspielposition wird jedoch korrekt mit z.B. 19:xx Stunden angegeben. Springt dann jedoch von 23:59:59 auf 0:00:00 um.

 

post-13712-0-17525200-1332028022_thumb.png

Edited by hdv
Link to comment

Das wundert mich nicht. Die GE ist nicht auf Dateien mit einer Spieldauer >= 24 h eingerichtet. Die Möglichkeit habe ich schlichtweg ignoriert. Dürfte vor allem die Funktionen für die Zeitanzeige betreffen. Bei einer Spieldauer >= 231 = 2147483648 ms = 24,9 Tage macht auch die interne Zeitmessung schlapp (Integer-Overflow), und dann geht gar nichts mehr - falls deine Vergesslichkeit noch zunehmen sollte :)

Link to comment

Hallo,

 

Vielen Dank fürs große Update vom DVBViewerGE.

Das Winlirc-Plugin funktioniert jetzt prima mit der WTVIRBridge für die Hauppauge Fernbedienung. Bei der TT-S2-3200 kann man jetzt die Spannung abschalten lassen, das ist gut für Betrieb am "Shared-LNB" ! :)

 

Eine Sache ist mir aufgefallen: 2 Satkarten am gemeinsamen LNB, eine NOVA-S-Plus mit Status "immer wenn möglich" und eine

Technotrend TT-S2-3200 mit Status "normal" eingestellt. Die Technotrend steht unter Hardware in der Liste immer oben.

Wenn ich jetzt von einen DVB-S-Kanal (Empfang durch die Nova) auf einen DVB-S2 Kanal schalte, dann wird auf die Technotrend gewechselt, wie es sein soll. Schalte ich aber wieder auf einen DVB-S Kanal zurück, bleibt die Technotrend meistens aktiv.

Erst wenn ich ein 2. mal auf einen anderen DVB-S-Kanal umschalte, wird wieder die Nova aktiviert.

Ich habe dann in der Setup.ini mal die Karten getauscht (Device 0 und 1 getauscht), so das die Nova-S-Plus in der Liste über

der TT-S2-3200 steht, dann funktioniert es offensichtlich korrekt.

 

Gruß, gwr

Edited by gwr
Link to comment

Kann ich hier nicht nachvollziehen.

 

Ich habe eine SkyStar S2 und eine Hauppauge Nova S2 HD (in der Reihenfolge!). Probeweise bei der Nova den Haken bei "DVB-S2-Gerät" entfernt und Verwendung auf "Immer wenn möglich" gesetzt, die SkyStar S2 auf "Normal".

 

Wenn ich einen DVB-S2-Sender einschalte, wird wie erwartet die SkyStar S2 genommen. Bei Umschaltung auf einen DVB-S-Sender kommt sofort die Nova zum Zuge.

 

Hast du vielleicht die EPG-Hintergrund-Aktualisierung laufen? Die belegt auch ein Gerät, und wenn es gerade deine Nova-S-Plus ist, wird womöglich weiter deine TT 3200 für die Wiedergabe verwendet. Nur so kann ich mir das erklären. Den Haken im EPG-Fenster vergisst man leicht und wundert sich dann über dieses und jenes...

Link to comment

...hat Auswirkungen. So kann ich es reproduzieren. Welche Logik der DVBViewer GE dabei anwendet, weiß ich auch nicht. Das muss ich erst mal im Code recherchieren...

Link to comment

Der Kartenwechsel klappt jedenfalls wie erwartet sofort, wenn ich von einem DVB-S2-Sender auf einen DVB-S-Sender der selben ZF-Ebene umschalte - sagen wir mal von sonnenklar.TV HD, 12574 H, auf das Erste, 11836 H.

 

Ich schaue es mir demnächst noch genauer an. Als Lösung möchte ich vorschlagen, einen Unicable LNB zu erwerben :) Bei mir ist inzwischen einer von Inverto in Betrieb, der mit einem Unicable- und zwei Legacy-Ports locker 6 Sat-Tuner versorgt. Mit der TT 3200 geht Unicable sowieso, und mit Hauppauge-Karten neuerdings auch (wobei mit letzteren die Umschaltzeiten nicht mehr ganz so berühmt sein werden, aber immerhin...).

Link to comment
Der Kartenwechsel klappt jedenfalls wie erwartet sofort, wenn ich von einem DVB-S2-Sender auf einen DVB-S-Sender der selben ZF-Ebene umschalte - sagen wir mal von sonnenklar.TV HD, 12574 H, auf das Erste, 11836 H.

 

Ja hier auch, zwischen arte und arteHD funktionierts.

 

Ich schaue es mir demnächst noch genauer an. Als Lösung möchte ich vorschlagen, einen Unicable LNB zu erwerben Bei mir ist inzwischen einer von Inverto in Betrieb, der mit einem Unicable- und zwei Legacy-Ports locker 6 Sat-Tuner versorgt. Mit der TT 3200 geht Unicable sowieso, und mit Hauppauge-Karten neuerdings auch (wobei mit letzteren die Umschaltzeiten nicht mehr ganz so berühmt sein werden, aber immerhin...).

 

Danke für den Tipp, schaus mir mal an.

Als Soforthilfe :rolleyes: kann ich ja die Karten in der Setup.ini wieder verdrehen.

Link to comment

Die Sache sieht in der DVBViewer GE-Hardwareverwaltung so aus:

 

Welches Gerät in welcher Situation verwendet wird, entscheidet eine Punktzahl, die durch einen komplexen Algorithmus situationsabhängig ermittelt wird. Er regelt z.B., dass der Rekorder dem Hauptfenster wegen höherer Priorität notfalls ein Gerät wegnehmen darf. Am Ende wird der Tuner mit der höchsten Puntzahl genommen (vereinfacht dargestellt, eigentlich wird ein Maximum der Minima gesucht, die sich aus dem Verhältnis der Tuner-Clients ergeben).

 

Ein freies (!) Gerät mit der Einstellung "Immer wenn möglich" erhält eine unübertreffbare Höchstpunktzahl. Durch "Gemeinsamer LNB" ergibt sich jedoch ein Resourcen-Konflikt, wenn bereits ein anderer Tuner eine andere ZF-Ebene des LNB belegt. Deshalb wird ermittelt, ob dem Client des Tuners dieser entzogen werden darf, woraus wieder eine Punktzahl resultiert, und diese überschreibt die zuvor durch "Immer wenn möglich" erlangte Höchstpunktzahl. Dadurch kommt es zu einem Gleichstand zwischen beiden Tunern, und der in der Reihenfolge erste gewinnt. Dass der alte und neue Client bei einer Senderumschaltung der selbe (nämlich die Wiedergabe im Hauptfenster) ist, spielt dabei keine Rolle.

 

Ich denke jedoch, dass sich der Fall irgendwie regeln lässt...

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...