Jump to content

Media Server Dienst friert vollständig ein wenn Hintergrund-EPG-Update über SAT>IP-Gerät fehlschlägt


klangraum23

Recommended Posts

klangraum23

Hallo,

 

seit neuestem habe ich meine mit DVB Media Server betriebene Empängerlandschaft erweitert und nutze nun einen DVB-T2 USB-Stick und einen externen SAT>IP-Router. Das funktioniert im Prinzip großartig, bis auf ein gelegentlich auftretendes vollständiges Einfrieren des Media Server Dienstes, wenn der SAT>IP-Router ausgeschaltet ist. Nach Blick ins Server-Log habe ich nun ein zuverlässiges Repro-Szenario erstellen können:

 

  1. DVB Media Server für die Verwendung eines SAT>IP-Routers (und einem anderen lokalen Empfangsgerät) einrichten.
  2. SAT>IP-Gerät ausschalten oder vom Netzwerk trennen.
  3. Ein Programm des lokalen Empfangsgeräts im Browser wiedergeben (Transkodierte Streams -> Im Browser wiedergeben)
  4. In der Media Server Web-Oberfläche unter Aufgaben "EPG-Aktualisierung starten" anklicken
  5. Der Service reagiert nicht mehr. Die Web-Oberfäche reagiert nicht mehr, der laufende HTTP-Stream bricht ab und der Dienst kann nicht mehr heruntergefahren werden. Der Prozess kann nur noch im Task Manager beendet werden.

 

Einfach nicht auf den Link klicken, wenn das SAP>IP-Gerät nicht eingeschaltet ist, ist leider keine Lösung, da das Problem auch auftritt, wenn der Media Server von sich aus versucht, die EPG-Daten zu aktualisieren. Aufnahmen sind in dieser Konstellation nicht mehr zuverlässig zu realisieren. Darüberhinaus habe ich den Eindruck, dass laufende HTTP-Streams abgebrochen werden, wenn weitere Hintergrundoperationen (z. B. das Öffnen eines zweiten HTTP-Streams oder eben das EPG-Update) gestartet werden - vielleicht gibt es da einen Zusammenhang.

 

Ich wollte eigentlich noch ein Dump-File des Dienstes im eingefrorenen Zustand mitschicken, das ist mit 42 MB aber leider zu groß. Bei Bedarf stelle ich die Datei gerne über einen anderen Kanal zur Verfügung. Bei Rückfragen stehe ich gerne zur Verfügung.

 

Jürgen

support.zip

Link to post

Ich vermute, der DMS friert nicht wirklich ein (zumindest nicht bei den momentanen Temperaturen). Der tut nur so :) Wenn du lange genug warten würdest, wäre er vielleicht wieder ansprechbar.

 

Wahrscheinlich sind es recht viele Sender/Frequenzen, die du über den Sat>IP-Server empfängst. Ursache dürfte sein, dass der EPG-Updater immer wieder versucht, über das virtuelle RTSP-Gerät eine Frequenz einzustellen und immer wieder etwa vier Sekunden auf eine Antwort des Servers wartet. Und das ohne Pause. Man kann das schön am Ende des svcdebug.log sehen. Während der Wartezeit ist der DMS nicht reaktionsfähig bzw. kann nichts anderes erledigen. Nur eine Aufnahme würde wahrscheinlich ungestört weiterlaufen.

 

Was passieren müsste: Wenn der EPG-Updater einmal festgestellt hat, dass der Sat>IP-Server nicht erreichbar ist, müsste er sofort aufgeben und das dazugehörige RTSP-Gerät während des Durchlaufs nicht mehr verwenden. Das würde den DMS nur 4 Sekunden lang aus dem Verkehr ziehen.

 

Ich werde die Situation mal nachstellen und schauen, ob sich dafür eine Lösung findet. Falls ja, brauche ich dich als Tester. Also bitte hier gelegentlich vorbeischauen.

 

Übrigens sehe ich bei dir noch ein anderes Problem, ein Relikt eines früheren Bugs in der Hardware-Erkennung. Stoppe den DMS, öffne die Datei config\svchardware.xml im Konfigurationsordner mit einem Texteditor und werfe die beiden Zeilen

 

<entry name="LowBandWidth">1</entry>

 

raus. Sonst kannst du pro DVB-T2-Tuner nur jeweils einen TV-Sender gleichzeitig empfangen, oder anders gesagt, brauchst du z.B. für das Erste und arte unnötigerweise beide Tuner, obwohl die Sender über die selbe Frequenz übertragen werden.

 

Link to post

P.S. Entschärfen kann man die Situation eventuell, indem man DMSTweaker.bat im Installationsordner startet und den Haken bei "Automatische RTSP Server IP:Port-Ermittlung" entfernt.

 

