Jump to content

EPG-Fenster: Abweichendes Verhalten bei Streams (Anzeige aktueller Sender bzw. aktueller EPG-Eintrag)


GruberMa

Recommended Posts

Liebe Entwickler,

Liebe Foristen,

 

Im EPG-Fenster des DVBViewer ist ja immer der EPG-Eintrag des aktuellen Senders hervorgehoben. Durch einen Doppelklick auf den Sendernamen oder einen EPG-Eintrag erfolgt der Senderwechsel.

 

Bindet man nun einen Internet-Stream ein, z.B. 3Sat, und erstellt manuell einen Dummy-EPG-Eintrag (z.B. über das DMS EPG Update Script), ändert sich das Verhalten: Der Doppelklick auf den Sendernamen oder den EPG-Eintrag löst weiterhin wie gewohnt einen Senderwechsel aus; allerdings wird im EPG-Fenster der Sender bzw. der entsprechende EPG-Eintrag nicht gelb hinterlegt.

 

Ist das erwartetes Verhalten oder ein Problem?

 

DMS und DVBViewer sind auf dem neuesten Stand, die Dienste schon alle neu gestartet, die Senderliste ist korrekt konfiguriert (trankodierter Stream über die DMS-Website wird im Browser ohne Probleme wiedergegeben).

 

support.zip

 

LG,

 

GruberMa

Link to comment

Ich habe mit dem EPG-Fenster ebenfalls ein Problem: Leute, die etwas dazu posten, schreiben häufig "das EPG-Fenster" oder "der EPG", aber geben nicht an, welche der vier Registerkarten sie meinen. Selbst Rückfragen bleiben mitunter unbeantwortet. Siehe dazu auch hier.

 

Ein Screenshot und eine genauere Beschreibung des Dummy-Eintrags bzw. der Daten, aus denen er besteht, könnte auch weiterhelfen. Ich habe keine Möglichkeit zur Hand, einem Internet Stream einen EPG-Eintrag zuzuweisen und damit zu experimentieren.

 

Link to comment

Hallo Griga,

 

Ich vergesse leider immer wieder, dass es im EPG-Fenster mehrere Ansichten gibt (ich nutze nur den Timeline-Reiter).

 

Ich habe alle vier Registerkarten des EPG-Fensters untersucht und kann pro Reiter folgendes sagen:

 

EPG senderweise

Zeigt alle Sender mit EPG-Einträgen an. Man kann durch Doppelklick auf den Sendernamen umschalten. Schaltet man über die PopUp-Senderliste um, bekommt das EPG-Fenster das mit und springt automatisch auf den richtigen Sender. Keine Fehler gefunden.

 

Zur Zeit

Fehler 1: Schaltet man über die PopUp-Senderliste um, wird der neue Sender im "Zur Zeit"-Fenster nur dann ausgewählt, wenn es kein TS-Stream-Sender ist.

Fehler 2: Schaltet man durch Doppelklick auf Sendername oder EPG-Eintrag im "Zur Zeit"-Fenster um, erfolgt zwar die Umschaltung, der neue Sender im "Zur Zeit"-Fenster wird aber nur dann automatisch ausgewählt, wenn es kein TS-Stream-Sender ist.

 

Timeline

Selbes Verhalten wie "Zur Zeit":

Fehler 1: Schaltet man über die PopUp-Senderliste um, wird der neue Sender im "Timeline"-Fenster nur dann ausgewählt, wenn es kein TS-Stream-Sender ist.

Fehler 2: Schaltet man durch Doppelklick auf Sendername oder EPG-Eintrag im "Timeline"-Fenster um, erfolgt zwar die Umschaltung, der neue Sender im "Zur Zeit"-Fenster wird aber nur dann automatisch ausgewählt, wenn es kein TS-Stream-Sender ist.

 

TV Programm

Selbes Verhalten wie "EPG senderweise": Keine Fehler gefunden.

 

 

Die Zuweisung eines EPG-Eintrags zu einem Stream mache ich mit dem .vbs-Script aus https://github.com/GruberMarkus/DMS-EPG-Update. Das Script stößt ein EPG-Update an, sucht sich dann alle Sender ohne EPG-Einträge und erstellt für diese über das API je einen ganztägigen Eintrag für heute und morgen. Am schnellsten geht es so: Alle Dateien herunterladen, Script starten ("cscript.exe DMS-EPG-Update.vbs /ini:sample.ini", warten bis zur Ausgabe "EPG-Update läuft noch, nächste Überprüfung in 1m.", im DMS-Webinterface das EPG-Update stoppen, auf das Ende des Scripts warten.

 

 

LG,

 

GruberMa

 

Link to comment

Ich komme auf folgende Weise zu anderen Ergebnissen:

 

