Jump to content

DVBViewerTimerImportTool


Prinz

Recommended Posts

In der Log steht nur das Gleiche drin, wie in dem Melderfenster.

Die dll nicht gefunden.

 

Wenn ich deinen Ordner nehme, passiert garnichts.

Auch wenn ich nur die dll in dem Ordner lasse.

Denn in der xml stehen ja andere IP-Adressen drin, etc.

Link to comment
vor 46 Minuten schrieb Siggi0904:

In der Log steht nur das Gleiche drin, wie in dem Melderfenster.

Die dll nicht gefunden.

 

Wenn ich deinen Ordner nehme, passiert garnichts.

Auch wenn ich nur die dll in dem Ordner lasse.

Denn in der xml stehen ja andere IP-Adressen drin, etc.

 

 

Die TCP/IP-Adresse spielt erst ein Rolle, wenn der Service angesprochen wird. Vorher sollte im autarken Mode zumindest die GUI-Oberfläche des Tools erscheinen, in dem man alles mögliche dann konfigurieren kann und auch die Senderlisten verwalten kann.

 

Im TVBrowser sollte auch die Konfiguration aufrufbar sein, wo man dann die IP-Adressen etc. eingeben kann.

 

Was bei der neuen Version anders ist:

 

Die Möglichkeit im TVBrowser in den Programmlisten eine Aufnahme zu programmieren oder den DVBViewer aufzurufen existiert erst dann, wenn der TVBrowser-Kanal auch dem entsprechenden  DVBViewer-Kanal zugewiesen ist. Das ist gegenüber der alten Version anders, es gab diese DVBViewer-Menüs/Buttons bei jedem Kanal, egal ob dieser einem DVBViewer-Kanal zugewiesen war. Bei fehlender Zuordnung gibt es diese Buttons/Menüs daher nicht. Aber wie gesagt, die Konfiguration sollte aufzurufen sein, enweder im TVBrowser oder eben im autarken Mode.

 

Aber das scheint in Deiner Umgebung alles irgendwie nicht zu funktionieren. Läuft das Tool noch weiter im Hintergrund oder bricht es gleich ab?

 

Ich denke ich setze mal eine VM mit einem nackten Windows, TVBrowser, DVBViewer auf. Du hast nur das Java vom TVBrowser installiert oder noch ein anderes? Wenn man ein anderes noch installiert hat: Es ist mindestens JRE 1.8 (gibt es seit 2014) erforderlich.

 

Viele Grüße

   Stefan

 

Edited by Prinz
Link to comment

Nach Schließen der Fehlermeldung werd entsprechend Taskmanager das Programm beendet.

Ich habe die OpenJDK nur für den TV-Browser in den Ordner kopiert, nicht installiert.

Per Verknüpfung starte ich dann den TV-Browser mit der eigenen OpenJDK.

 

Systemweit nutze ich die akuelle JRE 1.8 von Oracle für andere Programme.

Diese sind nicht mit OpenJDK kompatibel.

 

Ich habe dein Tool auch schon versucht mit der systemweiten Java-Version zu starten, gleicher Fehler.

 

Dank dir.

Link to comment

Hallo Siggi,

 

vor 2 Stunden schrieb Siggi0904:

Nach Schließen der Fehlermeldung werd entsprechend Taskmanager das Programm beendet.

Ich meinte eigentlich den Fall, bei dem manuell das Userverzeichnis erstellt wurde. Kannst Du vielleicht noch mal schauen?

 

vor 2 Stunden schrieb Siggi0904:

Systemweit nutze ich die akuelle JRE 1.8 von Oracle für andere Programme.

 

Ich habe das Tool mit JDK 1.8 entwickelt, daran kann es eigentlich nicht liegen.

 

Ich werde ein jungfräuliches Windows 10 aufsetzen und dann mal JRE und den DVBViewer installieren. Mal sehen ob das mit Sat over Ip dann geht.

 

Viele Grüße

   Stefan

Link to comment

Hallo,

 

ich habe jetzt auf einer VM folgendes ausprobiert:

 

  • Java 1.8 installiert
  • Die das Timerimport-Tool aus GitHub geholt und ausgeführt. Hat ohne Probleme funktioniert. Beschwert sich nur über den fehlende DVBViewer.
  • Nach aktivieren des DVBViewer-Services ist im Tool ist auch diese Meldung beim Start verschwunden.
  • Löschen des TimerImport-Userverzeichnisses
  • Installation TVBrowsers mit Sorglospaket
  • Start TVBrowser
  • Installation des Import-Plugins mit Neustart
  • Plugin lässt sich im TVBrowser konfigurieren
  • Beenden des TVBrowsers
  • Löschen des TimerImport-Userverzeichnisses
  • Starten des TVBrowser, der fehlende DVBViewer wird wieder angemeckert, er legt das Userverzeichnis neu an!
  • Beenden des TVBrowser
  • Kopieren nur der Datei "DVBVTimerImportTool.xml" der Standardinstallation in die VM
  • Start des TVBrowsers
  • Ich kann den DVBViewerService meiner Standardinstallation mit dem TVBrowser der VM programmieren.