Nachdem er festgestellt hat, dass der Sat>IP Server nicht erreichbar ist, versucht der DMS sonst nämlich bei jeder Frequenz erneut, ihn im Netz wiederzufinden, unter der Annahme, dass sich vielleicht die IP-Adresse oder der Port geändert hat. Das zieht sich dann zusätzlich 5 Sekunden hin.

 

Link to post
klangraum23

Vielen Dank für die schnelle Antwort und auch vielen Dank für den LowBandWidth-Hinweis, die Einschränkung ist mir bislang gar nicht aufgefallen.

 

Zum eigentlichen Problem:  Ich habe die "Automatische RTSP Server IP:Port-Ermittlung" deaktiviert und das Problem nochmal provoziert. Es tatsächlich so wie vermutet, der Dienst reagiert nur vorrübergehend nicht, wobei "vorrübergehend" jetzt immer noch ca. 5 Minuten bedeutet.

 

Der Lösungsansatz der Vermeidung der weiteren Anfragen an das RTSP-Gerät erscheint mir plausibel und es wäre sicher kein Problem, wenn das Web-Interface des DMS alle 12 Stunden für 4 bzw. 9 Sekunden nicht erreichbar wäre. Ich fürchte nur, dass das noch nicht die ganze Lösung ist, denn es brechen ja auch während dessen laufende HTTP-Streams ab. Warum muss der DMS denn komplett blockieren, während im Hintergrund ein Web-Zugriff gemacht wird? Es müsste intern doch nur der Zugriff auf die EPG-Datenhaltung synchronisiert werden, nicht aber der gesamte Zugriff auf die Hardware. Und beim HTTP-Streaming verstehe ich es erst recht nicht, aber ich bin auch nicht unbedingt ein Experte für Echtzeitdatenverarbeitung. :-)

 

Wenn es etwas zu testen gibt, kann ich das gerne hier in meiner Umgebung ausprobieren.

Link to post
klangraum23

Entschuldige, ich wollte Dir nicht zu nahe treten, war nur laut gedacht. Mir ist klar, dass die Dinge von innen betrachtet ein vielfaches komplizierter sind als es manchmal von außen erscheint.

Link to post

 

15 hours ago, klangraum23 said:

Es tatsächlich so wie vermutet, der Dienst reagiert nur vorrübergehend nicht, wobei "vorrübergehend" jetzt immer noch ca. 5 Minuten bedeutet.

 

Eine weitere mögliche Maßnahme ist die Verringerung des Verbindungs-Timeouts für das RTSP-Gerät. Es steht in der (svc)hardware.xml als ConnectionTimeout (standardmäßig 2000 Millisekunden). Effektiv wird die doppelte Zeit verwendet. Dass man in einem Heimnetzwerk 4000 ms auf eine Serverantwort warten muss, halte ich für zweifelhaft. Eine Halbierung des Wertes in der (svc)hardware.xml auf 1000 (effektiv 2000) sollte es auch tun. Im DVBViewer GE und TransEdit verwende ich standardmäßig den halbierten Wert und habe noch nie von einem Problem damit gehört.

 

Weiterhin ist es bei EPG Updates eine gute Idee, alle Sender, die einem wichtig sind, auf dem Server-PC in die DVBViewer-Favoritenliste zu packen und dann in den DMS-Optionen oder im Webinterface einen Haken bei "EPG Update -> Nur Transponder mit Favoriten" zu setzen. Das spart insbesondere bei Sat-Empfang eine Menge Ausführungszeit und Speicher. Zu beachten ist, dass der DMS Sender und Favoriten erst nach einem Neustart übernimmt und wenn sie zuvor im DVBViewer gespeichert wurden (oder der DVBViewer beendet wurde).

 

Damit könntest du unter eine Minute kommen. :) Aber immer noch unschön. Deshalb habe ich die oben angedachte Maßnahme umgesetzt: Der EPG Updater verwendet jetzt virtuelle und sonstige Geräte, bei denen die Initialisierung scheitert, während einer Update-Session nicht mehr.

 

Ein ähnliches Problem ist mir beim Recorder aufgefallen. Der versucht auch wiederholt, Aufnahmen zu starten, falls das nicht klappt. Da die Wiederholungen timergesteuert stattfinden und nicht in einer "engen" Schleife, reagiert der DMS dann noch, wenn auch ziemlich lahm. Ich habe jetzt dafür gesorgt, dass nur einmal pro Minute versucht wird, das betreffende Gerät wiederzubeleben.

 

