Jump to content

EPG-Abruf vom RS Problem / Zuordnung von 2x RS zu 2x Viewer


HaraldL

Recommended Posts

Hallo, habe aktuell zwei Probleme entdeckt bei der Installation mit lokalem RS auf gleichem PC. Und das sowohl auf meinem PC als auch gleichermaßen auf dem meiner Frau wo ebenfalls RS + DVBViewer lokal laufen. Und das nachdem DVBViewer+RS hier jahrelang problemlos liefen und ohne daß hier bewußt was geändert wurde. Und wir haben auch kein Win10 drauf (da hätte es mich weniger gewundert) sondern noch Win7.

 

Problem 1 - EPG-Abruf vom Server:

Nachdem mir in den letzten Tagen schon aufgefallen ist daß das EPG im DVBViewer unvollständig ist (etliche Sender fehlen in der EPG-Timeline, tauchen erst auf wenn man auf den Sender schaltet) wollte ich heute mal "aufräumen", habe DVBViewer und RS beendet, beide EPG.DAT im Konfigurationsverzeichnis gelöscht. Dann den RS neu gestartet und per Web eine EPG-Aktualisierung gestartet und komplett durchlaufen lassen. EPG im RS ist komplett. Nur der DVBViewer holt sich das EPG nicht mehr vom RS, siehe Screenshots vom RS wo alles da ist und vom DVBViewer wo nur Sendergruppen auftauchen auf die ich testweise geschaltet hatte. Auch das Betätigen von "EPG jetzt abrufen" in den Optionen macht scheinbar nichts. Verbinden mit der Aufnahmeliste vom RS und Abspielen von Aufnahme klappt aber problemlos. Also die Verbindung zum RS ist grundsätzlich da, auch der "Verbindung testen"-Button in den Optionen klappt.

 

Habe eine aktuelle Support.zip angehängt. Zuvor den DVBViewer im Debug-Modus gestartet und auch extra nochmal in den Optionen auf der RS-Seite auf "EPG jetzt abrufen" gedrückt und dann den Viewer beendet. Das manuelle Abrufen sehe ich z.B. in der DVBViewer-Log überhaupt nicht, weiß aber auch nicht ob das drin stehen sollte.

 

Dann gleiches am PC meiner Frau (Windows 7 32bit) probiert. Auch hier holt sich der DVBViewer kein EPG mehr von ihrem lokalen RS. Bislang hat das immer geklappt, EPG war immer vollständig. Da ich weder an den Einstellungen der PCs oder DVBViewer bewusst etwas geändert habe hab ich evtl. die letzten Windows-Updates in Verdacht. Hat das noch jemand?

 

Problem 2 - Zuordnung RS (evtl. nur "kosmetisches" Problem):

Da ich wegen dem ersten Problem gerade öfters in die Einstellungen - Optionen - Recording Service reingeschaut habe: Wenn ich in den Optionen mehrmals zwischen der Seite "Recording Service" und einer anderen hin- und herschalte steht manchmal mein lokaler RS (127.0.0.1:8089) drin aber deutlich öfter der meiner Frau (192.168.18.3.8089), ich kann dann aufklappen und in der Liste ist auch mein lokaler. Aber zumindest bleibt, selbst wenn ich OK drücke während der meiner Frau angezeigt wird, in der "setup.xml" trotzdem meiner mit 127.0.0.1 drin und verstellt sich nicht.

 