Auf der VM-Seite verhält sich das Tool und der TVBrowser wie vorgesehen.

 

Das Rundum-Sorglos-Paket des TVBrwsers hat das OpenJDK in die VM auch gut eingebunden. Der Launcher des TVBrowsers (TVBrowser.exe)  arbeitet offenbar so, dass er Javaw.exe der OpenJDK-version direkt aufruft.

 

Wenn ich ein Jar per Doppelklick aufrufe, wird Oracle JRE 1.8 aufgerufen.

 

Irgendwelche Modifikationen sind also bei dem Rundlum-Sorglos-Paket des TVBrowser nicht notwendig. Wie es bei der Lite-Version aussieht, habe ich nicht ausprobiert, da könnte ich mir mehr Schwierigkeiten vorstellen, da man dann OpenJDK unabhängig vom TVBrowser installiert. Man müsste dann vermutlich auf die JDK1.8 zurückschalten. Wie es dann mit dem TVBrowser-Launcher aussieht, weiß ich nicht.

 

Dass es auf meiner Standard-Installation nach dem Löschen des Tool-Userverzeichnisses nicht klappte, hatte einen anderen Grund. Ich hatte im TVBrowser schon einen neuere Version liegen, in der ein fehlerhaftes XML-File eingebunden war. Das hatte ich nicht gemerkt, da das immer nur dann einen Rolle spielt, wenn das Tool-User-Verzeichnis neu angelegt wird.

 

 

Aus meiner Sicht ist also eigentlich alles in Ordnung, in der virtuellen VM hat sich das Tool wie erwartet verhalten. Aber wie gesagt, ich arbeite dort mit dem Rundlos-Sorglos-Paket ohne irgendwelche Java-Installations-Besonderheiten.

 

Die große Frage ist nun, was ist bei Euch anders als in meiner VM?

 

Erstmal zum autarken Modus:

 

Was zeigt das Java-Control-Panel  bei Euch für einen Installation an?

 

Bei mir ist es in der VM als auch Standard-Installation "1.8.0_261". Damit läuft bei mir das Tool im autarken Mode. Das erkennt man auch im Task-Manager, als Pfad wird "C:\Program Files\Java\jre1.8.0_261\bin" angezeigt.

 

Viele Grüße

   Stefan

 

 

 

Link to comment

Sehr sehr merkwürdig.

 

Im Java Control panel wird mir die Oracle 1.8u261 angezeigt. Hab die 32Bit Version installiert.

 

Hab das alles nun nochmal durchgeführt. Ändert sich nichts.

Bei leerem Config-Verzeichnis kommt die Fehlermeldung.

Wenn ich deine dll und xml,xsd in den config-ordner kopiere erscheint die Meldung "Import started"

Das kann sich aber auf deine IP-Adressen beziehen.

 

lösche ich im config-Verzeichnis die xml und xsd und füge die xml aus der zip Datei "DVBVTimerImportToolSave_unknown.zip" ein kommt folgender Fehler:

2020-09-15 11:54:20  Package error: File "datafiles/DVBViewerTimerImport_x86.dll" not found
2020-09-15 11:54:22  Import terminated with errors

 

 

Bei allen Versuchen erscheint kein Programmfenster und im Taskmanager kann ich auch keine laufende Java Instanz sehen.

 

Bekomm es irgendwie nicht zum laufen.

Edited by Siggi0904
Link to comment
vor 56 Minuten schrieb Siggi0904:

Im Java Control panel wird mir die Oracle 1.8u261 angezeigt. Hab die 32Bit Version installiert.

Oha, Du verwendest noch die 32-Bit-Version.

 

Das dürfte der Grund sein, ich habe die Fehlermeldung nicht genau angesehen, ich hatte nur asDLL geschaut. Im Paket ist die DLL fehlerhaft benannt bzw. es wird ein anderer Name angenommen (je nachdem, wie man es sieht).

 

Ich werde heute Nachmittag eine korrigierte Version erstellen, bei der es auch mit der 32-Bit-version noch laufen sollte.

 

Viele Grüße

  Stefan

