[markad] überarbeiteter Decoder

  • OK, war nur um die Idee zu überprüfen, habe es schon befürchtet, dass das so nicht geht.

    Mit deinem Hinweis auf SkinDesigner wissen wir auch so, dass es daran liegt. Ich baue dir eine Version, die die laufenden Aufnahmen in einer globalen Variablen zählt, wie du vorgeschlagen hast. Dann komme ich ohne Timer Lock aus.

    VDR
  • Ja, ist es. Soll ja auch nur feststellen, ob es wirklich genau an dem Lock liegt und das hoffentlich vor einem Crash. Wenn das funktioniert, können wir das Problem qualifizierter bei kls adressieren.

    Du hast gesehen, es gab nochmals einen Update vom Patch.

    Natürlich nicht. Aber ist ja ein Paket-VDR mit quilt-patchen, kein Beinbruch daher...


    Ergebnis wie vor - unter gleichen Bedingungen - weiter kam er nicht:


    42.

  • Eine Version, die ohne timer lock auskommt ist jetzt im git, Branch lock.

    Bitte ausgiebig testen, vor allem auch, ob die Anzahl der laufenden Aufnahmen korrekt ist.

    VDR
  • Prinzipiell funktioniert es, aber der VDR hat noch ein Problem. Denke, es war die im Markad aktivierte VPS Funktion, die epg2vdr zielsicher zerlegt...


    Log (TV auf 100, Aufnahmen 20:00 auf 101 und 104):

    Code
    1. Jan 4 19:59:26 vdr: [4731] switching device 2 to channel 101
    2. Jan 4 19:59:37 vdr: [4731] switching device 2 to channel 104
    3. Jan 4 19:59:48 vdr: [4731] switching device 2 to channel 101

    Das hat er mit Lock-Fehler nicht (mehr) gemacht.


    Dann normaler Start der ersten Aufnahme:


    Danach bleibt dann irgendwas hängen - die zweite Aufnahme startet nicht mehr.

    Code
    1. Jan 4 20:00:03 vdr: [4779] VAAPI: video: reset start
    2. Jan 4 20:00:03 vdr: [4779] VAAPI: video: set clock --:--:--.---
    3. Jan 4 20:00:03 vdr: [4731] VAAPI: video: set closing
    4. Jan 4 20:00:03 vdr: [4731] VAAPI: video: set clock --:--:--.---
    5. Jan 4 20:00:03 vdr: [4731] VAAPI: video: reset start
    6. Jan 4 20:00:03 vdr: [4731] VAAPI: video: set clock --:--:--.---
    7. Jan 4 20:00:03 vdr: [4779] VAAPI: video/vaapi: closing eof
    8. Jan 4 20:00:03 vdr: [4731] SendCaPmts CAM 1: [1] actives in CAM: 2 -> 1 (3 pids)


    Umschalten erfolgt nicht mehr ... Ruhe ... Deadlock-ähnlich.

    Wiederholung mit gleichem Ergebnis.


    Habe jetzt das VPS im Markad deaktiviert, der VDR hat damit seine Nöte, wenn epg2vdr aktiv ist.


    Nächster Versuch läuft nachher ... werde berichten. :-)


    Edit:

    1. Aufnahme (ohne Markad-VPS) startet normal, VDR noch ok.

    2. Aufnahme (überlappend) ok

    3. Mit Umschalten auf weitere Karte ... Aufnahme unterbleibt.



    Stefan

  • Habe jetzt das VPS im Markad deaktiviert, der VDR hat damit seine Nöte, wenn epg2vdr aktiv ist.

    Das sollte aber funktionieren, weil genau dafür habe ich das mal gebaut: VPS im VDR aktiviert geht nicht mit epg2vdr, darum habe ich in markad eine VPS light Funktion drin, die sich mit epg2vdr vertragen sollte. Bei mir tut sie das auch.

    Aber lass uns erst das andere Problem abschließen, bevor wie dies näher untersuchen.

    VDR

    The post was edited 1 time, last by kfb77 ().

  • Ich habe mal 2 Aufnahmen gleichzeitig auf meinem Testserver gestartet. epg2vdr Plugin, markad VPS an und VDR VPS aus. Geht bei mir ohne Probleme. Der VDR vom Testserver ist allerdings schon auf 2.6.0, sollte aber keinen Unterschied machen, auf meinem produktivem Server unter 2.4.7 läuft das auch so.

    grep markad /var/log/syslog:

    VDR
  • Ich habe mal 2 Aufnahmen gleichzeitig auf meinem Testserver gestartet. epg2vdr Plugin, markad VPS an [..]

    Das glaube ich gerne. :-)


    Hier waren es aber a) Kanäle ohne VPS und b) gibt's noch epgsearch oder c) vielleicht hab ich was in epg2vdr zerpatscht, als ich das auf die Non-Blocking-API umgebaut habe. Das muß ich erstmal selbst ausschließen.


    Stefan

  • Hmm ... eigenwillig. Es klemmt, sobald beide Karten mit Aufnahmen belegt werden sollen


    - die zu startende Aufnahme startet nicht, nur das Live-Bild verschwindet

    - die (fünf Minuten später) zu beendende Aufnahme läuft weiter / Timer wird nicht gelöscht

    - VDR bleibt per Live bedienbar, aber Timerlöschung wird im VDR nicht bearbeitet.

    - Möglicherweise Deadlock mit der gleichen Funktion im epg2vdr, die bei VPS das Umschalten verhindert



    Gucke ich mir später ohne epg2vdr/scraper2vdr/epgsearch an.


    Stefan

  • Das hört sich nach meinem "Problem" an, das ich schon Jahrelang habe:

    Crash bei drei gleichzeitig startenden Aufnahmen


    Wenn der letzte (Live) Tuner wegen einer Aufnahme umgeschaltet werden soll, passiert nichts mehr. (Nur wenn der Live auf einen verschlüsselten Sender war)

    Picon.cz2VDR (Kanallogos) - Picons2VDR (Kanallogos) - MP-Logos (Kanallogos) - MV_Backup (Backup mit RSync) - MV_BorgBackup (Backup mit Borg) - Skin FlatPlus (Fork)

    "Es gibt keinen Grund, warum irgendjemand einen Computer in seinem Haus wollen würde." [Ken Olson], Präsident der Digital Equipment Corp., 1977

  • MegaV0lt

    Es ist definitiv die Erfordernis, das Live angezeigte Programm umzuschalten.


    Läuft der VDR Live auf dem Programm einer der Aufnahmen, geht eine zweite (auch mit Markad).

    Hatte gerade den gdb dran und natürlich vorher vergessen umzuschalten ... :-}


    Also eher eine Race-Condition und nicht Markad, die allerdings ohne Markad nicht auftritt.

    Weiter dann hier -> Deadlock bei Aufnahme auf letztverfügbarem Gerät mit Umschalten


    Stefan

  • Macht es eigentlich Sinn, markad während der Aufnahme laufen zu lassen (das wäre manchmal ganz praktisch, wenn man die Marken schon sieht, während noch der Timer-Nachlauf aufnimmt?

    Und wie mache ich das?


    Und was passiert, wenn ich die Aufnahme vorzeitig stoppe, also innerhalb vom Timer Nachlauf? Störe ich dann die Optimierung? Und falls "ignore timer margins" aus ist, stimmt die Nachlaufzeit dann ja nicht mehr.

    Was ist überhaut der Vorteil/Nachteil, ob "ignore timer margins" an oder aus ist?

  • Was ist überhaut der Vorteil/Nachteil, ob "ignore timer margins" an oder aus ist?

    Ich bin nicht der Autor des Plugins. Ich habe vor zwei Jahren angefangen, für mich selbst das Plugin weiterzupflegen, weil es mit dem immer wieder veränderten Aussehen von Werbeeinblendungen nicht mehr zusammen gepasst hat und der Autor es nicht mehr weiterentwickelt. Nachdem andere auch Probleme damit hatten, habe ich eben meine Weiterentwicklung veröffentlicht.

    Somit gibt es einige Funktionen, die ich selbst nicht nutze und sogar ein paar Funktionen, deren Sinn ich auch nicht verstehe. Manche davon habe ich auch schon entfernt, aber nicht alle. "ignore timer margins" ist eine davon. Ich musste zuerst mal im Code nachschauen, was das eigentlich macht: markad ignoriert dann die Daten in der VDR info Datei.

    Ich halte das für grundsätzlich falsch. Ich brauche für das beste mögliche Ergebnis so viel Informationen über die Aufnahme wie möglich. Auch wenn nicht alles, was man so in der info Datei findet immer korrekt ist (z.B. ist aspect ratio oft falsch), dann will ich sie trotzdem lesen und selbst entscheiden, ob ich dem Wert glaube oder nicht.

    Fazit: "ignore timer margins" aus lassen.


    Macht es eigentlich Sinn, markad während der Aufnahme laufen zu lassen (das wäre manchmal ganz praktisch, wenn man die Marken schon sieht, während noch der Timer-Nachlauf aufnimmt?

    Je nach Verwendung. Ich selbst schaue Aufnahmen immer erst lange danach an. markad wird gar nicht vom VDR gestartet, sondern per Skript aufgerufen, das nach ungeschnitten Aufnahmen sucht und diese bearbeitet. Das Skript liegt außerdem im Source Code unter contrib.

    Wer schon während der Aufnahme schauen will, muss markad auch während der Aufnahme laufen lassen. In diesem Fall werden auch die gerade erkannten Marken bereits in marks geschrieben. Bitte aber beachten: Am Ende der Aufnahme wird nochmals die gesamte Aufnahme durchlaufen und die bestehenden Marken optimiert. Dies Optimierungen stehen erst zur Verfügung, wenn markad fertig ist.

    Und wie mache ich das?

    VDR Konfigurationsmenu unter den markad Plugin Einstellung, Ausführung während


    Und was passiert, wenn ich die Aufnahme vorzeitig stoppe, also innerhalb vom Timer Nachlauf? Störe ich dann die Optimierung? Und falls "ignore timer margins" aus ist, stimmt die Nachlaufzeit dann ja nicht mehr.

    Ganz schlechte Idee. Damit wird nichts mehr vernünftiges raus kommen, vor allem keine korrekte Ende Marke. markad braucht eine vollständige Aufnahme um ein vernünftiges Ergebnis zu erzielen.

    VDR
  • Danke.

    Dann hat es nicht viel Sinn, während der (nach)laufenden Aufnahme auf die Marken zu schauen, da sie erst bei Aufnahmeende optimiert werden. Und dann reicht es auch markad erst nach der Aufnahme laufen zu lassen (außer man will das Ergebnis ein paar Minuten früher sehen).

  • Wenn während der Aufnahme der VDR retuned (retuning due to modification of channel ...), funktioniert markad während der Aufnahme nicht.

  • Mich hätten schon auch die Meldungen von markad zu dem Zeitpunkt interessiert. Aber wenn das in VDR gelöst wird, dann ist das eh der bessere Ansatz.

    VDR