Für einen Test siehe PM.

 

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.

  • Similar Content

    • SchauAN
      By SchauAN
      In der Hoffnung, dass ich es hier veröffentlichen darf, hier mein Weg, wie ich EPG bei Internet-Streams bekomme.
      Viele Angaben sind anpass- oder verbesserbar, ohne die Funkion einzuschränken. Mir reicht, dass es klappt.

      Der DVBViewer muss installiert sein und laufen.
      EPG-Buddy gibt's hier, XEPG hier.
      EPG-Buddy installieren. Es kann von Windows-Defender als Virus behandelt werden und muss dann explizit in den Einstellungen unter Viren- & Bedrohungsschutz erlaubt werden.
      XEPG installieren. Bei mir wehrte sich Windows gegen die Installation, im blauen Fenster auf mehr Information, dann kann man es installieren.
      Das Verzeichnis c:\ProgramData\Xepg\ muss vorhanden sein. Hier werden die von EPG-Buddy gesammelten Daten gespeichert und von XEPG gesucht. Es wird automatisch bei der Installation von XEPG erzeugt. Getestet mit EPG-Buddy 0.6.0.6 und XEPG 0.7.4.2. Das Forum zu EPG-Buddy ist hier zu ereichen. Dort gibt es auch eine tiefer gehende Anleitung mit Bildern.
      Änderungen an der von EPG Buddy genutzen EPG-Quelle TVSpielfilm kann dazu führen, dass plötzlich das EPG nicht mehr vollständig ist. Vor kurzer Zeit fehlten einige Dritte Programme und wenige Tage später gab es einen Workaround dafür.
      Ich nutze die Automatisierungsmöglichkeiten von EPG Buddy nicht, sondern automatisiere mit XEPG und dem Windows Aufgabenplaner.
       
      EPG-Buddy starten und im Tab Settings TVDB metadata language auf de und GUI Language auf deutsch umstellen, rechts unten You need to restart EPG-Buddy to activate changes. Restart now? Yes klicken.

       
      Tab TV Datenbank: auf manuell [default]

       
      Tab Zeitplaner alle Wochentage und Für Download wecken abkreuzen. Hier kann man zum Test EPG jetzt laden klicken. Das hilft auch, wenn man es mal eben zwischendurch aktualisieren möchte.
      Damit eine Senderliste angezeigt wird, auf EPG jetzt laden? Los Gehts

       
      Tab Einstellungen: Bei XML - Einstellungen Ordner den Pfad c:\ProgramData\Xepg\ angeben. In diesem Ordner erwartet XEPG die EPG-Daten.
      Tab Einstellungen: und rechts unten Jetzt neu starten? Ja.


      Tab EPG Daten: auf Datenbank Modus und jetzt das Mapping und Konfiguration ausführen. Die gewünschten Sender in der Liste anklicken und rechts den korrespondierenden Namen des Senders im DVBViewer eintragen. Alle nicht benötigten Sender bei Wie viele Tage grabben? auf null stellen, die gewünschten auf 14 Tage. Mehr geht nicht - leider. Je mehr Sender, desto länger dauert das Grabben. Bei mir 3:10 gesamte Liste, 17 Sekunden nur für die ör-Sender.


      Zum Test Tab Zeitplaner und EPG jetzt laden. Im Ordner c:\ProgramData\Xepg\ muss jetzt die TVGuide_1.xml mit aktuellem Zeitstempel stehen. Die kann anschließend von XEPG verarbeitet werden.
       
      XEPG
      DVBViewer schließen, XEPG starten:
      0) Zum Pfad vom DVBViewer navigieren C:\Program Files (x86)\DVBViewer\DVBViewer.exe, Execute angeben und ok.


      1) Add here und bei XMLTV TV Data file den im EPG-Buddy angegebenen Namen der Daten angeben, also TVGuide_1.xml. Grabber executable/URL: zu C:\Program Files (x86)\EPG-Buddy\Grab-EPG.exe navigieren. Format Language File und Extra Genre Search Language auf Deutsch.xml stellen.

       


      2) Channel Pairing ausführen: links XMLTV Channels und rechts DVBViewer Channels jeweils den gleichen Sender einstellen und das paaren bestätigen. Am Ende Apply und Exit.


      3) Options folgende Angaben:
      General: Import XMLTV EPG Into DVBViewer
      DVBViewer On Xepg End Action do: Always close DVBViewer
      Install bei DVBViewer.exe Parameters: -c eingeben. Damit startet der DVBViewer ohne Bild/Ton für den Datenimport.


      4) Test Import macht genau das und als Ergebnis zeigt der DVBViewer das EPG an.
       
      Damit das alles automatisch im Hintergrund abläuft, jetzt noch im Aufgabenplaner von Windows die entsprechende Aufgabe einrichten. Aufgabenplaner öffnen, rechts außen Aufgabe erstellen.
      Allgemein:
          Name XEPG (ist wie der Beschreibungstext beliebig)
          Mit höchsten Privilegien ausführen (weil sonst keine Schreibrechte für die EPG-Daten im Verzeichnis des DVBViewer existieren)


      Trigger: Täglich, Start 06:00 Uhr, Aufgabe verzögern für maximal 5 Minuten

       


      Aktionen: Bearbeiten

       
      Aktion: Programm starten
      Programm/Script: "C:\Programm Files (x86)\Xepg\Xepg.exe"
      Argumente hinzufügen (optional): -xGrabThenImport


      Bedingungen: Beenden, wenn Computer in den Akubetrieb wechselt (habe ich NICHT angekreuzt)
      Alle anderen Angaben bleiben voreingestellt. Viele Angaben können den eigenen Bedürfnissen angepasst werden.

       
      Einstellungen: Aufgabe so schnell wie möglich nach einem verpassten Start ausführen und Falls Aufgabe scheitert, neu starten alle 30 Minuten
      Alle anderen Angaben bleiben voreingestellt. Viele Angaben können den eigenen Bedürfnissen angepasst werden.

       
      Geschafft!
       
      Manueller Betrieb:
      EPG-Buddy: Tab Zeitplaner EPG jetzt laden? Los geht's klicken erstellt die TVGuide_1.xml.
      XEPG: Die erstellte c:\ProgramData\Xepg\TVGuide_1.xml mit Test Import in den DVBViewer übertragen, der dafür laufen muss.
       
      Hoffentlich sind keine Fehler enthalten…
      Danke an Christian für die Möglichkeit, mehr Bilder zu speichern und Griga für das Pinnen.
       
       
    • wald7
      By wald7
      Die Senderliste kann in Pro komplett aufgerufen werden,
      doch kann ich - auch nach Einspielung  der Fixes -
      für DBViewer Pro alleine und mit Media-Server kein EPG zu erhalten.
      Der Internetdownload im Mediaserver über die EPG-Suche
      zeitg ein endloses Loading. --> Nach Aktualisierung(Fix)
      AMD Radeon(TM) R5 M430
      Telestar digibit r1
      Windows 10 home aktualisiert
      support.zip
    • breakiboy
      By breakiboy
      Hallo zusammen,
       
      Ist es möglich den record button also die Funktionalität zu verbergen mit einem command wie z.B
      http://172.30.110.26:8089/timeline.html?aktion=timeline&showrecordbutton=false 
       
      ich möchte eine EPG Liste darstellen und die recordfunktion möchte ich nicht dabei haben, da es sich nur um epg view handelt. Gibt es da schon was? alternative wäre selber was zu machen mittels
      http://172.30.110.26:8089/api/epg.html export aber 
      1. will das rad nicht neu erfinden
      2. euer view sieht echt nice aus und würde es gerne auch selber gebrauchen.
       
      Freundliche Grüsse aus der Schweiz
       
       
    • SchauAN
      By SchauAN
      Ich suche nach einer Möglichkeit, EPG oder Ähnliches auch bei Streams aus dem Internet im DVBV GE zu haben. 
      AKtuell nutze ich unter Android MT-Cast von Sofalabor.de als Zusatzinfo, das bei Internetstreams eine Programminfo rudimentär angezeigen kann.
      Gibt es eine Lösung hierfür?
    • Matthias Grimmeisen
      By Matthias Grimmeisen
      Hallo,
       
      nachdem ich nach langer Zeit ein Aktualisierung durchgeführt und die DVBViewer Pro-Version 6.1.5.0 installiert habe, sind in den Aufnahmedaten (TS-Format) leider nicht mehr die EPG-Informationen (Folgenname, Sendungsbeschreibung etc.) enthalten. Diese waren in der bisher von mir genutzen Version (leider weiß ich nicht mehr, welche dies war) enthalten und wurden in den Eigenschaften der Datei abgelegt bzw. im Explorer-Fenster angezeigt (sh. auch Screenshot im Anhang..
       
      Zwar ist es möglich, zusätzlich eine Textdatei mit diesen Infos anzulegen, doch dann muss ich diese Textdatei immer zusammen mit der Aufnahme verschieben/kopieren/ablegen, was insgesamt deutlich weniger komfortabel und übersichtlich ist.
       
      Gibt es daher eine Einstellung-Möglichkeit (die ich übersehen habe), um die EPG-Infos wieder direkt in der Aufnahmedatei einzubinden? Falls ja, wäre ich über Tipps7Hinweise dankbar!
       
      Gruß,
       
      Matthias

×
×
  • Create New...