RTSP-Senderliste im DMS Webinterface -> Links als M3U exportiert -> in den DVBViewer-Senderlisten-Editor per Drag & Drop als TS Stream importiert.

 

EPG senderweise: Kein Problem.

Zur Zeit: Kein Problem, d.h. die von dir geschilderten Fehler sind nicht nachvollziehbar.

Timeline: Wie bei "Zur Zeit".

TV Programm: Der EPG wird nicht angezeigt! Den Fehler habe ich inzwischen behoben.

 

Der DMS stellt in diesem Fall allerdings im Stream den nativen DVB-EPG zur Verfügung, d.h. er sendet die EIT (Event Information Table) mit, wenn man ihn entsprechend in seinen Optionen -> RTSP Server konfiguriert. Das schafft andere Verhältnisse als bei einem importierten EPG.

 

Grundsätzlich ist die EPG <-> Sender-Zuweisung bei TS Stream problematisch, weil viele Internet-Streams die gleiche Service ID und Transportstream ID verwenden. Und eine Network ID gibt es mangels SDT überhaupt nicht. Das sind normalerweise die Elemente, aus denen sich die EPG Sender ID zusammensetzt, über die die Zuweisung erfolgt. Sie stellen eine Art Pfad dar: DVB Netzwerk -> Transportstream -> Service, der laut DVB-Spezifikationen eindeutig sein soll, aber es bei Internet-Streams nicht ist.

 

DVBViewer und DMS greifen deshalb auf die eindeutige URL zurück und generieren daraus intern einen MD5 Hash, der als Basis für eine "künstliche" EPG Sender ID dient. Diese muss normalerweise auch ein importierter EPG verwenden. Wenn der Stream dagegen den nativen EPG enthält, müssen DVBViewer und DMS die "richtige" EPG Sender ID verwenden. Da DVBViewer und DMS schlecht wissen können, welche Art EPG verfügbar ist, bleibt ihnen nur, es zu probieren: Wenn es für die eine EPG Channel ID keine EPG-Daten gibt, wird die andere probiert. Genau daran scheitert bei meinem Versuch die Registerkarte "TV Programm", da sie sich auf die hash-basierte ID beschränkt.

 

Wenn du im DVBViewer-Senderlisten-Editor einen TS Stream-Sender selektierst und Strg+G drückst, kopiert er dir die hash-basierte ID in die Ablage. Bei anderen Empfangsarten dagegen die NID/TID/SID-basierte.

 

Soweit die technischen Grundlagen.

 

1 hour ago, GruberMa said:

Das Script stößt ein EPG-Update an, sucht sich dann alle Sender ohne EPG-Einträge und erstellt für diese über das API je einen ganztägigen Eintrag für heute und morgen.

 

Welchen Sinn soll das haben?

 

Es stellt sich die Frage, welche Art ID das Script bei der Generierung von Einträgen verwendet bzw. wo es sie her hat. Und damit bist du wieder dran.... ich vermute, die erwartete Auto-Selektion bleibt bei dir aus, weil der DVBViewer auf den Registerkarten "Zur Zeit" und "Timeline" die "richtige" EPG Channel ID aus den Senderdaten mit einer künstlichen hash-basierten in den EPG-Daten vergleicht und so keinen Treffer erzielt.

 

Link to comment

Hallo Griga,

 

Das Script ist aus zwei Gründen für mich sinnvoll:

  • Ich möchte, dass das EPG zu meinen typischen Fernsehzeiten bereits aktuell ist und nicht erst aufgebaut/aktualisiert wird, wenn ich einschalte.
  • Zusätzlich schaue ich einige Sender, die kein EPG haben. Diese tauchen dann im EPG-Fenster (Timeline) nicht auf, weshalb das Script für solche Sender Dummy-EPG-Einträge erstellt.


Nehmen wir als Beispiel ORF 1 HD auf Astra 19,2:

 

Das Script holt sich /api/getchannelsxml.html und geht alle Einträge in /channels/root/group/channel durch und holt sich deren EPGID (entspricht der EPGChanellID).
Mit dieser EPGID holt sich das Script die EPG-Daten über /api/epg.html?lvl=2&channel=<EPGID> ab der aktuellen Uhrzeit. Wenn die Anzahl der Einträge in /epg/programme 0 ist, hat der Sender keine EPG-Daten und würde z.B. im Timeline-Reiter des EPG-Fenster nicht auftauchen, daher wird über /cgi-bin/EPGimport für den aktuellen und den morgigen Tag je ein ganztägiger Dummy-EPG-Eintrag erstellt.


Soweit ich das laut API-Dokumentation beurteilen kann, liest das Script alles richtig aus und setzt alles richtig. Ich kann damit die Probleme in den Reitern "Zur Zeit" und "Timeline" konsistent reproduzieren.

 

Wie siehst du das?

 

LG,

 

GruberMa

