Timer Konzept des DVBViewer Recording Service
Aus DVBViewer
|
Der DVB Recording Service nutzt eine eigene svctimers.xml Datei (im Ordner Konfigurationsverzeichnis\config). Die Timers.xml des DVBViewer hat keinerlei Einfluss mehr. Im DVBViewer programmierte Timer werden nur übernommen, wenn die Option in den DVBViewer Optionen → Recording Service aktiviert ist.
Ausnahme: Eine svctimers.xml ist nicht vorhanden aber eine timers.xml, dann werden die DVBViewer Timer importiert.
Die aus dem DVBViewer bekannte Funktionalität der Timer wurde weitgehend erhalten. Es gibt allerdings nun einige Timertypen mehr.
[Bearbeiten] Recording Timer
Unter dem Timertyp Recoding Timer sind alle Timer zusammengefasst, die eine DVB-Hardware benötigen. Dieser Typ entspricht dem "alten" Timer.
Es gibt drei Untertypen:
- Aufnahme:
- Eine normale Aufnahme.
- Sender einstellen: Dieser Untertyp stellt nur den Sender ein, es wird keine Datei geschrieben. Er entspricht der "No File Write" Option des "alten" Timers. Gedacht ist er für gezielte EPG Updates eines einzelnen Transponders sowie für MHW oder Siehfern Info Updates.
[Bearbeiten] Die Aufnahme Optionen
[Bearbeiten] Aufnahmeverzeichnis
Das Aufnahmeverzeichnis wird mit dem Timer gespeichert. Änderungen in den Optionen haben keine Auswirkungen auf bestehende Timer (außer bei "Auto" versteht sich). Es gibt eine neue Auswahl "Auto". Abhängig von der Einstellung in den Optionen wirkt "Auto" wie folgt:
- Option 1 (Defaultwert): gehe die Liste durch und nehme das erste Verzeichnis, das mehr als vorbelegter Wert (Defaultwert 25 GB aber in 1 GB Schritten änderbar) frei hat.
schlägt dies fehl wende Option 2 an.
- Option 2: Nehme das Verzeichnis, das am meisten freien Speicher hat.
[Bearbeiten] Aufnahmeformat
Pro Aufnahme kann festgelegt werden, in welchem Format aufgenommen wird. Default wird in den Optionen festgelegt. Es gelten weiterhin die schon bekannten Beschränkungen (H264 wird nur als TS aufgezeichnet, ebenso ein Transponder Dump).
[Bearbeiten] Priorität
Aufnahmen kann eine Priorität zugeordnet werden. Starten zwei Aufnahmen unterschiedlicher Priorität, gewinnt die mit der höheren. Läuft schon eine Aufnahme niederer Priorität, so kann sie von einer Aufnahme höherer Priorität gestoppt werden.
[Bearbeiten] Aufnahmedateiname
Folgende Variablen können nun genutzt werden (abwärts kompatibel):
- %year = Jahr
- %date = sortierbarer Monat und Tag
- %time = die Uhrzeit
- %station = der Sender
- %event = die Sendung
- %title = der (Sub)Titel der Sendung (falls vorhanden)
- %tshort = der (Sub)Titel der Sendung (falls vorhanden) auf 80 Zeichen begrenzt
- %name = der Name des Timers der beim erstellen eingegeben wird
- %m = Monat
- %d = Tag (das Monats)
- %h = Uhrzeit Stunde
- %M = Uhrzeit Minute
- %g = das Genre (wenn vorhanden)
- %D = Tag der Woche (Mo, Di etc)
Zusätzlich können Unterverzeichnisse spezifiziert werden. Beispiel:
%station\%date_%time_%station_%event ergibt:
[..]kabel eins\01-13_20-10-06_kabel eins_first strike - jackie chans erstschlag.ts
Das beschränkt sich natürlich nicht nur auf ein Unterverzeichnis. Die Unterverzeichnisse werden automatisch erzeugt. Man könnte natürlich auch anstatt einer Variable einen fixen Unterverzeichnisnamen angeben...
[Bearbeiten] Audio/Teletext/DVB-Subtitel und PAT/PMT Anpassung Auswahl
Für jeden Timer kann man getrennt festlegen, welche dieser Optionen bei einer Aufnahme beachtet werden.
[Bearbeiten] Ganzer Transponder
Ist diese Option aktiviert wird der gesamte Transponder als TS Datei abgelegt.
[Bearbeiten] Nach der Aufnahme Aufgabe
Es handelt sich dabei um normale Prozesstimer, die durch den Recordingtimer on the fly generiert werden. Voraussetzung: das Recordingtimer wurde nicht abgebrochen (sprich vor seiner Endzeit deaktiviert oder gelöscht).
Der neu erzeugte Prozesstimer kann nicht gespeichert werden, sondern verfällt, sobald er abgebrochen oder beendet wird. Er erbt die Shutdownaktion des Recordingtimers. So wird ein Standby oder Beenden quasi weitergereicht und wird, nachdem der Prozesstimer fertig ist, verarbeitet.
So etwas macht natürlich nur Sinn, wenn man dem Prozesstimer Daten über die Aufnahme zukommen lassen kann. Deswegen kann man in den Parametern des Prozesstimer Schlüsselworte nutzen, die - wie beim Erzeugen des Aufnahmenamens - entsprechend vom Service ersetzt werden.
Beispiel (vereinfachter) Parameterausdruck für FFMpeg:
-i "{SOURCE_FILE}" -vcodec libx264 -maxrate 1500k -acodec libfaac -ab 112k -ar 48000 -ac 2 -title "{TITLE}" -y "{PATH_FILENAME}.mp4"
Folgende Platzhalter gibt es (GROSSSCHREIBUNG IST PFLICHT):
{FILENAME_EXT} 04-11_20-10-04_RTL 2_Otto Der Film.ts {SOURCE_FILE} c:\capture\4-11_20-10-04_RTL 2_Otto Der Film.ts {PATH_FILENAME} c:\capture\4-11_20-10-04_RTL 2_Otto Der Film {FILENAME} 04-11_20-10-04_RTL 2_Otto Der Film {PATH} c:\capture\ {EXT} .ts {CHANNEL} RTL 2 {TITLE} Otto der große Film {SUBTITLE} Otto macht viel Blödsinn
Die üblichen Regeln für Parameter gelten: Pfade bzw. Dateinamen sollten in " eingefasst werden, ebenso Texte, die Leerzeichen enthalten könnten.
Alle Nachfragen bzw. Meldungsfenster müssen um jeden Preis unterdrückt werden. Es gibt keinerlei Benutzereingabe.
Im Zweifel bitte die Dokumentation des entsprechend Programms zu Rate ziehen.
[Bearbeiten] Die neuen Timerarten
Zu beachten ist bei diesen neuen Timerarten ein etwas anderes Verhalten.
- Die Endzeit wird ignoriert. Wenn die Aufgabe ausgeführt wurde, beendet sich der Timer automatisch. Alle "Nach Aufnahme" Funktionen sind verfügbar.
- Sollte ein Timer verpasst worden sein, weil der Rechner nicht starten konnte, wird der verpasste Timer beim nächsten Start nachgeholt, egal ob die Zeit passt oder nicht.
- Diese Timer haben natürlich kein Sender Attribut. Deswegen wird in der Liste anstelle des Sendernamens der Timertyp angezeigt. Das macht das auffinden etwas einfacher.
[Bearbeiten] Search Timer
führt einen einzelnen Autorecording EPG Suchauftrag aus.
[Bearbeiten] Autosearch timer
führt alle Autorecording EPG Suchaufträge aus.
[Bearbeiten] Prozess Timer
Erlaubt das Ausführen von externen Programmen wie TVInfo Standalone, tvxml import usw. Der Timer greift auf vorhandene Process Tasks zurück.
Wichtig: wenn ein Programm eingesetzt werden soll, muss sicher sein, das es sich auch selbständig beendet und keinerlei Messageboxes anzeigt. Die Programme laufen im Kontext des Service und haben keinerlei Möglichkeit zur Benutzerinteraktion.