Posts by kfb77

    Noch ein paar Anmerkungen zu deinen Kommentaren:

    Da ist Timers und Channels bei Aufruf natürlich ge-Read-lockt

    Stimmt, aber von vdr und nicht von markad. Und das erzeugt keinen invalid Lock bei markad.


    und das Plugin erzeugt per Timer-Lock logischerweise einen Fehler

    Nein, ein Timer Read Lock von markad nach einem VDR Channel Read Lock ist zulässig. Geht ja nicht anders, man hat ja keine Infos, was der VDR oder andere Plugins gerade gelockt haben.


    Der fehlerhafte Lock ist hier:

    vdr: [2869] 2869 - R - - - - - - - - L
    vdr: [2869] 2869 R * - - - - - - - - L

    markad mach zuerst einen Channel Lock, dann einen Timer Lock und das ist nicht zulässig.

    Ich verstehe nur nicht, warum markad hier überhaupt einen Channel Lock macht, es gibt nur eine Stelle im Code, wo markad einen Channel Lock macht und die sollte hier eigentlich nicht aufgerufen werden. Die wird nur aus dem Setup Menu aufgerufen.

    Um zu verstehen was hier den invalid Lock erzeugt, brauche ich ein Syslog mit Timestamps von kurz vor dem Channel Lock bis zum invalid Lock.


    kls : korrigiere mich bitte, falls ich hier was falsches behaupte.

    Sorry, URL war auf mein lokales git, ändere bitte hier.

    Siehe oben, war bereits aktiv.

    Ich weiß nicht, welchen Stand du hast und was da ins syslog kommt. Vor allen sehe ich keinen Channel Lock.

    Bitte git master mit o.g. Änderung verwenden und Syslog mit Timestamps posten.

    Vielleicht per globaler Variable: je Aufnahme Start +1 / Stop -1. Mal sehen.

    Aber nur, wenn mir echt nichts besseres einfällt.


    Bitte mache mal hier den Kommentar raus, dann neu bauen, installieren, vdr neu starten.

    Wenn es wieder auftritt, das Syslog von der Stelle posten.


    Ich verstehe immer noch nicht, warum ich da überhaupt einen Channel Lock mache. Und warum nur bei dir, ich habe den Fehler selbst nicht und es hat auch noch kein anderer berichtet.

    Ich grabe das Thema nochmals aus, ich bekomme die

    Code
    1. epgd: SQL-Error in 'execute(stmt_execute)' - Division by 0 (1365) 'Division by 0' [call mergeepg]

    aktuell auch wieder.

    Code
    1. mysql -u epg2vdr -pepg -Depg2vdr -e 'select * from events where duration=0;' > envents-duration0.txt

    bringt:

    Code
    1. eventid channelid masterid useid source fileref inssp updsp updflg delflg tableid version title comptitle shorttext compshorttext longdescription complongdescription starttime duration parentalrating vps contents shortdescription actor audio category country director commentator flags genre music producer screenplay shortreview tipp topic year rating numrating txtrating movieid moderator other guest camera extepnum imagecount episodecompname episodecompshortname episodecomppartname episodelang scrseriesid scrseriesepisode scrmovieid scrsp
    2. 171045739 S19.2E-1-1011-11110 4410 4410 epgdata 20220103_20211230_de_qy.zip-1341145 1641053662 1641053662 A NULL 0 255 Keine Programminformationen verfuegbar KEINEPROGRAMMINFORMATIONENVERFUEGBAR NULL NULL - 1641242440 0 NULL NULL NULL NULL NULL NULL Information NULL NULL NULL [PrimeTime] [16:9] Verschiedenes NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1 NULL NULL NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL NULL


    Nach

    Code
    1. update events set duration=1 where duration=0;

    ist das Problem weg.

    Kann man den Fall auch noch abfangen ?

    Meinen "Division by 0" löst das nicht, den habe ich immer noch. Mit vdr 2.4.7 tritt er nicht auf.

    Hier vollständiges log von "service epgd restart":

    Oder ein 11 Jahr alter Intel Atom D525 ist einfach zu langsam für eine aktuelle Installation.

    Code
    1. Dec 23 21:35:23 yavdr07 markad: [4248] what's wrong with your system? we just slept 14s

    markad beschwert sich drüber, dass es 14s lang keine CPU Scheibe mit Prio Idle bekommen hat. Das System ist überlastet.

    Ich wünsche euch allen frohe Weihnachten.

    Und natürlich gibt es auch dieses Jahr wieder eine Weihnachtsversion: Die Version 3.0.19 ist auf vdr-plugin-markad verfügbar.

    Sie enthält nicht wie sonst kleinere Optimierungen der Erkennung der Marken, sondern fast ausschließlich Bug Fixe auf Basis von Rückmeldungen hier aus dem Forum. Vielen Dank an allen Beteiligten bei der Fehlersuche.

    Und super wäre es die Untertitelspuren beim cut mit in das ts-File zu bekommen.

    Das muss ich mir mal bei Gelegenheit anschauen, die habe ich bis jetzt immer einfach ignoriert.


    ac3reencode war glaub ich noch ein Thema ....das steht gerade noch auf False.

    Die Funktion gibt es für Player, die AC3 leiser wiedergeben als MP2. Mein Panasonic TV hat das Problem, mein alter Samsung hatte das nicht. Also erst mal prüfen, ob du die Funktion überhaupt brauchst.

    Wenn man den Fehler selber reproduzieren kann, wird es doch gleich viel einfacher:

    In der Struktur avPacket gibt es in der aktuellen ffmpeg Version zusätzliche Pointer, die ich (noch) in keiner ffmpeg Dokumentation gefunden habe. Diese müssen NULL initialisiert werden, sonst crashed avReceivePacket. Die Info muss man sich sich wohl im Moment noch aus dem Quellcode raussuchen.


    stschulze

    Fix ist in V03, ich hoffe, dass das jetzt auch dein Problem endlich löst, bitte Feedback. Du kannst deine aktuelle ffmpeg lassen, müsste auch mit der gehen.

    Hier mal ein Zwischenstand zur weiteren Fehlersuche:

    Bis ffmpeg 4.4.1 funktioniert die Schnittfunktion (--cut) mit dem Stand aus V03. Somit werde ich den Stand morgen in die nächste Version übernehmen. In Distributionen sollen ja eigentlich nur getaggte ffmpeg Version verwendet werden, somit reicht das mal als Fix im Moment.


    Der aktuelle ffmpeg git master Stand macht noch Probleme:

    - es ist per default kein libx264 mehr dabei. Lösung: ./configure --enable-libx264 --enable-gpl && make all && make install

    - Mit oben genannter Änderung kann ich jetzt endlich den Crash von stschulze reproduzieren ! Somit habt ihr in BM2LTS wohl im Gegensatz zur mir schon bemerkt, dass o.g. Option notwendig ist und die ist bei euch schon drin.


    Manchmal braucht es eben länger, bis man den relevanten Unterschied findet, sorry. Ich mache mich dann mal an diesen Bug ...

    stschulze

    Um das Problem weiter eingrenzen zu können, sollten wir mal einen Test machen mit exakt gleichen Versionen, gleiche Aufnahme und gleichem Aufruf. Wenn das bei dir auch funktioniert, können wir schrittweise das Problem weiter eingrenzen.

    1. ffmpeg von hier, gebaut mit default Werten (./configure && make all && make install)

    2. markad von hier (make all && make install, bitte aus dem git Verzeichnis bauen, oder nur make all und Aufruf aus dem build Verzeichnis)

    3. Aufnahme Avengers: Age of Ultron

    4. markad Aufruf: sudo markad -v --pts --loglevel=3 --log2rec --cut --threads=1 --logocachedir=/tmp - <Pfad zur Aufnahme>


    Diese Variante läuft bei mir ohne Segfault, siehe mein markad.log.

    Nicht wundern über die Debug Meldung: "DEBUG: cEncoder::CloseFile(): output codec context of stream 0 not valid": Das ist erwartet, einen gültigen Output Codec Context gibt es nur mit --fullencode=...

    Files

    • markad.log.txt

      (109.74 kB, downloaded 12 times, last: )