Ich hatte auch zur besseren Unterscheidung der beiden RS an unserem Smart-TV per DLNA jeweils in der "service.xml" den Servernamen mit unseren Vornamen versehen (z.B. <entry name="servername">DVBViewer PC1 Harald Mediaserver</entry>"). Darum fällt es mir in der Optionsseite vom DVBViewer auch leichter auf weil dann der Vorname meiner Frau im RS-Namen steht.

support.zip

Link to comment
Wenn ich in den Optionen mehrmals zwischen der Seite "Recording Service" und einer anderen hin- und herschalte steht manchmal mein lokaler RS (127.0.0.1:8089) drin aber deutlich öfter der meiner Frau (192.168.18.3.8089)

 

Das ist ein bekanntes und wie bereits richtig erkannt nur ein "kosmetisches" Problem. Die Anzeige hängt von der Reihenfolge der Erkennung ab und spiegelt nicht die tatsächliche Einstellung wider. Im nächsten Release bekommt letztere den Vorrang.

Link to comment

OK danke. Er hat zum Glück ja nicht zum RS meiner Frau gewechselt, ist mir halt jetzt akut bei der Fehlersuche zu Problem1 aufgefallen. Hatte zuerst gedacht der EPG-Abruf klappt nicht weil ich vielleicht am falschen RS bin.

Link to comment

Geht die restliche Kommunikation zwischen DVBViewer und RS?

 

Also Tauchen im Webinterface erstellte timer sofort ohne neustart im DVBViewer OSD auf oder aufnahmen die im RS gelaufen sind während der DVBViewer auch an war?

Link to comment

Ja, alles einwandfrei. Gerade probiert, bei laufendem DVBViewer einen Timer auf der RS-Webseite erstellt, ist danach sofort im Dialog des DVBViewer drin, beim Löschen im RS auch wieder raus. Und auch umgekehrt einen Timer im Viewer erstellt, ist sofort im RS drin. Das ist es ja was mich wundert. Alles klappt einwandfrei außer der EPG-Übertragung, und das quasi zeitgleich bei meinem PC und dem meiner Frau (die ihr Gerät einfach nur benutzt und sicher nicht in den Einstellungen herumspielt).

 

Firewall ist übrigens die normale Windows7-Firewall. Hab auch hier gestern alle RS- und DVBV-Regeln nochmal rausgelöscht, RS und DVBV beide nochmal drüber installiert und dabei die Firewall-Regeln wieder neu anlegen lassen. Und Plugins oder externen EPG-Import etc. hab ich weder im RS noch im DVBV drin.

 

Kann es noch sein daß in den EPG-Daten selber (die ich gestern aber auch mal komplett gelöscht und neu erzeugen ließ) irgendwas drin ist was die Übertragung stoppt oder verhindert? Also daß irgendein Sender "Müll" sendet der das EPG-Laden vom RS abbricht? Hatte bis gestern übrigens im RS die Option aktivert daß die EPG-Suche nur Transponder mit Favoriten scannen soll, hab das aber gestern nach Feststellung des Problems auf Verdacht deaktiviert und nochmal alle Transponder scannen lassen. Wobei ich dabei die EPG-Datei nicht nochmal komplett gelöscht habe, das teste ich nachher wenn eine gerade laufende Aufnahme fertig ist. Bzw. mache eine Kopie der RS-EPG-Datei für alle Fälle falls es doch an den Daten liegt.

Link to comment

Das war mit das Erste was ich gestern probiert hatte, mit "beide EPG.DAT im Konfigurationsverzeichnis gelöscht" im ersten Post meinte ich natürlich die im Ordner selber und die vom RS in .\config. Habe heute nochmal beide gelöscht, den RS nochmal eine komplette EPG-Aktualisierung durchlaufen lassen (über alle Transponder, nicht nur Favoriten) und wieder das gleiche, RS hat volles EPG, der DVBV (dessen EPG.DAT vor dem Start auch nochmal gelöscht) holt sich wieder nichts vom RS sondern zeigt nur das an was er selber ausliest :(

 

Hab auch mal eine epg.dat vom RS gesichert, falls die jemandem zum Testen was bringt kann ich die irgendwo hochladen.

Link to comment

Die Clients rufen die Senderliste vom Server ab (wenn sie nicht in der gleichen Instanz laufen)?

 

Du könntest mal probieren IP:8089/api/epg.html auf dem Client im Webbrowser aufzurufen (kann einen Moment dauern). Und gucken ob der über irgendwelche XML Fehler meckert oder da insgesamt viel zu wenig Daten kommen.

 

Eine wirkliche Idee habe ich Grade nicht. Zum testen braucht man wenn epg.dat und channels.dat.

 

Dass das nicht im log auftaucht ist glaube ich normal. Da wird sehr viel nicht geloggt, wenn alles im log landen würde, könnte das wahrscheinlich vom Wachstum her mit Aufnahme Dateien von HD Sendern mit halten. Und es währe nahezu unmöglich irgendwas zu finden.

 

Das RS log kannst du über das Webinterface > Konfiguriren > UPnP > UPnP Debug Logging dazu bringen sehr viel der anfragen mit zu loggen.

Aber das wird dadurch extrem unübersichtlich und es kann das Webinterface Passwort im log landen. Das sollte also wenn nur gezielt und kurz aktiviert werden.

 

Also RS stoppen svcdebug.log und DVBViewer epg.dat löschen (die vom RS in config sollte schon vorhanden sein). Dann den RS starten das erweiterte logging aktivieren, DVBViewer starten > 30-50 Sek. warten und den RS stoppen.

Dann das log sichern (nach einem RS Neustart ist das erweiterte logging automatisch wieder deaktiviert.)

Link to comment

Wenn der EPG-Abruf stattfindet, sollte es bei Ausführung des DVBViewers im Debug-Modus im DVBViewer.log einen Eintrag mit "TEPGDownloadThread" geben. Das ist nicht der Fall?

 

Im RS wird der Abruf nicht geloggt.

Link to comment

Aaah, der Aufruf im Browser (kannte ich noch nicht) bringt Licht ins Dunkel. Liegt wohl doch an den EPG-Daten selber. Firefox meldet:

 

XML-Verarbeitungsfehler: nicht wohlgeformt
Adresse: http://localhost:8089/api/epg.html
Zeile Nr. 310470, Spalte 134151:

 

[stereo] [deu]</description></programme><programme start="20161023020000" stop="20161023030000" channel="562954321005890"><eventid>9040</eventid><charset>255</charset><title>LITTLE ROSE</title></programme>...

 

und dahinter kommt jede Menge weitere Programmdaten. Hab mal alles was im Browser stand markiert (ist hinten anscheinend einfach abgeschnitten) und als Textdatei angehängt.

 

Jetzt stellt sich mir die Frage, ist es ein einzelner Eintrag der sowieso irgendwann veraltet ist und verschwindet oder ein generelles Problem?

 

NACHTRAG: Tjod, hab dir wie im Folgepost gewünscht einen Link auf die Dateien per PM geschickt.

Edited by HaraldL
Link to comment

Also oben im DVBViewer log gibt es kein TEPGDownloadThread.

So sieht es bei mir im DVBViewer Debug Log aus:

TfrmLoader Status Waiting for Recording Service...
TfrmLoader Status Loading Channel List...
TfrmLoader Status Loading EPG...
TfrmLoader Status Loading Service EPG...
TfrmLoader Status Loading Favourites...
TEPGDownloadThread Execute 200

 

Und bei HaraldL fehlt die

TEPGDownloadThread Execute 200

Zeile einfach, also kein 404 oder so sondern nichts.

 

Also wahrscheinlich läuft da was beim verarbeiten nicht rund.

Stell mir mal hier oder per PM channel.dat und epg.dat zur Verfügung (die xml Geschichte war mehr ein schnelltest das bringt für die Wirklich Analyse glaube ich weniger).

 

Wahrscheinlich verursachen komische EPG Daten das Problem. Das heißt es kann sich auch wieder erledigen. Aber EPG Daten sollten nicht solche Probleme verursachen. Wenn ein Eintrag kaputt ist kann der gerne verschwinden. Aber das gesamt System sollte nicht Hängenbleiben.

Link to comment

Der DVBViewer erzeugt den Log-Eintrag, bevor der Abruf vom RS beginnt. Offenbar kommt die Ausführung bei Harald gar nicht so weit.

 

Laut Code gibt es die folgenden mögliche Ursachen:

  • "Unterstützung für den Recording Service aktivieren" ist ausgeschaltet.
  • Es wird bereits ein Abruf ausgeführt.
  • "EPG vom Service abrufen" ist ausgeschaltet.

Sonst sehe ich da nichts. Was nicht stimmig ist: Dass es so aussieht, als könne man den EPG bei ausgeschalteter Option "EPG vom Service abrufen" manuell holen, obwohl dies nicht funktioniert. Das sehe ich erst jetzt. Da besteht wohl Korrekturbedarf. ;)

Link to comment

"Unterstützung für den Recording Service aktivieren" ist laut support.zip aktiviert genauso wie "EPG vom Service abrufen".

 

Und ein manuell ausgelöster Abruf erzeugt nur den

TEPGDownloadThread Execute 200

Eintrag.

Status Loading Service EPG gibt es nur beim Automatischen Abruf.

 

Und wenn an der Netzwerk Verbindung was nicht stimmt gibt TEPGDownloadThread Eintrag bei mir trotzdem nur mit einem anderen Statuscode.

 

Aber ich kann das Problem hier leider nicht mit der epg.dat und chennel.dat von HaraldL reproduzieren. Ich setze die epg.dat dem RS vor und DVBViewer und RS nutzen die channel.dat.

Aber auch wenn ich keinen Sender davon empfangen kann habe ich im DVBViewer gleich das komplette EPG (bei ein vier ORF Sendern fehlt es, aber das liegt wahrscheinlich daran dass die Dateien etwas älter sind).

 

Der TEPGDownloadThread Execute 200 eintrag taucht etwas später im Startvorgang auf. Was wahrscheinlich an der deutlich größeren epg.dat im Vergleich zu meiner richtigen (DVB-T only) liegt.

Link to comment

Der DVBViewer erzeugt den Log-Eintrag, bevor der Abruf vom RS beginnt. Offenbar kommt die Ausführung bei Harald gar nicht so weit.

 

War wohl schon etwas spät gestern.

 

Erste Korrektur: Der DVBViewer erzeugt den Log-Eintrag nach dem (netzwerktechnischen) Abruf der Daten vom RS, aber vor dem Import in seine eigene EPG-Sammlung. Wenn er bei dem gesamten Vorgang mit einer Exception aus der Kurve fliegt, gibt es einen entsprechenden (weiteren) Eintrag mit "TEPGDownloadThread".

 

Zweite Korrektur: Das Lesen der EPG-Daten in einem Hintergrund-Thread und das Loggen gibt es in der im August veröffentlichten Version 5.6.4 noch gar nicht. Das habe ich erst im September ergänzt (@Tjod: 5.6.4.7) und dann vergessen. Es beschränkt sich also auf interne Versionen.

 

Die 5.6.4 schweigt zu dem Vorgang noch höflich, auch wenn sie mit einem (immerhin abgefangenen) Exception-Fehler aus der Kurve fliegt, was bei einer fehlerhaften XML durchaus sein kann. Das schaue ich mir jetzt mal genauer an...

Link to comment
XML-Verarbeitungsfehler: nicht wohlgeformt

 

Der Fehler entsteht bei dem Versuch von QVC Deutschland, Astra 12552 V, Weihnachtsdekoration zu verscherbeln:

 

Donnerstag, 27.10.2016, 15:00 - 16:00 (01:00)

QVC Deutschland

 

Klassische Weihnachtsdekorationen

 

Haben Sie auch so schöne Kindheitserinnerungen an Weihnachten? Mit den gezeigten traditionellen Weihnachtsdekorationen können Sie sich die nostalgisch-emotionale Note von damals wieder in Ihr Zuhause holen. Im vielfältigen Angebot finden Sie Kr��ze, Kerzen, Spieluhren, Schwibbögen und andere erzgebirgische Holzarbeiten. Im Fokus stehen natürlich die klassischen Weihnachtsfarben Rot, WeiÃ, Grün und Gold.

 

Das stammt aus dem EPG Fenster des DVBViewer Pro. Hier werden gleich zwei Probleme sichtbar. Der Sender benutzt als Zeichenkodierung UTF-8, wie man im TransEdit Analyzer sehen kann. Bei den Kränzen bzw. den zwei Fragezeichen kriegt es QVC nicht richtig auf die Reihe - hier gibt es eine bei UTF-8 ungültige Zeichenkombination, was Firefox bemängelt. Der TransEdit Analyzer bzw. Windows, das vom Analyzer für die UTF-8 -> UTF-16-Konvertierung bemüht wird, kann mit der Stelle überhaupt nichts anfangen und verwirft die Zeichenkette komplett. Der DVBViewer Pro und der RS verwenden eine eigene Umwandlungsroutine, die großzügig über die Stelle hinweggeht.

 

Der nachfolgende Zeichensalat ist eigentlich gültiges UTF-8. Er entsteht, weil sich die Beschreibung wegen der beschränkten Länge von DVB-Deskriptoren auf mehrere solche verteilt (für Experten: Extended Event Deskriptoren in der EIT). Aber nur beim ersten gibt QVC die Zeichenkodierung DVB-gemäß an und erwartet, dass der Receiver sie für die nachfolgenden Textfragmente übernimmt. Das macht der DVBViewer jedoch nicht und stellt deshalb UTF-8 nicht korrekt dar. Ob sich hier QVC vertut oder der DVBViewer, weiß ich nicht - unsere Öffentlich-Rechtlichen geben jedenfalls für jedes Fragment die Zeichenkodierung erneut an.

 

Wie auch immer: Dies ist nicht die Ursache dafür, dass der Download des EPG vom RS scheitert. Ich habe es mit dem RS 1.33.1 und dem DVBViewer Pro 5.6.4 unter Debugger-Überwachung probiert, d.h. den RS den EPG von QVC Deutschland einsammeln und den gesamten Kram zum DVBViewer transferieren lassen. Es war kein Problem festzustellen.

Link to comment

Klappt der Abruf der Senderliste?

 

Also auf dem Server einen Sender hinzufügen oder verschieben (RS neustarten, damit der das übernimmt). Wird das auf nicht lokal laufende Clients übernommen?

Link to comment

Muß ich testen wenn meine Frau zum Einkaufen fährt. Wir verwenden beide den RS nur lokal auf dem jeweils gleichen PC wie den DVBViewer. Da wird eben keine Senderliste abgerufen. Sobald der PC meiner Frau "frei" ist probiere ich es mal "über Kreuz".

 

Hab inzwischen alles mögliche ausprobiert, Windows-Firewall komplett deaktivert, das letzte Windows-Update vom 19.10. (Oktober 2016 - Vorschau des monatlichen Qualitätsrollups für Windows) das ich in Verdacht hatte wieder deinstalliert, RS vom DVBViewer mal über die eigene IP 192.168.xx angesprochen statt über 127.0.0.1 (bei Windows 10 + Edge blockt Microsoft ja auch Localhost-Verbindungen). Aber bisher alles ohne Erfolg.

 

 

NACHTRAG: Konnte es jetzt testen, habe am PC meiner Frau in der Senderliste und in der Favoritenliste Sender umgestellt. Und dann meinen RS beendet und meinen DVBViewer mit dem Wizard auf ihren RS umkonfiguriert. Es wurden die umgestellte Sender- und Favoritenliste erfolgreich abgerufen und meine lokale ersetzt. Das EPG (das im RS meiner Frau auch vollständig ist) wurde aber wieder nicht abgerufen.

 

Hab auch lokal erneut die epg.dat vom RS gelöscht und mit der Einstellung "Nur Transponder mit Favoriten empfangen" wieder aufbauen lassen. Jetzt kommt der XML-Fehler im Browser nicht mehr da ich QVC nicht in den Favoriten habe. Also am kaputten QVC-EPG liegt es tatsächlich nicht.

 

Wundert mich echt warum es hier an zwei PCs passiert und bei anderen Leuten scheinbar nicht. Mir fällt auch nichts ein was sich geändert hätte und habe hier auch nichts "exotisches". Als Virenscanner läuft bei mir Avira Professional (ohne! Webfilter weil der schon Probleme machte) und bei meiner Frau das einfache MSE.

Edited by HaraldL
Link to comment

Ich kann das Problem jetzt nachvollziehen.

 

Ich habe den RS 1.33.1 auf Basis von Haralds Senderliste eine EPG-Aktualisierung durchführen lassen (hätte ich mal gleich machen sollen, anstatt den wirren Zeichen von QVC nachzujagen) und dann versucht, die Daten in den DVBViewer 5.6.4 zu übernehmen. Ergebnis = 0. Der Debugger zeigte jedoch, dass der DVBViewer die Daten ordnungsgemäß empfängt. :blink:

 

Ein Blick auf den Import-Code brachte die Erleuchtung: Der DVBViewer sieht vom RS erhaltene Daten als EPG aus externer Quelle an. Diesen hat Harald jedoch in der Senderliste für alle Sender ausgeschlossen bzw. im Senderlisten-Editor wegkonfiguriert. Woher soll so ein armes Anwenderwürstchen :) auch wissen, was es damit anrichtet?

 

