Jump to content

Keine Aufnahme bei Nutzung der API und Überwachung des EIT


Recommended Posts

Hallo,

ich habe folgendes Problem mit der API des Recording Service, Version 1.28.0.0 und älteren Versionen:

Bei einem über die API des RS erzeugten Timer, startet die Aufnahme nie, wenn der EIT bei der Überwachung des PIL / PDC-Wertes herangezogen wird.

Die API des RS bietet mit dem Parameter monforrec = 2 die Möglichkeit den EIT Running Status zu überwachen.

Wenn ich jetzt mit

GET /api/timeradd.html?ch=arte+HD+%28deu%29&title=X%3Aenius&dor=41730&start=1020&stop=1050&action=0&ttx=0&subs=0&audio=1&endact=2&eit=0&monitorpdc=1&monforrec=2&pdc=42048&enable=1&encoding=255

einen Aufnahmeauftrag erteile, liefert mir ein anschließendes "GET /api/timerlist.html?utf8=" folgenden Eintrag:

<Timer Type="1" ID="{6764FA19-41A8-47F3-BE77-D7568512A638}" Enabled="-1" Priority="50" ShutDown="2" Charset="255" Date="01.04.2014" Start="17:00:00" Dur="30" End="17:30:00" Action="0" PDC="42048">
<Descr>X:enius</Descr>
<Options AdjustPAT="-1" AllAudio="-1" MonitorPDC="-1" RunningStatusSplit="-1"/>
<Format>2</Format>
<Folder>Auto</Folder>
<NameScheme>%year-%date_%time_%station_%name</NameScheme>
<Source>API</Source>
<Channel ID="2359890582722586686|arte HD (deu)"/>
<Executeable>-1</Executeable>
<Recording>0</Recording>
<ID>31</ID>
<GUID>{6764FA19-41A8-47F3-BE77-D7568512A638}</GUID>
</Timer>

Mit dem obigen Eintrag, bzw. vergleichbaren Einträgen startet die Aufnahme grundsätzlich nie.

Die Überwachung mittels VBI funktioniert dagegen auch bei den über die API generierten Timern, sofern der Sender dies unterstützt.


Wenn ich jetzt den selben Auftrag über das Web-Interface erteile, startet die Aufnahme und der zugehörige Eintrag sieht folgendermaßen aus:

<Timer Type="1" ID="{56ED6670-9232-4416-B136-0D83FCFCEC59}" Enabled="-1" Priority="50" ShutDown="2" Charset="255" Date="01.04.2014" Start="16:58:00" Dur="33" End="17:31:00" PreEPG="2" PostEPG="1" Action="0" EPGEventID="8207" PDC="42048">
<Descr>X:enius - Dem Klima auf der Spur</Descr>
<Options AdjustPAT="-1" AllAudio="-1" MonitorPDC="-1" RunningStatusSplit="-1"/>
<Format>2</Format>
<Folder>Auto</Folder>
<NameScheme>%year-%date_%time_%station_%name</NameScheme>
<Source>Web</Source>
<Channel ID="2359890582722586686|arte HD (deu)"/>
<Executeable>-1</Executeable>
<Recording>0</Recording>
<ID>26</ID>
<GUID>{56ED6670-9232-4416-B136-0D83FCFCEC59}</GUID>
</Timer>

 

Bei der Auftragserteilung über die API fällt auf, dass das Attribut EPGEventID="8207" fehlt.
Ist das möglicherweise der Grund, weshalb die Aufnahme nicht startet ?
Eigentlich müßte das PIL / der PDC-Wert und die Sender ID, doch zur Identifikation einer Sendung ausreichen und der RS die zugehörige EPGEventID selbst ermitteln können, falls er die überhaupt benötigt ?
Sollte die EPGEventID erforderlich sein, wäre es zumindest gut, wenn sie sich über die API abfragen ließe und anschließend mit GET /api/timeradd.html ...mit ausgeliefert werden könnte.
Sonst ist der Parameter monforrec in Kombination mit dem Parameterwert 2 funktionslos.

 

Noch etwas anderes:
Bei der API vermisse, dass mit GET /api/timeradd.html? ... die Attribute PreEPG und PostEPG beeinflusst werden können,
oder zumindestens der Vorlauf und der Nachlauf aus der Konfiguration des RS übernommen werden.
Wenn PreEPG = "0" ist bzw. nicht vorhanden ist, kann es passieren das einige Sekunden am Anfang der Aufnahme fehlen, falls die
Sendung zu früh gesendet wird oder der Rechner zu langsam aus dem Standby erwacht.

Handelt sich bei dem ersten Sachverhalt wirklich um einen Fehler, oder habe ich nur etwas übersehen bzw. nicht richtig verstanden ?

Vielen Dank für eure Antworten!

MatHac

support.zip

Link to comment

Die API ist bei de EIT überwachung einfach nicht vollständig. Daher geht es nicht. Ist schon seit ner Weile bekannt, aber die API hat hier so gut wie keine Priorität, also wird das auch nicht so schnell geändert. Falls sich da überhaupt noch jemals etwas tut.

Link to comment

Vielen Dank, VinoRosso!
Jetzt weiss ich wenigstens, dass es nicht an meinem Unverständnis liegt, daß die EIT-Überwachung über die API nicht funktioniert.
Ich werde mir jetzt so behelfen, dass ich mir die "normalen" Requests mit Wireshark abgreife und für meine eigenen Zwecke mißbrauche.

Das sieht dann z.B. so aus:

 

(hier als Beispiel die 20-Uhr-Tagesschau, morgen in "Das Erste HD"):

GET /timer_add.html?aktion=timer_add&silent=1&time=41733.8359375&channel=121

Das ist der Request der gesendet wird, wenn man im Sender-EPG auf den Aufnahme-Button klickt und "Timer-Einzelheitenfenster zeigen" in der Konfiguration nicht aktiviert ist.

Als Parameter-Wert für time verwende ich, wie das Web-Interface die Startzeit der Sendung + 1/4 der Sendungsdauer.

Die Einstellungen in der Konfiguration des RS werden dann automatisch für den Timer übernommen und können bei Bedarf mit GET /api/timeredit.html ... noch verändert werden.
Die EPGEventID ist jetzt im XML-Entry des Timers vorhanden, womit auch die Überwachung des EIT funktioniert.

Vorraussetzung ist natürlich, dass ein EPG-Eintrag der Sendung dem RS bereits vorliegt, was aber bei den öffentlich-rechtlichen Sendern fast nie ein Problem darstellt.






Link to comment
×
×
  • Create New...