Jump to content
janee

API EPG Zeitzone

Recommended Posts

janee

Hallo,

ich experimentiere gerade mit Emby, wo ich live TV einbinden kann.

 

https://github.com/puenktchen/DVBViewerT[removed, violating forum rule §13 ]in

 

Dabei ist mir aufgefallen, dass die EPG Zeiten nicht stimmen. Intern wird angenommen die EPG Daten haben einen UTC Zeitstempel.

Das API vom Recordingservice gibt aber immer die lokale Zeit zurück.

Hier ein Beispiel (Auszug):

 

<epg Ver="1">

<programme start="20170127090500" stop="20170127095500" channel="562954315180093"> // Lokale Zeitzone UTC+1

<eventid>58327</eventid>

<pdc>887365</pdc>

<content>21</content>

<charset>255</charset>

<titles><title>Rote Rosen (2356)</title></titles>

Gibt es eine Möglichkeit, das der Recordingservice diese Zeiten in UTC korrigiert???

 

Vielen Dank für eure Hilfe

Christian

  • Like 2

Share this post


Link to post
janee

Kleiner Nachtrag, da dies ein generelles Problem zu sein scheint.

Ich habe auf ein weiteren PC die Zeitzone verstellt (UTC+5).

In der Timeline vom Recordingservice (erreichbar via Internet) werden die Zeiten nicht angepasst.

Hier sollte man drüber Nachdenken die Zeiten in die lokale Zeitzone zu konvertieren.

Share this post


Link to post
Griga

Ich nehme an, du beziehst dich auf /api/epg.html.

 

Im Code sehe ich keine Möglichkeit, die ausgegebenen Zeiten zu beeinflussen. Aber man könnte einen entsprechenden Parameter ergänzen, entweder utc=0 oder 1 mit 0 als Default (wie bisher) oder offset=x mit x in Minuten. Welche Lösung wäre aus deiner Sicht besser?

Ich habe auf ein weiteren PC die Zeitzone verstellt (UTC+5).

In der Timeline vom Recordingservice (erreichbar via Internet) werden die Zeiten nicht angepasst.

 

Vermutlich muss du den vorhandenen EPG bzw. die epg.dat erst löschen.

 

Eine interne Verwaltung der Zeiten als UTC wäre IMO besser. Ich habe es im DVBViewer GE ja bereits realisiert. Das ist allerdings eine größere Operation. Lars hat das Thema damals im DVBViewer Pro und RS auch ausgelotet und dann lieber drauf verzichtet ;)

Share this post


Link to post
pünktchen

Hallo janee, ich habe das DVBViewer plugin für Emby gebaut. Die EPG-Zeiten sollten eigentlich passen, denn ich lass die im Code umrechnen. Dein Emby Server ist nicht zufälligerweise in einem Docker Container installiert? Dort muss man seine Zeitzone explizit zusätzlich zu der vom NAS Betriebssystem einstellen.

Share this post


Link to post
janee

Hallo Griga,

sorry für die verspätete Antwort.

Ich nehme an, du beziehst dich auf /api/epg.html.

 

Im Code sehe ich keine Möglichkeit, die ausgegebenen Zeiten zu beeinflussen. Aber man könnte einen entsprechenden Parameter ergänzen, entweder utc=0 oder 1 mit 0 als Default (wie bisher) oder offset=x mit x in Minuten. Welche Lösung wäre aus deiner Sicht besser?

 

Ja auf api/epg.html beziehe ich mich.

Im Prinzip könnte man die Antwort vom Server um einen Parameter erweitern. Bestehende Strukturen müssen diesen Ja nicht auswerten. Für die, die ihn nutzen möchten, hat man dadurch die Möglichkeit, Daten im UTC zu behandeln.

 

Vermutlich muss du den vorhandenen EPG bzw. die epg.dat erst löschen.

 