Link to comment

Hallo,

 

eine gefixte Version, die jetzt auch unter der 32-Bit-Version von Java funktionieren sollte, ist auf Github unter folgendem Link zu finden:

 

https://github.com/GollmerSt/TimerImportTool/releases/tag/v01.04.02

 

Unter der 32-Bit-Java-Version konnte ich in der VM mit der alten Version auch die obige Fehlermeldung erzeugen.

 

Mit der neuen Version funktioniert es bei der 32-Bit-Version im autarken Modus. Mit dem TVBrowser habe ich es jetzt nicht probiert, da ich dann auch noch ein OpenJDK V11 in der 32 Bit-Version installieren müsste. Habe ich jetzt aus Aufwandsgründen gelassen, der Fehler dürfte jetzt klar sein.

 

Sollte es doch noch Problem mit der 32-Bit-Java-Version im Zusammenhang mit dem TVBrowser geben, bitte melden.

 

Eins ist aber zu beachten, wenn Ihr dann auf die 64-Bit-Version umsteigen wollt, müsst Ihr händisch aus dem Userverzeichnis des Tools die DLL vor dem Start unter 64-Bit-Java löschen. Das Tool erkennt momentan nicht, welche Version dort liegt. Das werde ich in der nächsten Version ändern. Aktuell ist daher auch kein Mischbetrieb möglich (64 Bit für den Browser, 32 Bit autark). Das Tool benennt beim Kopieren dummerweise die Datei um, so dass man nicht erkennen kann, welche DLL dort aktuell liegt. Löschen reicht, dann holt er sich die Version. Das war nicht gut überlegt, das werde ich ändern.

 

Viele Grüße

   Stefan

Link to comment

Ich habe mir mal v01.04.02 heruntergeladen.

Wie auch zuvor weder alleine noch im TV-Browser kommt ein Fenster mit Einstellungsmöglichkeiten.

In der Log steht:

Zitat

2020-09-15 19:22:59  Import started
2020-09-15 19:23:00  Throws on loadSettings, Message: C:\Users\maxedl\AppData\Roaming\DVBViewerTimerImport\DVBViewerTimerImport.dll: Can't find dependent libraries
2020-09-15 19:23:04  Import started
2020-09-15 19:25:17  Throws on DVBVSettingsTab.createSettingsPanel, Message: Could not initialize class dvbviewertimerimport.DVBViewer.DVBViewerCOM

Im TV-Browser kommt nach wie vor nur diese Fehlermeldung:

Zitat

Beim Laden der Einstellungen für DVBViewer-Import-Plugin ist ein Fehler aufgetreten.

