Liebe TVB-Gemeinschaft,
heute konnte ich einem Problem mit dem Plugin "Aufnahmesteuerung" (CapturePlugin) auf den Grund gehen, dass mir am Wochenende auffiel.
Fehler: Aufnahmesteuerung konnte keine Timer-Daten mehr von der Enigma2-Box (Vu+ Ultimo 4K mit VTI-Image) laden. (Das Anlegen von Timern im TVB funktionierte, und auch die Senderliste konnte von der Box ohne Fehlermeldung gelesen werden - die grundsätzliche Kommunikation funktionierte also.)
TV-Browser 4.2.7 (amd64)
CapturePlugin.jar 3.2.3.5
Java 11.0.20 (OpenJDK 64-Bit Server VM Eclipse Adoptium / vom TVB installiert)
Windows 10 22H2 x64 (Build 19045.4412)
Im Log fand ich folgendes (mehrmals, d.h. der Timerimport wurde wiederholt versucht):
10:49:40 WARNUNG: <?xml version="1.0" encoding="UTF-8"?>
<e2timerlist>
<e2timer>
<e2servicereference>1:0:19:CBF2:2710:F001:FFFF0000:0:0:0:</e2servicereference>
<e2servicename>DMF HD</e2servicename>
<e2eit>1106</e2eit>
<e2name>Liebesgrüße aus der Lederhose</e2name>
<e2description>Liebesgrüße aus der Lederhose / Sexkomödie, Deutschland 1972</e2description>
<e2descriptionextended>Folge 7, Darsteller: Peter Hamm, Elfi Pertramer, Franz Mucender. Fridolins Ehe scheitert. Nun lässt er seiner Lust freien Lauf!
Fridolin hat große Beziehungsprobleme. Er hat den dringenden Verdacht, dass seine Frau ihn mit einem anderen Mann betrügt. Nur so kann er sich erklären, dass er schon seit längerer Zeit keinen Sex mehr hat. Als er auch noch einen Brief bekommt, in dem seine Frau ihm mitteilt, dass sie sich von ihm trennen will, beschließt er, die Dinge nun selbst in die Hand zu nehmen. Zusammen mit einem Freund schmiedet er einen Plan, wie er seine Lüste befriedigen und gleichzeitig die Nochehefrau eifersüchtig machen kann.</e2descriptionextended>
<e2disabled>0</e2disabled>
<e2timebegin>1719351900</e2timebegin>
<e2timeend>1719352200</e2timeend>
<e2duration>300</e2duration>
<e2startprepare>1719351880</e2startprepare>
<e2justplay>0</e2justplay>
<e2afterevent>3</e2afterevent>
<e2location>None</e2location>
<e2tags></e2tags>
<e2logentries>[(1719151168, 15, 'record time changed, start prepare is now: Tue Jun 25 23:44:40 2024'), (1719177019, 0, "Filename calculated as: '/media/hdd/movie/20240625 2345 - DMF HD - Liebesgr\xc3\xbc\xc3\x9fe aus der Lederhose'")]</e2logentries>
<e2filename>/media/hdd/movie/20240625 2345 - DMF HD - Liebesgrüße aus der Lederhose</e2filename>
<e2backoff>0</e2backoff>
<e2nextactivation></e2nextactivation>
<e2firsttryprepare>True</e2firsttryprepare>
<e2state>0</e2state>
<e2repeated>0</e2repeated>
<e2dontsave>0</e2dontsave>
<e2cancled>False</e2cancled>
<e2toggledisabled>1</e2toggledisabled>
<e2toggledisabledimg>off</e2toggledisabledimg>
<e2alwayszap>-1</e2alwayszap>
</e2timer>
</e2timerlist>
10:49:41 [b]WARNUNG: SAXException
org.xml.sax.SAXParseException; lineNumber: 474; columnNumber: 99; [u]Ungültiges XML-Zeichen (Unicode: 0x1a)[/u] wurde im Elementcontent des Dokuments gefunden.[/b]
at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204)
at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:178)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1465)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2838)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)
at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:324)
at captureplugin.drivers.dreambox.connector.cs.E2TimerHelper$1.run(E2TimerHelper.java:331)
Ähnliche "Invalid XML character (Unicode: 0x1a)"-Java-Exceptions finden sich auch in anderen Kontexten im Netz.
Ich habe dann nach und nach meine Timer auf der Box entfernt, und konnte eine bestimmte programmierte Sendung als "Übeltäter" ausfindig machen, die tatsächlich ein (nicht darstellbares) Steuercode-Zeichen mit dem [b]Hexcode 0x1A[/b] mitten im EPG-Text [b](Provider: Vodafone Kabel / Netz Großraum München)[/b] enthielt. Wahrscheinlich sollte dort eigentlich ein Apostroph im Text stehen, aber die EPG-Daten des Senders (DMF, vorher "Deutsches Musik Fernsehen") sind vermutlich fehlerhaft.... (tz tz tz)
Zur Info - es geht um diese Sendung, die morgen Abend ausgestrahlt werden soll - falls es jemand reproduzieren möchte:
Dienstag 25.06.2024 (morgen) - 23:15-00:55 Uhr - Sender: DMF HD
"Liebesgrüße aus der Lederhose" (Folge 7)
Hier nochmal der Auszug aus dem EPG-Text (direkt per Copy&Paste eingefügt, also inklusive des Steuerzeichens) wie oben im Log zu sehen:
"Folge 7, Darsteller: Peter Hamm, Elfi Pertramer, Franz Mucender. [b]Fridolins Ehe[/b] scheitert. Nun lässt er seiner Lust freien Lauf!"
Das 0x1a-Steuerzeichen befindet zwischen dem "n" und dem "s" in "Fridoli[b]ns[/b] Ehe" (die Forensoftware kann das im Post offenbar nicht "sichtbar" darstellen).
Da solche EPG-Datenfehler theoretisch immer wieder mal auftreten können - besteht grundsätzlich die Möglichkeit, solche "falschen Bytes" in den Timer-Daten seitens des Plugins (oder seitens des TV-Browser) abzufangen bzw. zu ignorieren?
Danke im Voraus!
Gruß,
tvcaster
Aufnahmesteuerung (CapturePlugin) - SAXException-Fehler
Re: Aufnahmesteuerung (CapturePlugin) - SAXException-Fehler
Ich sehe das nicht als Bug. Wenn die Codierung nicht korrekt ist, dann ist es folgerichtig, dass die Daten nicht gelesen werden können. Ich kann das aber auch nicht testen, da ich keine passende Hardware habe, daher wäre es auch schwierig einen Workaround zu programmieren.
Ich nehme an die Daten kommen als ein Stream von der Box und der bricht halt ab, wenn ein Fehler im Stream ist. Daher wüsste ich nicht, wie man eine Sendung ignorieren könnte.
Die Ursache müsste beseitigt werden und da wäre die Software der Box gefragt. Das wäre auch wesentlich sinnvoller, als wenn alle anderen Programme die auf die Box zugreifen Workarounds einbauen.
Ich nehme an die Daten kommen als ein Stream von der Box und der bricht halt ab, wenn ein Fehler im Stream ist. Daher wüsste ich nicht, wie man eine Sendung ignorieren könnte.
Die Ursache müsste beseitigt werden und da wäre die Software der Box gefragt. Das wäre auch wesentlich sinnvoller, als wenn alle anderen Programme die auf die Box zugreifen Workarounds einbauen.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Unterstütze die Weiterentwicklung von TV-Browser
Re: Aufnahmesteuerung (CapturePlugin) - SAXException-Fehler
Hello again,
da bin ich wieder - diesmal mit Benutzerkonto ( ) und mit einem erneuten Java-SAXException-Fehler des Aufnahmesteuerung-Plugins auf meiner Enigma2-Linux-Box (VU+ mit VTI-Image, ist technisch mit Dreambox & Co. vergleichbar), wodurch das CapturePlugin die Aufnahmedaten nicht mehr anzeigen kann und leer bleibt.
"Auslöser" diesmal: Zwei "WWE Rivals"-Sendungen auf ProSieben MAXX HD) am kommenden Samstag (04. August) um 20.15 Uhr und um 21.10 Uhr.
Die EPG-Texte dieser Sendungen enthalten wieder nicht-darstellbare Sonderzeichen (Hex-Unicode erneut 0x1A). Und sobald diese Sendungen auf der Enigma2-Box programmiert sind, bricht das Plugin die Datenübertragung ab und kann dann auch keine Programmierungen im TV-Browser anzeigen, d.h. die Aufnahmeliste im Plugin ist komplett leer.
Mein Provider: Vodafone Kabel (ehemals Kabel Deutschland) in Südbayern (keine Ahnung, ob das Regionalnetz eine Rolle spielt oder ob die EPG-Daten im gesamten Vodafone-Kabelnetz und für alle Kabel-TV-Tarifoptionen und Receivertypen einheitlich sind)
Für das Plugin ist es unerheblich, wo die EPG-Sonderzeichen herkommen (Sender, Kabelnetz-Provider, EPG-Datenanbieter), letztlich kommen sie ja beim Endgerät trotzdem so an.
Aber vielleicht kann ja jemand anderes mit einem Enigma2-Receiver, Aufnahmesteuerung-Plugin und Vodafone-Kabel-TV (idealerweise in (Süd-)Bayern) das Problem reproduzieren?
(einfach die o.g. "WWE Rivals"-Sendungen programmieren und TV-Browser neustarten, damit das CapturePlugin die Aufnahmen von der Box lädt)
Vielleicht hilft das ja schon mal weiter
Ach ja, hier noch der aktuellste Log-Auszug mit den EPG-Daten - die störenden Sonderzeichen sind jeweils im Abschnitt <e2descriptionextended> enthalten - leider filtert die Forensoftware sie heraus, aber in der angehängten Text-Datei sind sie als solche "erkennbar"):
Im TV-Browser enthalten die EPG-Texte dieser Sendungen an denselben Stellen ebenfalls nicht-darstellbare Sonderzeichen - allerdings mit Hex-Unicode "C2 A4" statt "1A") - das sollte jeder TVB-User (unabhängig von Receiver und Provider) nachvollziehen können
Danke im Voraus und schöne Grüße,
tvcaster
da bin ich wieder - diesmal mit Benutzerkonto ( ) und mit einem erneuten Java-SAXException-Fehler des Aufnahmesteuerung-Plugins auf meiner Enigma2-Linux-Box (VU+ mit VTI-Image, ist technisch mit Dreambox & Co. vergleichbar), wodurch das CapturePlugin die Aufnahmedaten nicht mehr anzeigen kann und leer bleibt.
"Auslöser" diesmal: Zwei "WWE Rivals"-Sendungen auf ProSieben MAXX HD) am kommenden Samstag (04. August) um 20.15 Uhr und um 21.10 Uhr.
Die EPG-Texte dieser Sendungen enthalten wieder nicht-darstellbare Sonderzeichen (Hex-Unicode erneut 0x1A). Und sobald diese Sendungen auf der Enigma2-Box programmiert sind, bricht das Plugin die Datenübertragung ab und kann dann auch keine Programmierungen im TV-Browser anzeigen, d.h. die Aufnahmeliste im Plugin ist komplett leer.
Mein Provider: Vodafone Kabel (ehemals Kabel Deutschland) in Südbayern (keine Ahnung, ob das Regionalnetz eine Rolle spielt oder ob die EPG-Daten im gesamten Vodafone-Kabelnetz und für alle Kabel-TV-Tarifoptionen und Receivertypen einheitlich sind)
Für das Plugin ist es unerheblich, wo die EPG-Sonderzeichen herkommen (Sender, Kabelnetz-Provider, EPG-Datenanbieter), letztlich kommen sie ja beim Endgerät trotzdem so an.
Aber vielleicht kann ja jemand anderes mit einem Enigma2-Receiver, Aufnahmesteuerung-Plugin und Vodafone-Kabel-TV (idealerweise in (Süd-)Bayern) das Problem reproduzieren?
(einfach die o.g. "WWE Rivals"-Sendungen programmieren und TV-Browser neustarten, damit das CapturePlugin die Aufnahmen von der Box lädt)
Vielleicht hilft das ja schon mal weiter
Ach ja, hier noch der aktuellste Log-Auszug mit den EPG-Daten - die störenden Sonderzeichen sind jeweils im Abschnitt <e2descriptionextended> enthalten - leider filtert die Forensoftware sie heraus, aber in der angehängten Text-Datei sind sie als solche "erkennbar"):
Im TV-Browser enthalten die EPG-Texte dieser Sendungen an denselben Stellen ebenfalls nicht-darstellbare Sonderzeichen - allerdings mit Hex-Unicode "C2 A4" statt "1A") - das sollte jeder TVB-User (unabhängig von Receiver und Provider) nachvollziehen können
Code: Alles auswählen
Auszug aus "tvbrowser.log" (Plugin "Aufnahmesteuerung" (CapturePlugin.jar, Version 3.2.3.5)):
=============================================================================================
<e2timer>
<e2servicereference>1:0:19:C37E:2724:F001:FFFF0000:0:0:0:</e2servicereference>
<e2servicename>ProSieben MAXX HD</e2servicename>
<e2eit>1360</e2eit>
<e2name>WWE Rivals</e2name>
<e2description>"Stone Cold" Steve Austin vs. Shawn Michaels
Doku-Reihe, USA 2023
Altersfreigabe: ab 12</e2description>
<e2descriptionextended>Freddie Prinze jr. und weitere WWE-Experten befassen sich mit der RivalitÃt zwischen "Stone Cold" Steve Austin und Shawn Michaels. Die beiden Wrestler zÃhlen in den spÃten 90er-Jahren zu den beliebtesten Bösewichten und liefern sich spektakulÃre Matches im Ring.
Regie: Matt Braine</e2descriptionextended>
<e2disabled>0</e2disabled>
<e2timebegin>1722708540</e2timebegin>
<e2timeend>1722712440</e2timeend>
<e2duration>3900</e2duration>
<e2startprepare>1722708520</e2startprepare>
<e2justplay>0</e2justplay>
<e2afterevent>3</e2afterevent>
<e2location>None</e2location>
<e2tags></e2tags>
<e2logentries>[(1722243502, 15, 'record time changed, start prepare is now: Sat Aug 3 20:14:02 2024'), (1722243508, 15, 'record time changed, start prepare is now: Sat Aug 3 20:08:40 2024'), (1722247476, 0, "Filename calculated as: '/media/hdd/movie/20240803 2009 - ProSieben MAXX HD - WWE Rivals'")]</e2logentries>
<e2filename>/media/hdd/movie/20240803 2009 - ProSieben MAXX HD - WWE Rivals</e2filename>
<e2backoff>0</e2backoff>
<e2nextactivation></e2nextactivation>
<e2firsttryprepare>True</e2firsttryprepare>
<e2state>0</e2state>
<e2repeated>0</e2repeated>
<e2dontsave>0</e2dontsave>
<e2cancled>False</e2cancled>
<e2toggledisabled>1</e2toggledisabled>
<e2toggledisabledimg>off</e2toggledisabledimg>
<e2alwayszap>-1</e2alwayszap>
</e2timer>
<e2timer>
<e2servicereference>1:0:19:C37E:2724:F001:FFFF0000:0:0:0:</e2servicereference>
<e2servicename>ProSieben MAXX HD</e2servicename>
<e2eit>1361</e2eit>
<e2name>WWE Rivals</e2name>
<e2description>Hulk Hogan vs. Andre the Giant
Doku-Reihe, USA 2023
Altersfreigabe: ab 12</e2description>
<e2descriptionextended>Die Fehde zwischen Hulk Hogan und Andre the Giant kulminiert 1987 in einem spektakulÃren Kampf bei WrestleMania III. Das Event ist der damalige Höhepunkt der Sportart und macht die Athleten zu popkulturellen Superstars. Freddie Prinze jr. spricht mit Booker T, Natalya, D-Von Dudley und John Bradshaw Layfield Ãber die legendÃre RivalitÃt.
Regie: Jason Teiken</e2descriptionextended>
<e2disabled>0</e2disabled>
<e2timebegin>1722712740</e2timebegin>
<e2timeend>1722713040</e2timeend>
<e2duration>300</e2duration>
<e2startprepare>1722712720</e2startprepare>
<e2justplay>0</e2justplay>
<e2afterevent>3</e2afterevent>
<e2location>None</e2location>
<e2tags></e2tags>
<e2logentries>[(1722243509, 15, 'record time changed, start prepare is now: Sat Aug 3 21:09:16 2024'), (1722243532, 15, 'record time changed, start prepare is now: Sat Aug 3 21:18:40 2024'), (1722247476, 0, "Filename calculated as: '/media/hdd/movie/20240803 2119 - ProSieben MAXX HD - WWE Rivals'")]</e2logentries>
<e2filename>/media/hdd/movie/20240803 2119 - ProSieben MAXX HD - WWE Rivals</e2filename>
<e2backoff>0</e2backoff>
<e2nextactivation></e2nextactivation>
<e2firsttryprepare>True</e2firsttryprepare>
<e2state>0</e2state>
<e2repeated>0</e2repeated>
<e2dontsave>0</e2dontsave>
<e2cancled>False</e2cancled>
<e2toggledisabled>1</e2toggledisabled>
<e2toggledisabledimg>off</e2toggledisabledimg>
<e2alwayszap>-1</e2alwayszap>
</e2timer>
</e2timerlist>
12:19:08 WARNUNG: SAXException
org.xml.sax.SAXParseException; lineNumber: 1671; columnNumber: 100; Ungültiges XML-Zeichen (Unicode: 0x1a) wurde im Elementcontent des Dokuments gefunden.
at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204)
at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:178)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1465)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2838)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)
at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:324)
at captureplugin.drivers.dreambox.connector.cs.E2TimerHelper$1.run(E2TimerHelper.java:331)
12:19:08 INFORMATION: [vuultimo4k] GET timerlist - 1174 ms
tvcaster
- Dateianhänge
-
- WWE Rivals (Sa 03.08.2024 - 20.15-21.10 & 21.10-22.05 Uhr - ProSieben MAXX HD) - Invalide XML-Zeichen (Unicode 0x1A) im EPG-Text.txt
- (6.72 KiB) 70-mal heruntergeladen