Link to comment
16 hours ago, GruberMa said:

Das Script holt sich /api/getchannelsxml.html und geht alle Einträge in /channels/root/group/channel durch und holt sich deren EPGID (entspricht der EPGChanellID).

 

Das ist die hash-basierte ID. Dann dürfte die vermutete Ursache zutreffen. Das lässt sich beheben. Der Test, ob der EPG-Eintrag zum im Hauptfenster laufenden Sender gehört, muss dann, falls er vom Typ TS Stream ist, zweimal durchgeführt werden, einmal mit der NID/TID/SID-basierten EPG Sender ID dieses Senders und einmal mit der hash-basierten.

 

Befasst habe ich mich weiterhin mit diesem Thema - vielleicht hast du dazu auch eine Meinung. Beides ist in einer Testversion realisiert - Zustellung per PM.

 

Außerdem habe ich mich an diese Diskussion erinnert und probiert, ob sich die Anzeige von Sendern ohne EPG im DVBViewer ebenfalls mit künstlich erzeugten leeren EPG-Einträgen regeln lässt. Dieser Work-Around führte jedoch zu Problemen, die weitere "unsaubere" Maßnahmen erforderten. Daraufhin habe ich es lieber gelassen.

 

Link to comment

Hallo Griga,

 

Danke für die Testversion!

 

Meine Probleme sind auf den ersten Blick behoben, ich teste auf jeden Fall weiter.
 

Den Thread mit der Suche im EPG-Fenster werde ich mir spätestens morgen ansehen und bei Bedarf direkt im entsprechenden Thread antworten.

 

LG,

 

Markus

Link to comment

Mit dem Reiter "Zur Zeit" stimmt etwas nicht. Es ist schwer zu beschreiben, vor allem finde ich noch keine Logik.

 

"Zur Zeit" scheint zuerst bei einem aktivierten TS-Stream nur EPG-Einträge von TS-Streams anzuzeigen, aber keine von DBV-S2-Sendern. Irgendwann taucht der eine oder andere DVB-S2-Sender auf, übrig bleibt dann aber nur einer. Das Verrückte ist, dass das nicht immer auftritt. Noch verrückter, dass manchmal - aber nicht immer - auch der Reiter "Timeline" "angesteckt" wird, bis man dort auf "jetzt" klickt.

In allen anderen EPG-Fenstern und im Webinterface des DMS sind zu jeder Zeit alle EPG-Einträge korrekt vorhanden.

 

Das Sortieren nach Sender funktioniert bei mir im Reiter "Zur Zeit" nicht.

 

LG,

 

GruberMa

Link to comment
41 minutes ago, GruberMa said:

Das Sortieren nach Sender funktioniert bei mir im Reiter "Zur Zeit" nicht.

 

Erstens ist das beabsichtigt, und zweitens funktioniert es :) Sortiere probeweise nach Dauer und dann wieder nach Sender. Es gibt bei der Senderspalte nur eine gültige (unterstützte) Reihenfolge: Gemäß der Sender- oder Favoritenliste, je nach Filter. Diese Reihenfolge ist für Anwender naheliegender und vertrauter als eine alphabetische.

 

43 minutes ago, GruberMa said:

"Zur Zeit" scheint zuerst bei einem aktivierten TS-Stream nur EPG-Einträge von TS-Streams anzuzeigen, aber keine von DBV-S2-Sendern.

 

Es tritt mit der hier importierten RTSP-Liste nicht auf. Hängt es vielleicht irgendwie mit den importierten Dummy-Einträgen zusammen?

 

Link to comment

P.P.S. Jetzt ist es hier auch passiert. Nach Einschalten eines DVB-S-Senders waren Sender davor auf der Registerkarte "Zur Zeit" plötzlich weg. Wenn ich das EPG-Fenster schließe und wieder öffne, sind sie wieder da. Es scheint nur zu passieren, wenn ich die Sender auf der Registerkarte einschalte, nicht dagegen, wenn ich das Senderlistenfenster verwende.

 

Merkwürdig. Wird untersucht...

Link to comment

P.P.P.S Ich galube, es liegt daran, dass die Testversion beim Anklicken eines Eintrags dessen Anfangszeit in den Zeit-Eingabebereich überträgt. Das gilt natürlich auch für einen Doppelklick zwecks Senderwahl.

 

Danach stellt die Registerkarte "Zur Zeit" die Sendungen dar, die zu dieser Zeit laufen. Und wenn ein Sender für diese Zeit insbesondere vor "Jetzt" keinen EPG-Eintrag hat, verschwindet er natürlich aus der Liste. Nach einem Klick auf "Jetzt" oder einem Schließen und erneuten Öffnen des EPG-Fensters ist er wieder da.

 

Alles klar? Typischer Fall von Selbstverar...ung ....

 

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