mcray Posted April 26, 2014 Posted April 26, 2014 Hallo, ich bin zwar seit einigen Jahren bereits Nutzer des DVBViewers, kämpfe aber immer noch an manchen Stellen mit Verständnisproblemen. So auch bei der Konfiguration von Aufnahmen. Meine Konstellation: - HTPC mit Windows 8.1, DVBViewer 5.2.9.0 und Recording Service 1.28 - Aufnahmeprogrammierung erfolgt i.d.R. über Timeline im OSD des DVBViewers - Windows Energieoptionen: PC geht nach 5 Minuten Inaktivität in den Ruhemodus Mein Problem: Wenn ich bei laufendem DVBViewer in den Ruhemodus wechsle, kann es beim nächsten Neustart Probleme mit dem DVBViewer geben. Deshalb habe ich beim Aufruf des Ruhemodus über die Fernbedienung den Befehl zum Beenden des DVBViewers vorgeschalten, was auch sauber funktioniert. Das funktioniert allerdings nicht, wenn ich gerade einen Film schaue, dessen Rest ich aufnehmen möchte. Hier rufe ich i.d.R. im OSD die Timeline auf und wähle als Aktion nach der Aufnahme den Ruhemodus aus. In diesem Fall wird der DVBViewer vorher nicht beendet, sodass es beim nächsten Neustart ggf. Probleme gibt. Meine bisherigen Lösungsversuche: 1. In den Einstellungen des DVBViewer habe ich die Standardaktion nach Aufnahme auf "DVBViewer beenden" gesetzt. Leider wird der DVBViewer nach der Aufnahme nicht beendet. Die Aufnahme wird durchgeführt und der DVBViewer läuft weiter. Wenn ich allerdings "Ruhemodus" auswähle, geht der PC nach der Aufnahme brav in den entspr. Zustand über. 2. Ich habe auch schon im Recording Service die Aktion nach einer Aufnahme wie folgt angepasst: Standardaktion: "keine Aktion", Aufgabe nach Aufnahme: "DVBViewer beenden" (selbst erstellte Aufgabe mit Aufruf -x...). Leider ohne Erfolg. Hat jemand von Euch noch eine Idee, was ich anpassen müsste bzw. was ich sonst tun könnte, um zu erreichen, dass der DVBViewer vor einem Ruhemodus immer beendet wird, egal ob der Ruhemodus vom Benutzer oder aber vom DVBViewer bzw. Recording Service aufgerufen wird? Vielen Dank im Voraus. Quote
Tüftler Posted April 26, 2014 Posted April 26, 2014 Sowas lässt sich über ProcessTaskEX, TCPControl und ExtendedExit bewerkstelligen. Schaue dir die Scripte mal an. Heute Abend könnte ich dir meine Konfig zur Verfügung stellen, da wäre es aber gut wenn du schon ein wenig was probiert bzw. dich mit den 3 Sachen beschäftigt hättest. Quote
mcray Posted April 26, 2014 Author Posted April 26, 2014 Vielen Dank für das Angebot. Ich schau mir die Scripte heute Abend mal an und melde mich dann nochmals, sofern ich Hilfe benötige. Quote
mcray Posted April 26, 2014 Author Posted April 26, 2014 Ich habe den Threat mal überflogen und bin mir nicht sicher, ob das mein Problem löst. Wenn ich den PC über die Fernbedienung in den Ruhemodus schicke, dann wird der DVBViewer vorher sauber beendet. Beim manuell ausgelösten Ruhemodus habe ich also kein Problem Wie müsste ich aber die Scripte einbinden, dass bei einer über den DVBViewer programmierten Aufnahme nach der Aufnahme der DVBViewer Client automatisch beendet wird bevor der PC von selbst in den Ruhemodus wechselt? Ich hätte eigentlich erwartet, dass es reicht, im OSD "DVBViewer beenden" als Aktion nach der Aufnahme auszuwählen. Dann würde nur noch der Recording Service laufen und der PC würde wegen Inaktivität mit Windowsbordmittelin in den Ruhemodus wechseln. Aber vielleicht funktioniert das nicht, weil der DVBViewer die Aufnahme dem Recording Service überlässt, der wiederum die Aktion "DVBViewer beenden" nicht kennt. Hier besteht mein Verständnisproblem: Greifen die Optionen, die mir das OSD anbietet überhaupt alle, wenn auf dem gleichen PC ein Recording Service läuft, der die Aufnahme übernimmt? Wenn nicht, gibt es eine Möglichkeit, die entspr. Optionen im Recording Service anzupassen? Das würde natürlich nur für den auf dem gleichen PC installierten DVBViewer funktionieren. Quote
Tüftler Posted April 26, 2014 Posted April 26, 2014 Da ich ja ebenfalls ein Client-Server-System einsetze, also RS und Viewer auf einem PC wird das bei mir wie folgt bewerkstelligt: Die Aktion "Beenden" startet bei mir, mit Hilfe der Command.vbs, das ExtendedExit Script in der StandbyProzedur. In der ExtendedExit StandbyProzedur wird zuerst die Wiedergabe des Viewers abgeschaltet dann wird geprüft ob eine Aufnahme im RS läuft (wenn ja dann weiter mit Punkt 5) wenn nicht wird die Standbyprozedur abgeschlossen in dem der Viewer beendet und danach der Standby ausgeführt wird. -> in diesem Fall wird das Script abgebrochen und die Standardaktion des RS (Standby RS) ausgeführt (eigens angelegter ProcessTask) Standby RS wird in ProcessTaskEX behandelt und prüft ob nach der laufenden Aufnahme nicht doch wieder jemand am Client schaut Wenn keiner schaut wird wieder ExtendedExit mit der StandbyProzedur aufgerufen. Soweit zur Abfolge. Warum sind jetzt 4 Scripts nötig? Script 1, Command.vbs: Dient in diesem Fall als Weiterleitungsebene um ExtendedExit zu starten (ersetzt die Beenden Aktion des DVBViewers) Script 2, ExtendedExit: Behandelt alle Aktionen im Benutzerkonto in dem der DVBViewer ausgeführt wird und realisiert die nötigen Aktionen nach dem Standby Script 3, ProcessTaskEX: Behandelt Aktionen die der RS erzeugt, diese erfolgen auf Systemkontoebene und nicht im Benutzerkonto, daher ist ExtendedExit dort machtlos da dieses bereits im Benutzerkonto ausgeführt wird! Script 4, TCP Control: Ermöglicht die Kommunikation über TCP und das geht sowohl im Benutzerkonto als auch im Systemkonto Das hört sich jetzt erstmal recht komplex an ist es aber eigentlich nicht wenn man einen Plan hat Wenn Interesse Besteht kann ich da Hilfestellung leisten. Was mache ich noch mit den Scripten? E-Mail Benachrichtigung das der Rechner wieder in den Standby versetzt wird (wenn ich von Unterwegs Sachen streamen lasse oder Aufnahmen Programmiere) Timeshiftbehandlung vor dem Standby, wenn aus der Timeshiftdatei aktuell aufgenommen wird (eigenes VBS Script führt die Behandlung aus) Starten des DVBViewers aus dem Standby mit einem Kindersender, die Kids sind ja nicht blöd den Rechner anzubekommen und müssen während meiner morgendlichen Antriebsschwäche nicht mit Senderinhalten berieselt werden die ich am Vorabend evtl. geschaut habe Ich hoffe das dich die ausführliche Beschreibung jetzt nicht zu sehr abschreckt aber bevor zig Nachfragen kommen hole ich lieber immer etwas weiter aus Gruß Tüftler Quote
nuts Posted April 26, 2014 Posted April 26, 2014 Melde mich hier auch mal zu Wort, da die Skripte ja von mir sind. Wie man sehen kann hat Tüftler die Idee hinter meinen Skripten richtig verstanden (und auch selbst schon etwas gescriptet ). D.h. volle Kontrolle für den Benutzer und dafür erhöhter Konfigurationsaufwand. Für dein Hauptproblem wäre (glaube ich) diese Variante interessant: 1. ProcessTaskEX grundsätzlich nach jeder Aufnahme im Recordingservice als Aufgabe hinterlegen (Ziel: Ruhemodus außer DVBViewer ist aktiv) 2. ExtendedExit um den Ruhemodus zu aktivieren (außer: Aufnahme aktiv => DVBViewer wird geschlossen => nach der Aufnahme greift ProcessTaskEX) Quote
mcray Posted April 28, 2014 Author Posted April 28, 2014 Da ich ja ebenfalls ein Client-Server-System einsetze, also RS und Viewer auf einem PC wird das bei mir wie folgt bewerkstelligt: Die Aktion "Beenden" startet bei mir, mit Hilfe der Command.vbs, das ExtendedExit Script in der StandbyProzedur. In der ExtendedExit StandbyProzedur wird zuerst die Wiedergabe des Viewers abgeschaltet dann wird geprüft ob eine Aufnahme im RS läuft (wenn ja dann weiter mit Punkt 5) wenn nicht wird die Standbyprozedur abgeschlossen in dem der Viewer beendet und danach der Standby ausgeführt wird. -> in diesem Fall wird das Script abgebrochen und die Standardaktion des RS (Standby RS) ausgeführt (eigens angelegter ProcessTask) Standby RS wird in ProcessTaskEX behandelt und prüft ob nach der laufenden Aufnahme nicht doch wieder jemand am Client schaut Wenn keiner schaut wird wieder ExtendedExit mit der StandbyProzedur aufgerufen. Die beschriebene Abfolge wäre tatsächlich, wenn ich sie richtig verstehe, die Antwort auf meine Fragen. Allerdings zeigt sie mir auch, dass ich mich mit dem Thema noch mehr beschäftigen müsste, um zu einer vernünftigen Lösung zu kommen. Leider fehlt mir dazu momentan die Zeit, weshalb ich das Ganze erstmal "organisatorisch" lösen werde (wir müssen halt vorerst den DVBViewer über das OSD Menü manuell beenden, wenn wir eine laufende Sendung aufnehmen wollen oder eine Aufnahme bereits läuft). Sobald ich mehr Luft habe, schaue ich mir die Umsetzung der Ablauffolgen mit Euren Tools nochmals genauer an. Vielen Dank für Eure Unterstützung! Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.