----- Start of stacktrace -----
java.lang.NullPointerException
  at java.desktop/java.awt.Container.addImpl(Container.java:1117)
  at java.desktop/java.awt.Container.add(Container.java:997)
  at tvbrowser/tvbrowser.ui.settings.ConfigPluginSettingsTab.updatePluginPanel(ConfigPluginSettingsTab.java:114)
  at tvbrowser/tvbrowser.ui.settings.ConfigPluginSettingsTab.createSettingsPanel(ConfigPluginSettingsTab.java:87)
  at tvbrowser/tvbrowser.ui.settings.SettingsDialog$SettingNode.getSettingsPanel(SettingsDialog.java:708)
  at tvbrowser/tvbrowser.ui.settings.SettingsDialog.showSettingsPanelForNode(SettingsDialog.java:529)
  at tvbrowser/tvbrowser.ui.settings.SettingsDialog.showSettingsPanelForSelectedNode(SettingsDialog.java:578)
  at tvbrowser/tvbrowser.ui.settings.SettingsDialog$2.valueChanged(SettingsDialog.java:170)
  at java.desktop/javax.swing.JTree.fireValueChanged(JTree.java:2967)
  at java.desktop/javax.swing.JTree$TreeSelectionRedirector.valueChanged(JTree.java:3456)
  at java.desktop/javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(DefaultTreeSelectionModel.java:641)
  at java.desktop/javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(DefaultTreeSelectionModel.java:1111)
  at java.desktop/javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(DefaultTreeSelectionModel.java:297)
  at java.desktop/javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(DefaultTreeSelectionModel.java:191)
  at java.desktop/javax.swing.JTree.setSelectionPath(JTree.java:1656)
  at tvbrowser/util.ui.SingleAndDoubleClickTreeUI.mousePressed(SingleAndDoubleClickTreeUI.java:148)
  at java.desktop/java.awt.Component.processMouseEvent(Component.java:6632)
  at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
  at java.desktop/java.awt.Component.processEvent(Component.java:6400)
  at java.desktop/java.awt.Container.processEvent(Container.java:2263)
  at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
  at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
  at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
  at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
  at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4544)
  at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
  at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
  at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
  at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
  at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
  at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
  at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
  at java.base/java.security.AccessController.doPrivileged(Native Method)
  at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
  at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
  at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
  at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
  at java.base/java.security.AccessController.doPrivileged(Native Method)
  at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
  at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
  at tvbrowser/util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:55)
  at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
  at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
  at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117)
  at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
  at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
  at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
  at java.base/java.security.AccessController.doPrivileged(Native Method)
  at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
  at java.desktop/java.awt.Dialog.show(Dialog.java:1070)
  at java.desktop/java.awt.Component.show(Component.java:1716)
  at java.desktop/java.awt.Component.setVisible(Component.java:1663)
  at java.desktop/java.awt.Window.setVisible(Window.java:1031)
  at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1005)
  at tvbrowser/tvbrowser.ui.settings.SettingsDialog.centerAndShow(SettingsDialog.java:332)
  at tvbrowser/tvbrowser.ui.mainframe.MainFrame.lambda$showSettingsDialog$22(MainFrame.java:2682)
  at tvbrowser/util.ui.UIThreadRunner.invokeAndWait(UIThreadRunner.java:33)
  at tvbrowser/tvbrowser.ui.mainframe.MainFrame.showSettingsDialog(MainFrame.java:2670)
  at tvbrowser/tvbrowser.ui.mainframe.MainFrame.showSettingsDialog(MainFrame.java:2655)
  at tvbrowser/tvbrowser.ui.mainframe.actions.TVBrowserActions$15.actionPerformed(TVBrowserActions.java:236)
  at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
  at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
  at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
  at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
  at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369)
  at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1020)
  at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1064)
  at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
  at java.desktop/java.awt.Component.processMouseEvent(Component.java:6635)
  at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
  at java.desktop/java.awt.Component.processEvent(Component.java:6400)
  at java.desktop/java.awt.Container.processEvent(Container.java:2263)
  at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
  at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
  at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
  at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
  at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
  at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
  at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
  at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
  at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
  at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
  at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
  at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
  at java.base/java.security.AccessController.doPrivileged(Native Method)
  at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
  at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
  at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
  at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
  at java.base/java.security.AccessController.doPrivileged(Native Method)
  at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
  at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
  at tvbrowser/util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:55)
  at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
  at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
  at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
  at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
  at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
  at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
----- End of stacktrace -----

 

Link to comment

 

vor 37 Minuten schrieb maxedl:

2020-09-15 19:23:00  Throws on loadSettings, Message: C:\Users\maxedl\AppData\Roaming\DVBViewerTimerImport\DVBViewerTimerImport.dll: Can't find dependent libraries

 

Das dürfte jetzt einen andere Meldung sein, als die mit der alten Version. Offenbar hat er schon die DLL-Version gefunden, aber er findet angeblich nicht die abhängigen Librarys. Das ist etwas seltsam, denn soweit ich in Erinnerung habe, nutzt die DLL library keinen weiteren Libraies denen des Betriebssystems selber.

 

Was benötigt wird, ist soweit ich noch weiß die Ole32.dll von Windows. Die sollte im Pfad "C:\Windows\System32" liegen. Die gehört eigentlich zur Standardinstallation von Window.

 

Wichtig ist natürlich, dass die Environment-Variable PATH den Pfad "C:\Windows\System32" auch enthält, das gehört  eigentlich ebenfalls zum Standard. Ich denke, wenn die nicht enthalten wären, gäbe es noch mit anderen Prügrammen Probleme.

 

Benutzt Du die 32-Bit-Version von Java oder die 64erund welches Betriebssystem nutzt Du?

 

Viele Grüße

  Stefan

Link to comment

Bei mir in Windows 10 aus dem Jahr 2018 ist die Ole32.dll im System32 Ordner drinnen.
Upgradeversuche auf Windows 10 2004 bleiben immer bei 48 Prozent hängen und werden automatisch rückgängig gemacht.
Auch wenn ich versuche den aktuellen Chipsatztreiber von Intel zu installieren friert der PC ein.
(Da der PC ansonsten sehr gut läuft bleibt dieser erst mal wie er seit 2018 ist.)

Das Java bei mir besteht nur aus der OpenJDK Version 11.0.8 aus dem TV-Browser Ordner.
Ob die javaw.exe dort im java-bin-Ordner eine 32 oder die 64 Bit Version ist, weiß ich jetzt nicht.

Link to comment
vor 28 Minuten schrieb maxedl:

