VDR mit IPTV blockiert bei Aufnahme 2 IPTV Tuner und gibt nur einen wieder frei

  • Hallo @ all


    ich betreibe einen VDR Server 2.4 mit dem IPTV Plugin Headless und bei der Suche nach der Ursache von Bildstörungen ist mir aufgefallen das mein VDR Server teilweise bei Aufnahmen noch einen weiteren Tuner belegt und diesen auch erst wieder freigibt wenn man den VDR Server beendet. Ich denke das ich das Problem mit den Bildstörungen gelöst habe und dieses Problem damit nicht zusammen hängt. Ich verwende auf meinem Server das suspendoutput so das normalerweise nach einer Aufnahme vom VDR kein Tuner mehr verwendet wird. In der Fritz Box ist mir in der Statistik aber aufgefallen das dies nicht immer klappt und teilweise noch Bandbreite benutzt wird. Außerdem ist mir aufgefallen das man unter "netstat -su" ab auftreten des Fehlers die "packet receive errors" bzw. "receive buffer errors" hochzählen.


    Mein VDR Server 2.4 ist selbst kompiliert. Testweise habe ich auf einem anderem System mal einen minimaleren VDR 2.4 Server von Tobi installiert und konnte den Fehler dort auch ohne suspendoutput nachstellen. Der Fehler tritt nicht generell auf so das ich schon einiges getestet habe. Es ist egal ob ich den Timer über das Live Plugin setzte oder er von epgsearch gesetzt wird. Allerdings tritt der Fehler nicht bei Aufnahmen auf die sofort starten sondern vor allem bei Aufnahmen die etwas weiter in der Zukunft liegen. Ich habe bereits den epgscan und die Funktion mit der sich der VDR mit anderen VDR syncronisiert, deaktiviert.


    Jemand eine Idee voran das liegen könnte und wie man das verhindern kann ? Dadurch wird von meinem DSL Anschluss unnötig Bandbreite belegt.



    Vielen Dank schon einmal im Voraus


    Gruß dile :)

  • Hier der Start des VDR Test Servers


  • Bei der ersten Aufnahme gibt es das Problem nicht. Bei der zweiten Aufnahme sieht man aber das 51 Sekunden vor dem eigentlichen Timer noch ein zweiter Kanal belegt wird. Dieser bleibt auch solange belegt und verursacht das Problem bis ich den VDR beende.



    Code
    1. Aug 10 10:47:09 jupiter vdr[28944]: [28944] switching device 4 to channel 6 I-1-98-1 (VOX)
    2. Aug 10 10:48:00 jupiter vdr[28944]: [28944] switching device 3 to channel 6 I-1-98-1 (VOX)
    3. Aug 10 10:48:00 jupiter vdr[28944]: [28944] timer 1 (6 1048-1105 'vox nachrichten') start
  • Ich hab mir gerade mal die Änderungen angesehen, da ist keine Code-Änderung drin, die letzte 2016.


    vdr-User-# 755 to_h264 chk_r vdr-transcoding

  • Ich habe auf beiden Systemen die vdr-iptv-2.4.0 vom 15.04.2018. Ich kann auch gar nicht sagen ob der Fehler nicht bereits auch mit älteren VDR/IPTV Version auftrat.


    Meint Ihr das ist ein Problem am IPTV Plugin ? Ich kann leider ausschließlich mit dem IPTV Plugin testen da ich sonst keinen anderen Empfang habe.

  • Ich denke, dass hat mit der Auswahl des Device mit dem geringsten Einfluss auf das laufende System zu tun.

    Aug 10 10:47:09 jupiter vdr[28944]: [28944] switching device 4 to channel 6 I-1-98-1 (VOX)
    Aug 10 10:48:00 jupiter vdr[28944]: [28944] switching device 3 to channel 6 I-1-98-1 (VOX)
    Aug 10 10:48:00 jupiter vdr[28944]: [28944] timer 1 (6 1048-1105 'vox nachrichten') start

    Bei einer Timeraufnahme wird 50-60 Sekunden vor dem Start ein geeignetes Device gesucht und auf diesem auf das aufzunehmende Programm (ohne Bildausgabe) umgeschalten - das Device mit dem geringsten "Impact" war zu diesem Zeitpunkt Device 4 obwohl die Direktaufnahme auf Device 3 schon beendet war.

    Zum Aufnahmezeitpunkt wird wieder ein Device gesucht nur hat diesmal Device 3 einen geringeren Impact als das zuvor für die Aufnahme ausgewählte Device 4. Die Aufnahme läuft also auf 3 und Device 4 läuft unsichtbar im Hintergrund weiter.


    Um zu sehen warum es so läuft hier ein kleiner Patch der den "Impact" der Devices ausgibt. Man sieht damit warum so entschieden wird und kann vielleicht etwas anpassen.


    Helmut

  • Ich hab jetzt mal ein komplettes Log unter dem folgenden Link hochgeladen.

    https://pastebin.com/nziQxSdt


    Das Problem tritt mit der Aufnahme um 15:57 Uhr bzw. 15:58 Uhr auf. Bei den vorherigen Aufnahmen nicht.

    Code
    1. Jan 19 15:57:00 europa vdr[2525]: [2525] switching device 5 to channel 2 I-1-108-1 (kabel eins)
    2. Jan 19 15:58:00 europa vdr[2525]: [2525] GetDevice Device 1 impact 08000000
    3. Jan 19 15:58:00 europa vdr[2525]: [2525] GetDevice Device 2 impact 08000000
    4. Jan 19 15:58:00 europa vdr[2525]: [2525] GetDevice Device 3 impact 08000000
    5. Jan 19 15:58:00 europa vdr[2525]: [2525] GetDevice Device 4 impact 08000000
    6. Jan 19 15:58:00 europa vdr[2525]: [2525] switching device 2 to channel 2 I-1-108-1 (kabel eins)


    Hoffe du kannst damit etwas anfangen. Vielen Dank. Gruß Dirk

  • Zuerst einmal sehe ich, dass bei "Impact" die Devicenummer falsch ausgegeben wird - diese beginnen bei 1- also sollte es so aussehen:

    Code
    1. Jan 19 15:57:00 europa vdr[2525]: [2525] switching device 5 to channel 2 I-1-108-1 (kabel eins)
    2. Jan 19 15:58:00 europa vdr[2525]: [2525] GetDevice Device 2 impact 08000000
    3. Jan 19 15:58:00 europa vdr[2525]: [2525] GetDevice Device 3 impact 08000000
    4. Jan 19 15:58:00 europa vdr[2525]: [2525] GetDevice Device 4 impact 08000000
    5. Jan 19 15:58:00 europa vdr[2525]: [2525] GetDevice Device 5 impact 08000000
    6. Jan 19 15:58:00 europa vdr[2525]: [2525] switching device 2 to channel 2 I-1-108-1 (kabel eins)

    Gleich nach dem Start von VDR wird auf n-tv geschalten, dann 2 Aufnahmen ebenfalls auf n-tv (Immer auf Device 2). Um 15:57 kommt zum ersten mal ein zweiter Sender ins Spiel, und da geht es gleich schief.

    Mir fehlen vor der Zeile um 15:57 diese "Impact" Ausgaben - da hätte ich welche erwartet. Die Device-Auswahl um 15:58 ist OK, nur dass Device 5 den gleichen Impact haben soll wie alle anderen, verstehe ich jetzt nicht. Ich werde es mir morgen genauer ansehen.

    Helmut

  • Ich hab den VDR nochmal weiter laufen lassen und der Fehler ist wieder aufgetreten. Ich hatte beim Start des VDR allerdings die Reihenfolge der Plugins geändert so das die IPTV Devices vor dem Dummy Device sind.


    https://pastebin.com/duYLanrz


    Code
    1. Jan 19 20:12:03 europa vdr[30754]: [30754] switching device 4 to channel 3 I-1-106-1 (SAT.1)
    2. Jan 19 20:13:00 europa vdr[30754]: [30754] GetDevice Device 0 impact 08000000
    3. Jan 19 20:13:00 europa vdr[30754]: [30754] GetDevice Device 1 impact 08000000
    4. Jan 19 20:13:00 europa vdr[30754]: [30754] GetDevice Device 2 impact 08000000
    5. Jan 19 20:13:00 europa vdr[30754]: [30754] GetDevice Device 3 impact 08000000
    6. Jan 19 20:13:00 europa vdr[30754]: [30754] switching device 1 to channel 3 I-1-106-1 (SAT.1)
  • Die Auswahl des Device 60 Sek. vor der Aufnahme erfolgt mit GetDeviceForTransponder(), beim Aufnahmestart mit GetDevice().

    GetDeviceForTransponder() gibt - von der Devicenummerierung aufsteigend - das erste Device das bereits auf den Transponder getuned ist oder das LETZTE (!) Device, das den benötigten Transponder bereitstellen kann. GetDevice() ergibt immer das erstmögliche Device, damit passt die Auswahl bei einem neuen Transponder nie zusammen und es wird ein Device unnötig aktiviert.


    Im Anhang ein Patch für "GetDeviceForTransponder()" damit auch hier immer das Device mit der niedrigsten Nummer gewählt wird.
    Damit sollten die Devices zumindest anfangs ident sein. Da aber in GetDevice() die Auswahl doch anderen Kriterien erfolgt, bin ich nicht sicher, ob es nach mehreren Transponderwechseln auch so ist.

    Am besten daher einmal mit mehreren Timeraufnahmen auf verschiedenen Sendern (Transpondern) austesten.

    Helmut

  • Hallo Helmut,


    ich hab deinen patch jetzt 2 Tage getestet und konnte das Problem nicht mehr nachstellen. :-)

    Die Auswahl des Device 60 Sekunden vor der Aufnahme ist bei meinen Test immer auf dem gleichen Device wie die Aufnahme gelandet und dadurch ist das Problem mit der unnötigen Nutzung der DSL Bandbreite nicht mehr aufgetreten.


    Ich werde das noch weiter beobachten aber bis jetzt sieht es sehr gut aus. Vielen Dank dafür :-)


    Ist der Patch nur bei IPTV sinnvoll oder ist der im VDR auch für andere Empfangswege sinnvoll oder zumindest nicht störend?


    Gruß Dirk

  • Ist der Patch nur bei IPTV sinnvoll oder ist der im VDR auch für andere Empfangswege sinnvoll oder zumindest nicht störend?

    Es ist bei Sat oder T/C nicht so störend, weil die Daten ja immer empfangen werden können und nicht erst über das Internet geholt werden müssen.

    Ein Device zu aktivieren, ohne das es für die Daten dann Abnehmer gibt ist natürlich nicht sinnvoll aber vielleicht auch nicht immer vermeidbar, denkbar z.B. bei mehreren zeitglichen Timeraufnahmen oder wenn sich in den 60 Sekunden bis zu Aufnahme durch eine Benutzereingabe etwas ändert. Eine kleine Verbesserung ist der Patch aber doch, auch für alle anderen Systeme.

    Helmut

  • Ich verwende das Satip Plugin nicht, aber man kann es herausfinden wenn man

    1) einen Timer für ein Programm auf einen anderen Transponder anlegt als jenen der aktuell für Live oder Aufnahme verwendet wird

    2) es zusätzlich mind. zwei freie Devices gibt, die den Aufnahmetransponder empfangen könnten


    Wenn es betroffen ist würde man - ohne Patch - so etwas im Log sehen (Client und/oder Server):

    Code
    1. Aug 10 10:47:09 jupiter vdr[28944]: [28944] switching device 4 to channel 6 I-1-98-1 (VOX)
    2. ...
    3. Aug 10 10:48:00 jupiter vdr[28944]: [28944] switching device 3 to channel 6 I-1-98-1 (VOX)
    4. Aug 10 10:48:00 jupiter vdr[28944]: [28944] timer 1 (6 1048-1105 'vox nachrichten') start

    Ca. eine Min. vor Aufnahme zuerst ein Umschalten auf das (freie) Device mit der höchsten Nummer (4), beim tatsächlichen Aufnahemstart ein weiteres Umschalten, diesmal auf dem Device mit der kleinstmöglichen Nummer (3).

    Helmut