Eine interne Verwaltung der Zeiten als UTC wäre IMO besser. Ich habe es im DVBViewer GE ja bereits realisiert. Das ist allerdings eine größere Operation. Lars hat das Thema damals im DVBViewer Pro und RS auch ausgelotet und dann lieber drauf verzichtet ;)

 

Nein, da hast du mich falsch verstanden. Wenn ich das Webinterface von einen anderen Rechner aufrufe, der eine andere Zeitzone hat, wäre es doch schön, wenn die EPG Daten angeglichen werden, damit die Zeitleiste mit der lokalen Zeitzone übereinstimmt. Mich interessiert ja nicht, das z.B. die Tagesschau in Deutschland um 20:00 Uhr beginnt, sondern um X:xx Uhr in Australien/ USA... :original:

 

Das aber nur als Anregung / nice to have.

 

MfG Christian

 

 

Share this post


Link to post
janee

Hallo janee, ich habe das DVBViewer plugin für Emby gebaut. Die EPG-Zeiten sollten eigentlich passen, denn ich lass die im Code umrechnen. Dein Emby Server ist nicht zufälligerweise in einem Docker Container installiert? Dort muss man seine Zeitzone explizit zusätzlich zu der vom NAS Betriebssystem einstellen.

 

@pünktchen

 

Ich habe mir mal den Sourcecode vom Github genauer angeschaut. Dabei ist mir aufgefallen, das du die Daten von EPG (api/epg.html) schon als UTC ansiehst. Das ist leider nicht der Fall.

Ich habe den Code mal entsprechend angepasst und nun passen auch die Zeiten. Das ganze funktioniert aber nur dann, wenn der Recordingservice und der Embyserver die selbe Zeitzone verwenden.

Soll ich die Anpassungen hier anhängen?

MfG Christian

Share this post


Link to post
pünktchen

Danke @janee, die Code-Anpassung bekomme ich noch hin ;)

Interessant nur, dass das EPG bei meinen Tests bisher immer hingehauen hat und auch sonst sich keiner beschwert hat?!

Ich schau mir das noch einmal an...

Share this post


Link to post
janee

Danke @janee, die Code-Anpassung bekomme ich noch hin ;)

Interessant nur, dass das EPG bei meinen Tests bisher immer hingehauen hat und auch sonst sich keiner beschwert hat?!

Ich schau mir das noch einmal an...

Kein Problem! Mein Rechner hat Windows 10 als Betriebssystem, habe ich vergessen zu erwähnen.

Share this post


Link to post
Griga
entweder utc=0 oder 1 mit 0 als Default (wie bisher) oder offset=x mit x in Minuten. Welche Lösung wäre aus deiner Sicht besser?

 

Da du dich zu der Frage nicht geäußert hast, ergänze ich den UTC-Parameter. Er bedeutet, dass der Client die Zeiten als UTC bekommt (d.h. der RS entfernt seinen lokalen Offset) und selbst den lokalen Offset dazurechnen muss.

Share this post


Link to post
janee

 

Da du dich zu der Frage nicht geäußert hast, ergänze ich den UTC-Parameter. Er bedeutet, dass der Client die Zeiten als UTC bekommt (d.h. der RS entfernt seinen lokalen Offset) und selbst den lokalen Offset dazurechnen muss.

 

Danke, Griga.

Ja, wer lesen kann... Ich habe die Frage überlesen :innocent:

Share this post


Link to post
Griga

Das ganze war etwas komplizierter als gedacht, da es bei der Einstellung "Zeitzone automatisch einstellen" unter Umständen keinen einheitlichen Zeit-Offset gegenüber UTC in den EPG-Daten gibt. Er kann variieren, abhängig davon ob die Einträge in die Winter- oder Sommerzeit fallen. Das lässt sich jedoch mittels Windows-API wieder auf UTC umrechnen.

 

Anzumerken wäre noch, dass bei Verwendung von /api/epg.html mit utc=1 konsequenterweise auch die Parameter start=... und end=.. (sofern verwendet) als UTC angegeben werden müssen.

  • Like 1

Share this post


Link to post

Join the conversation

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

Guest
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...