Upgradeversuche auf Windows 10 2004 bleiben immer bei 48 Prozent hängen und werden automatisch rückgängig gemacht.

 

Das sieht nicht so gut aus.

 

Wenn Du das Java aus dem TVBrowser verwendest, arbeitetst Du mit der 64-Bit-Version.


Das ganze ist etwas historisch gewachsen und wenn ich in den Code reinsehe, kommt mir etwas das Grausen. Da ist alles viel zu stark ineienander verwoben, keine saubere Trennung vom DVBViewer, vom Service. Das gleiche gilt auch für das GUI, keine Spur von MVC. Ich werde auf längere Sicht hier das alles besser trennen, da ich TVHeadend damit auch steuern will. Es wird also eine Version 2 geben, das dauert aber noch etwas.

 

 

Ursprünglich hatte ich nur den DVBViewer drin, dann kam die Erweiterung mit dem Service. Aktuell wird daher immer auf der Windows-Umgebung versucht die DLL zu sarten, das ist eigentlich etwas dumm, weil man die DLL nur noch selten benötigt.

 

 

Ich bereite gerade folgendes als Zwischenschritt vor der V2 vor:

 

Das Laden der DLL benötigt man nur, wenn man den DVBViewer Recording Service nicht benutzt oder den DVBViewer direkt aus dem TVBrowser starten will.

 

Ich erstelle jetzt noch eine Version, wo zwar das Starten der DLL versucht wird, aber - falls es nicht klappt - dann eben nur noch mit dem Service gearbeitet wird, Ein direkter DVBViewer-Start aus dem TVBrowser ist dann nicht möglich.

 

Würde Dir das helfen?

 

Viele Grüße

  Stefan

 

Edited by Prinz
Link to comment

Hallo,

 

ich habe jetzt eine Version 1.04.03 auf GitHub bereit gestellt.

 

In dieser habe ich die Sache mit der DLL nochmals überarbeitet (und habe dabei an dieser Stelle den Code schon etwas aufgeräumt) und zwar:

  • Der DLL-Name wird nicht mehr umbenannt, die Versionsart (32- oder 64-Bit) bleibt erhalten, so dass zwischen Java-Versionen von 32 oder 64-Bit hin und her-geswitcht werden kann.
  • Sollten trotzdem Probleme mit der DLL auftreten, startet trotzdem das Tool nur ohne DVBViewer-Unterstützung. Der Recording-Service bleibt weiter unterstützt.

 

Die neue Version findet ihr hier:

 

https://github.com/GollmerSt/TimerImportTool/releases/tag/v01.04.03

 

Viele Grüße

   Stefan

Edited by Prinz
Link to comment

Jetzt funktioniert es im TV-Browser und es findet den DVBViewer.

 

Wenn jetzt noch jemand das DVBViewer EPG Import Plugin DVBViewerDataService.jar

reparieren könnte wäre ich wunschlos Glücklich.

Seit einem Update des DVBViewer vor längerer Zeit kann es keine EPG-Daten vom DVBViewer zum TV-Browser importieren.

Link to comment

Sorry für die späte Antwort, ich war ein paar Tage im Tropical Island.

 

Ich hab es nun auch getestet, alles läuft wieder super.

Großen Dank.

 

Und ja, @maxedl hat Recht, der Datenservice zum DVBViewer EPG wäre sehr toll, wenn das wieder laufen würde.

Hier ist ein Java Entwickler nötig. Auf der TVBrowser Seite kann man gern ds10 im TVBrowser Forum anschreiben.

 

Danke.

Link to comment

Hallo,

 

Danke für die Rückmeldungen, dass es jetzt klappt.

 

Zum Datenservice:

Ich könnte mir das schon mal anschauen, aber dazu hätte ich ein paar Fragen:

 

  • Welchen Vorteil hat der EPG-Import gegnüber den normalen Quellen? Habt Ihr Sender, welche nicht den normalen TVBrowser-Daten sind? Oder sind die EPG-Daten umfangreicher?
  • Soweit ich es verstanden habe, geht der EPG-Importer über die API des DVBViewers, setzt also einen laufenden DVBWiewer voraus. Habe ich das richtig erkannt oder gibt/gab es dort auch die Möglichkeit über den Recording-Service die EPG-Daten zu holen?

Weshalb ich frage: Ich bin an das Tool mal wieder ran gegangen, weil ich TVHeadend anbinden will. Den DVBViewer verwende ich auf meinen Windows-System immer noch, habe ihn an TVHeadend über Sat over IP angehängt. Sonst benutze ich Kodi. Wie ich schon schrieb, ist die Struktur des TimerImportTools noch nicht so schön, das werde ich etwas stärker umbauen.

 