Also ab in den Senderlisten-Editor, Stammordner selektieren, rechts einen Haken bei EPG-Empfang -> Externer EPG, dann einen Klick auf "Einschließen", danach am besten den DVBViewer neu starten und sich über den EPG freuen. :)

Link to comment

:thumbsup: Genau das war es, jetzt importiert er den EPG wieder. Die große Preisfrage am Rande ist halt, warum hat es jahrelang funktioniert und jetzt nicht mehr. Die EPG-Einstellung in der Senderliste habe ich sicher die letzten 3-4 Jahre nicht angefasst.

 

Auf jeden Fall vielen Dank für das Finden der Ursache! Da freut sich auch meine bessere Hälfte daß die Programmvorschau wieder klappt :D

Link to comment
Mir fällt auch nichts ein was sich geändert hätte und habe hier auch nichts "exotisches" (...) Die EPG-Einstellung in der Senderliste habe ich sicher die letzten 3-4 Jahre nicht angefasst.

 

Das sagen sie alle. :)

Link to comment

Tatsache ist jedenfalls, dass es sich bei der Einstellung, die bestimmte EPG-Formen zulässt bzw. ausschließt, um eine Pro-Sender-Einstellung handelt. Sie wird also in der channels.dat für jeden Sender separat gespeichert, und das stellt sich nicht mal eben von alleine für sämtliche Sender auf einen bestimmten Wert um.

 

