[markad] überarbeiteter Decoder

  • Respekt. Das ist ein wichtiges Plugin und ich schätze Deine Arbeit.

    Ich nutze noch Noad, weiß aber nicht, ob das noch gepflegt wird.


    Ein aktueller frischer Wind, bei einem der beiden Plugins ist super! Danke!

  • Ich bekommen einen Bus-Zugriffsfehler.



    Ich benutze folgendes:




    Code
    1. 00-markad-libavcodec58-V0-01.diff
    2. 01-markad-Makefile-V0-06.diff
    3. 02-deprecated-V0-04.diff
    4. 03-markad-decoder-V0-58.diff

    Files

    • markad.log.gz

      (2.65 kB, downloaded 16 times, last: )

    Server: CPU J1900 | 1x CineS2 | Debian Buster | VDR 2.4.1
    Client: 2x Himbeere mit vdr

  • Hallo hondansx ,

    das war ja mal eine vorbildliche Fehlerbeschreibung. Hier mal eine erste Analyse:

    Code
    1. /usr/bin/markad_fehler --loglevel=3 -R -vvvv - /video/@video/video0/Der_Bachelor/Folge_1/2020-01-08.20.13.2-0.rec/

    Du nutzt gar nicht den neuen Decoder von mir, sondern den ursprünglichen. Ich habe schon lange nicht mehr mit dem originalem Decoder getestet, das Log File sieht gar nicht so aus, wie ich es erwarten würde.

    Aber kein Problem, einen Crash dürfe es trotzdem nicht geben. Soweit es mir möglich und vom Aufwand sinnvoll ist, versuche ich mich auch da an Fehlerbehebungen. Ich schaue mir das mal im Laufe des Wochenendes an.

    Ich habe einen Timer gesetzt auf die nächste Sendung aus deinem Test, bitte nehmen die Sendung vom nächsten Mittwoch 20:15 auch auf, dann können wir das direkt vergleichen.

    Du hast unter Debian eine ältere libavcodec Version, wie ich unter Ubuntu ( libavcodec 57.107.100 / 57.107.100), das könnte auch eine mögliche Ursache sein. Ich werde versuchen, ob ich ein Debian installiert bekomme.

    Bitte teste nochmals mit dem neuen Decoder, da ist dann auch das Log ausführlicher. Das Log File dazu posten reicht dann für mich.

    Code
    1. markad --loglevel=3 --astopoffs=0 --cDecoder --log2rec nice <Pfad zum Recording>
  • Hallo hondansx ,

    unter Ubuntu 18.04 kann ich dein Problem nicht reproduzieren. Ich habe mir mal schnell ein Debian Buster installiert, das sieht bei mir dann aber ganz anders aus.

    Code
    1. cat /etc/debian_version
    2. 10.2

    Damit kompiliert es bei mir nicht mal, aber das würde sich einfach fixen lassen.

    Hast du absichtlich ältere avcodec libs installiert ?

  • Debian Buster hat libavcodec 58.35.100. Musste da in decoder.cpp leicht anpassen damit es kompiliert hat:


    VDR: Zotac ZBOX EN860, 16GB RAM, 2 TB HDD, Debian Stretch, vdr-2.4.1, softhddevice, satip

  • Hallo Xcoder ,

    so habe ich das auf meiner Debian Buster Test Server auch gemacht. hondansx hat aber eine viel ältere libavcodec drauf, vermutlich weil dies die letzte war, mit der der ursprüngliche Code kompiliert hat. Da macht es auch keinen Sinn mehr, darin Fehler zu suchen.

    hondansx : Am besten die aktuelle libavcodec installierten und den angepassten Patch in Anhang verwenden.

  • Bitte teste nochmals mit dem neuen Decoder, da ist dann auch das Log ausführlicher. Das Log File dazu posten reicht dann für mich.

    Code
    1. markad --loglevel=3 --astopoffs=0 --cDecoder --log2rec nice <Pfad zum Recording>


    Mit dem neuen Decoder läuft es durch, aber es wird keine marks Datei erstellt.

    Files

    • markad.log.gz

      (6.2 kB, downloaded 16 times, last: )

    Server: CPU J1900 | 1x CineS2 | Debian Buster | VDR 2.4.1
    Client: 2x Himbeere mit vdr

  • kfb77 sind die neuen diff's allgemein oder speziell erst mal für Debian?

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Hallo utiltiy ,

    die neuen diff's unterschieden sich nur in der libavcodec Version Nummer in den Compiler Direktiven. Sie haben sonst keinen Unterschied und somit keine Auswirkung für Ubuntu. Wenn man kein Debian Buster hat, lohnt es sich nicht, sie zu verwenden, sie stören aber auch nicht.

  • Hallo hondansx ,

    laut deinem Log kann libavcodec nicht mal intern einen Buffer allokieren um die Frames zu dekodieren. Dann kann es auch keine Marken geben.

    Code
    1. cDecoder::GetFrameInfo(): av_frame_get_buffer failed rc=-22

    Ich habe den Fehler unter Debin Buster mit aktuellen libavcodec nicht. Also am besten, wie du schon geschrieben hast, erst mal einen Update machen und dann nochmal testen.

  • Sie haben sonst keinen Unterschied und somit keine Auswirkung für Ubuntu.

    OK, das gilt dann wohl auch für Arch, deswegen war meine Nachfrage.

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Bei meinem PI mit Raspbian Buster kompiliert er das Plugin aber er installiert das eigentliche markad nicht.

    Code
    1. Jan 12 16:33:08 raspberrypi vdr: [16873] initializing plugin: markad (0.1.6 (ea2e182)): Markiere Werbung
    2. Jan 12 16:33:08 raspberrypi vdr: [16873] markad: cannot find /usr/bin/markad, please install

    RPI3, DVB-Sky S960, VDR 2.2.0, Raspbian Jessie, Onkyo AV Receiver, Panasonic Plasma.

  • Installiert habe ich so:

    git clone https://projects.vdr-developer…it/vdr-plugin-markad.git/

    dann die 4 Patches angewendet. "make" und "make install" im src Verzeichniss des VDR.

    Das Plugin wird erstellt. Im Anhang mal die Ausgabe vom "make install".



    Files

    RPI3, DVB-Sky S960, VDR 2.2.0, Raspbian Jessie, Onkyo AV Receiver, Panasonic Plasma.

  • Asta

    der hat markad nicht installiert, weil er es gar nicht bauen konnte. Du hast zahlreiche Fehler beim Kompilieren bekommen. Ich vermute dir fehlen einige libs.

    Code
    1. apt-cache policy libavcodec-dev
    2. apt-cache policy libavformat-dev
    3. apt-cache policy libavutil-dev

    Wenn einer diese Befehle "Installed: (None)" ausgibt, die fehlenden libs über apt-get install libav… installieren.

    Dann nochmal "make clean && make all" und darauf achten, dass keine Fehlermeldungen kommen, ggf. die Fehlermeldungen von "make all" posten.

  • libavcodec-dev:

    Installiert: 7:4.1.4-1+rpt1~deb10u1

    Installationskandidat: 7:4.1.4-1+rpt1~deb10u1


    libavformat-dev:

    Installiert: 7:4.1.4-1+rpt1~deb10u1

    Installationskandidat: 7:4.1.4-1+rpt1~deb10u1


    libavutil-dev:

    Installiert: 7:4.1.4-1+rpt1~deb10u1

    Installationskandidat: 7:4.1.4-1+rpt1~deb10u1


    Die Ausgabe von "make all" bekomme ich nicht vollständig kopiert. Es sind zu viele Zeilen für mein putty.

    RPI3, DVB-Sky S960, VDR 2.2.0, Raspbian Jessie, Onkyo AV Receiver, Panasonic Plasma.

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

  • Asta

    wow, das hätte ich nicht erwartet.

    Ich habe nochmals tiefer in die Glasgugel reingeschaut: Da muss beim Anwenden der Patches was schief gegangen sein. Poste mal bitte aus dem Verzeichnis ".../PLUGIN/src/markad/command" das "Makefile".

    Laut deiner make Ausgabe fehlt "decoder_new.o" und "-lavformat". Die Änderung im Makefile kommt mit dem letzten Patch. Hast du die Patches in numerischer Reihenfolge angewendet ?

    Code
    1. g++ -g -rdynamic -O3 -funroll-loops -Wall -Wextra -Woverloaded-virtual -Wno-parentheses markad-standalone.o decoder.o marks.o streaminfo.o video.o audio.o demux.o -lavcodec -lavutil -pthread -o markad


    Sollte aber so aussehen (andere Compiler Options sollten egal sein):

    Code
    1. g++ -g -O2 -fdebug-prefix-map=/build/vdr-hON7XR/vdr-2.4.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE markad-standalone.o decoder.o marks.o streaminfo.o video.o audio.o demux.o decoder_new.o -lavcodec -lavutil -lavformat -pthread -o markad
  • Ich habe nochmal die Patches angewendet und die Ausgabe von "make all" und "make install" nochmal angehangen. Anbei auch das Makefile.

    Danke dir.

    Files

    • make_all.txt

      (86 Byte, downloaded 19 times, last: )
    • make_install.txt

      (86 Byte, downloaded 18 times, last: )
    • Makefile.txt

      (3.34 kB, downloaded 19 times, last: )

    RPI3, DVB-Sky S960, VDR 2.2.0, Raspbian Jessie, Onkyo AV Receiver, Panasonic Plasma.