Sowohl TVHeadend als auch der Recording-Service erlaubt es , EPG-Daten per API zu holen. Sinn würde aus meiner Sicht daher mehr machen, Dienste anzusprechen, welche immer im Hintergrund laufen und man sich dort jederzeit die EPG-Daten holen kann (sprich vom Recording-Service oder TVHeadend).

 

Ich überlege daher, den EPG-DatenService in das Timerimport-Tool zu integrieren.  Das nutzt Schnittstellen schon teilweise, auch ist die Kanalzuordnung zwischen TVBrowser und der DVBViewer-Welt dort schon gelöst. Alles wäre in einer Hand.

 

Wie würdet Ihr das sehen?

 

Viele Grüße

   Stefan

Link to comment

Hallo Stefan,

 

deine Ideen klingen spannend.

 

Den DVBViewer Datenservice im TV-Browser hatte ich immer genutzt, da gerade bei den privaten Sendern viel mehr Infos dabei waren. Auch wurden kurzfristige Infos so direkt in den TV-Browser übernommen. Hinzu kommt, dass die Start-Termine auch über den DVBViewer genauer waren. Zusätzlich war so das Umschalten des Senders im DVBViewer möglich ohne über entsprechende andere Plugins im TV-Browser zu gehen.

 

Und ja, du hattest Recht, der TVBrowser DVBViewer Datenservice liest per COM-Schnittstelle die Daten aus dem DVBViewer und nicht um Recording Service. Das gab es früher noch nicht, also den Service.

Ich glaube, dass es auch nicht auf die API zugreift, bin mir da aber nicht sicher.

 

Wenn dein Tool das mit können soll, muss es sich ja als Plugin und als Datenservice im TV-Browser melden.

Alles aus einem Tool hätte natürlich viele Vorteile. Das muss dann auch gepflegt werden, sonst würden wir wieder die Verbindung verlieren. Ich habe bisher nur den DVBViewer standalone installiert, da der PC für den Recording Service zu selten an ist.

 

Deine Anbindung DVBViewer-TVHeadend interessiert mich sehr.

Meine neue Glotze hat keine PVR-Funktion wodurch ich mir eine Aufnahmefunktion überlegen muss.

Mein Kodi läuft auf einem BeelinkGT Gerät, was aber selbst kein SAT-Eingang hat.

Als Sender im Kodi habe ich erstmal die freien Sender aus der Join-App genommen.

Aber ich müsste dann ja den DVBViewer auf einem Server installieren, das eine Aufnahme bei ausgeschaltetem PC funktioniert. Da ich als Server eine Synology betreibe, wäre dies nicht möglich.

 

Danke im Voraus.

Link to comment

Hallo Siggi,

 

vor 5 Stunden schrieb Siggi0904:

Auch wurden kurzfristige Infos so direkt in den TV-Browser übernommen.

 

Was aktuell mein Tool auch noch nicht kann, das ist "Start/Stop durch EPG-Status", was beim TVHeadend "acurate Recording" heißt. Das funktioniert bei den öffentlichen sehr gut. Diese Möglichkeit werden ich auch Sender-abhängig einbauen (entsprechend den Sender-abhängigen Vor- und Nachlaufzeiten).

 

vor 4 Stunden schrieb Siggi0904:

Wenn dein Tool das mit können soll, muss es sich ja als Plugin und als Datenservice im TV-Browser melden.

Das sollte eigentlich nicht alzu schwer sein. Ich muss mir das mal ansehen.

 

vor 5 Stunden schrieb Siggi0904:

Ich habe bisher nur den DVBViewer standalone installiert, da der PC für den Recording Service zu selten an ist.

 

Hast Du dann an Deinem PC auch eine TV-Karte/Stick? Der Vorteil des DVBServices/TVHeadend ist ja der, dass die Katrten alle zentral im Haus/Wohnung sein können. Wenn man den benötigt, könnte man diesen PC auch mit WOL aufwecken, was das Tool (soweit ich es noch in Erinnerung habe) auch prinzipiell unterstützt.

 

Interessanter wäre es natürlich, wenn der Service auf dem zentralen Datenserver laufen würde.

 

Für jemanden, der einen Windows-Server nutzt, wäre der Recording-Server als Lieferant vermutlich die erste Wahl. Für einen Linux-basierten (wie bei mir) leider nicht, das würde nur mit einer VM dann gehen. Für Synology-basierte Server gibt es - soweit ich weiß - auch  entsprechende Pakete für das  TVHeadend. Aber dann geht es nur mittels TV-USB-Sticks odern man nutzt Netzwerk-TV-Tuner.

 