Harald muss es also irgendwann auf irgendeine Weise herbeigeführt haben, auch wenn es ihm nicht bewusst war. Sowas kann man sich zum Beispiel durch einen Senderlisten-Import einfangen, ohne es mitzukriegen.

Link to comment

Wie geschrieben, ich kann es mir nicht erklären. Ist für mich jetzt auch erledigt da es wieder funktioniert und vor allem der Auslöser gefunden wurde.

 

Vor ein paar Jahren hatte ich mal kurz mit EPG-Import usw. experimentiert aber dann nicht mehr. Seitdem wird nur noch gelegentlich mit TransEdit nach neuen Sendern gescannt und dann Sender in Senderliste und Favoriten verschoben bzw. alte gelöscht. Als technischer Informatiker mit FH-Abschluß und 30jähriger Berufserfahrung als Ein-Mann-EDV-Dienstleister und gelegentlich Software-Entwickler weiß ich meistens schon recht gut was ich da tue ;)

 

Aber egal, Problem gelöst, vielen Dank nochmal für das Finden der Ursache :)

Link to comment
Als technischer Informatiker mit FH-Abschluß und 30jähriger Berufserfahrung als Ein-Mann-EDV-Dienstleister und gelegentlich Software-Entwickler weiß ich meistens schon recht gut was ich da tue

 

Vergiss es. Selbst ich als DVBViewer-Entwickler weiß oft genug nicht, was ich tue. Man nimmt irgendwo eine kleine Korrektur im Code vor oder ändert zu Testzwecken eine harmlose Einstellung, und prompt fällt irgendwo an einem ganz anderen Ende etwas um, wo man nie dran gedacht hätte.

 

Behalte das Phänomen jedenfalls mal im Auge. Irgendeine Ursache muss es geben, und es wäre gut, wenn sie bekannt wäre. Ich hoffe, es ist nicht TransEdit ;)

Link to comment
×
×
  • Create New...