Ich selber habe mir einen Debian-Server zusammengestellt mit 5 8TByte-Festplatten mit ZFS und raidz2 (2 redundante HDs). Darin habe ich die DigitalDevices-Karten verbaut. Was mich momentan beim TVHeadend etwas stört, mit der Weiterentwicklung sieht es momentan mau aus. Für den Kodi gibt es einen TVHeadend-Plugin (wie auch ein DVBRecodingService).

 

vor 5 Stunden schrieb Siggi0904:

Deine Anbindung DVBViewer-TVHeadend interessiert mich sehr.

 

Da ist eigentlich nicht viel dabei, weil der Tvheadend sowohl ein Client als auch ein Server für Sat over IP sein kann.

 

Ich hatte mich beim Einrichten an folgende Anleitung gehalten:

 

https://blog.nubecula.org/index.php/2018/10/26/satip-tvheadend-als-client-server/

 

Der DVBViewer sieht dann im Netzwerk diesen Server und man kann sich damit ohne Probleme verbinden, wobei ich nur mit Kabel-TV Erfahrung habe.

 

Viele Grüße

   Stefan

 

 

Link to comment

Da bin ich schwer dran interessiert, dass der Datenservice wiederkommt.

Wenn dann dadurch so gar noch neue Funktionen hinzukommen, wäre doch super.

 

Beim Thema TVHeadend hätte das für mich zur Folge, dass die TV-Karte aus dem PC ausziehen müsste und in ein NUC oder so wandern müsste. Dann das ganze als Server aufbauen. Sicher wäre dann das ganze Haus betroffen.

 

Muss ich mir mal was überlegen.

 

Danke.

Link to comment

Hallo Siggi,

 

NUCs und deren Ableger sind eine schöne Sache, klein und überall unterzubringen und auch sparsam. Nur zum Daten ablegen und Karten reinsteckeneigenen sie sich leider nicht.

 

Ich habe die Umstellung 2016 gemacht, alle Daten auf einen zentralen Server und auch dort die TV-Karten untergebracht, sonst nur noch NUCs und ein Surface. Damals war noch ein Gernerationswechsel angesagt und da habe ich das einfach zentralisiert.

 

Ich habe vor, das Tool so zu erweitern, das alles geht, sprich DVBViewer/Service als Daten/Aufnahmequelle, wie auch das TVHeadend. Die EPG-Daten sollten ja prinzipiell immer die gleichen sein, die sind ja vom Sender vorgegeben, nur die Schnittstellen sind andere, beim DVBViewer über COM, ohne über xml-Dateien, beim Service über http und beim TVHeadend über Htsp. Wenn man das etwas geschickt anstellt, ist der Mehraufwand für die verschiednenen Dienste relativ niedirig. Aber da muss ich auch das Tool weiter aufräumen, ein Ansatz dazu hat es aber auch schon jetzt, den der bietet ja auch schon die Aufnahmeprogrammierung für den DVBViwer und Service an bzw. patcht die Datei timers.xml, wenn weder der DVBViewer nicht läuft und der Service nicht integriert ist.

 

Wann es soweit ist, kann ich aber noch nicht sagen, musste aktuell an einem anderen Projekt noch etwas ergänzen, dadurch ist das Tool 1-2 Wochen liegen geblieben.

 

Ich habe auf meinen Windows-Systemen nach wie vor den DVBViewer für Live TV im Einsatz.

 

Wie das dann in 2 Jahren wird, wenn die 10 Jahre vorbei sind, über die die Grundverschlüsselung aufgehoben wurde. Mal sehen. dafür wäre dann TVHeadnend schlecht gerüstet.

 

Vielel Grüße

   Stefan

Link to comment
  • 3 months later...
  • 3 weeks later...

Hallo Siggi0904,

 

hatte hier schon länger nicht reingesehen.

 

Ich bin leider zu dem Thema eine längere Zeit nicht gekommen, leider hatte anderes bisher Vorrang.

 

Das DVBViewerImport-Tool ist in seinen Strukturen einfach zu sehr an den DVBViewer/Service gekoppelt,  daher habe ich mich auch entschlossen, das Tool großteils neu zu programmieren.

 

Ich bin nach wie vor dran, weil mir das Thema auch unter den Fingern brennt. Immer wenn ich Aufnahmen über das TVHeadend programmiere, ärgere ich mich, dass ich immer noch nicht weiter gekommen bin.

 

Viele Grüße

   Stefan

Link to comment
  • 1 year later...

Gibt es noch eine Möglichkeit den TV-Brower zur Zusammenarbeit mit einem Plugin (z.B. DVBViewerTimerImport), oder eine andere Zeitschriftm mit DVB zu überreden? Ich Kriege es nicht hin. 

 

Das Ganze ist unter Windows 11

 

Wenn ich eine Sendung über TV-Browser aufnehmen möchte, kommt die Meldung:

"ProvessHandler DLL konnte nicht initialisiert werden"

Unter Details steht:
 

Spoiler


ProcessHandler DLL konnte nicht initialisiert werden

----- Start of stacktrace -----
java.io.IOException: Error while loading processhandler DLL
  at dvbplugin.DVBViewer.ProcessHandler.<init>(ProcessHandler.java:200)
  at dvbplugin.DVBViewer.ProcessHandler.initProcessHandler(ProcessHandler.java:176)
  at dvbplugin.DVBViewer.ProcessHandler.isDVBViewerActive(ProcessHandler.java:104)
  at dvbplugin.FastAddRemove.add(FastAddRemove.java:139)
  at dvbplugin.DVBPlugin$FastAddAction.actionPerformed(DVBPlugin.java:600)
  at tvbrowser/tvbrowser.core.plugin.ActionProxy.actionPerformed(ActionProxy.java:83)
  at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
  at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
  at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
  at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
  at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369)
  at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1020)
  at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1064)
  at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
  at java.desktop/java.awt.Component.processMouseEvent(Component.java:6635)
  at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
  at java.desktop/java.awt.Component.processEvent(Component.java:6400)
  at java.desktop/java.awt.Container.processEvent(Container.java:2263)
  at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
  at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
  at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
  at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
  at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
  at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
  at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
  at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
  at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
  at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
  at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
  at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
  at java.base/java.security.AccessController.doPrivileged(Native Method)
  at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
  at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
  at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
  at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
  at java.base/java.security.AccessController.doPrivileged(Native Method)
  at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
  at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
  at tvbrowser/util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:55)
  at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
  at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
  at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
  at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
  at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
  at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.UnsatisfiedLinkError: C:\Users\diedr\AppData\Roaming\TV-Browser\4.2.3\DVBViewer\CProcessHandler12.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
  at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
  at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442)
  at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498)
  at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
  at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2627)
  at java.base/java.lang.Runtime.load0(Runtime.java:768)
  at java.base/java.lang.System.load(System.java:1837)
  at dvbplugin.DVBViewer.ProcessHandler.<init>(ProcessHandler.java:197)
  ... 44 more


Caused by:
java.lang.UnsatisfiedLinkError: C:\Users\diedr\AppData\Roaming\TV-Browser\4.2.3\DVBViewer\CProcessHandler12.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
  at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
  at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442)
  at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498)
  at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
  at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2627)
  at java.base/java.lang.Runtime.load0(Runtime.java:768)
  at java.base/java.lang.System.load(System.java:1837)
  at dvbplugin.DVBViewer.ProcessHandler.<init>(ProcessHandler.java:197)
  at dvbplugin.DVBViewer.ProcessHandler.initProcessHandler(ProcessHandler.java:176)
  at dvbplugin.DVBViewer.ProcessHandler.isDVBViewerActive(ProcessHandler.java:104)
  at dvbplugin.FastAddRemove.add(FastAddRemove.java:139)
  at dvbplugin.DVBPlugin$FastAddAction.actionPerformed(DVBPlugin.java:600)
  at tvbrowser/tvbrowser.core.plugin.ActionProxy.actionPerformed(ActionProxy.java:83)
  at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
  at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
  at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
  at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
  at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369)
  at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1020)
  at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1064)
  at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
  at java.desktop/java.awt.Component.processMouseEvent(Component.java:6635)
  at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
  at java.desktop/java.awt.Component.processEvent(Component.java:6400)
  at java.desktop/java.awt.Container.processEvent(Container.java:2263)
  at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
  at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
  at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
  at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
  at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
  at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
  at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
  at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
  at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
  at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
  at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
  at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
  at java.base/java.security.AccessController.doPrivileged(Native Method)
  at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
  at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
  at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
  at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
  at java.base/java.security.AccessController.doPrivileged(Native Method)
  at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
  at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
  at tvbrowser/util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:55)
  at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
  at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
  at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
  at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
  at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
  at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
----- End of stacktrace -----


 

Wäre für eine Info oder Anleitung dankbar.

 

Wenn Kosten entstehen würde, würde ich mich beteiligen.

 

Das Ganze ist unter Windows 11

Edited by Griga
Spoler Tags ergänzt
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...