rpihddevice + Raspbian Buster

  • Hallo,


    seit Jahren nutze ich Raspberry PI mit VDR und dem rpihddevice als VDR-Client auf der Basis von Raspbian. Seit dem Update auf Raspbian 10 (Buster) compiliert das rpihddevice nicht mehr weil in der Datei audio.c ein "FF_INPUT_BUFFER_PADDING_SIZE" benutzt wird und dies in der bei Raspbian verwendeten libavcodec Version ersetzt wurde durch "AV_INPUT_BUFFER_PADDING_SIZE".


    Abhilfe schafft diese Ergänzung der Datei "audio.c"

    Code
    1. #ifndef FF_INPUT_BUFFER_PADDING_SIZE
    2. #define FF_INPUT_BUFFER_PADDING_SIZE AV_INPUT_BUFFER_PADDING_SIZE
    3. #endif


    Gruß


    Sig

  • Ich bekomme es trotzdem nicht installiert.

    Code
    1. /usr/bin/ld: -lGLESv2 kann nicht gefunden werden
    2. /usr/bin/ld: -lEGL kann nicht gefunden werden

    Aber:

    Code
    1. libgles2 ist schon die neueste Version (1.1.0-1).
    2. libegl1 ist schon die neueste Version (1.1.0-1).
    3. libraspberrypi-dev ist schon die neueste Version (1.20190925+1-1).

    RPI3, DVB-Sky S960, VDR 2.4.1, Raspbian Buster, Onkyo AV Receiver, Panasonic Plasma.

  • Ich habe nun mittlerweile alles auf Buster und VDR 2.4.1 portiert. Alles läuft soweit. Nur ab und zu bekomme ich kein Bild beim Umschalten. Es gab schon mal einen Beitrag dazu wo geraten wird ffmpeg zu installieren. Leider scheint das bei rpihddevice nicht zu funktionieren. Ein einfaches "apt-get install ffmpeg" bringt keine Änderung.

    Ein:

    Code
    1. apt-get remove libavcodec-dev libavformat-dev libavutil-dev libavresample-dev libavresample4

    und

    Code
    1. apt-get install ffmpeg

    bringt auch nix, da rpihddevice dann nicht mehr kompiliert.

    Beim Umschalten ohne Bild kommt folgendes aus dem Log:

    Code
    1. Jan 2 19:38:41 raspberrypi vdr: [3609] switching to channel 9 S19.2E-1-1089-12061 (NITRO)
    2. Jan 2 19:38:44 raspberrypi vdr: [4132] device 1 TS buffer thread ended (pid=3609, tid=4132)
    3. Jan 2 19:38:44 raspberrypi vdr: [4131] buffer stats: 1626200 (31%) used
    4. Jan 2 19:38:44 raspberrypi vdr: [4131] device 1 receiver thread ended (pid=3609, tid=4131)

    Normalerweise sieht das so aus:

    Code
    1. Jan 2 19:38:38 raspberrypi vdr: [3609] switching to channel 8 S19.2E-1-1107-17505 (Pro7 MAXX)
    2. Jan 2 19:38:38 raspberrypi vdr: [4131] device 1 receiver thread started (pid=3609, tid=4131, prio=high)
    3. Jan 2 19:38:38 raspberrypi vdr: [4132] device 1 TS buffer thread started (pid=3609, tid=4132, prio=high)
    4. Jan 2 19:38:39 raspberrypi vdr: [4133] animator thread thread started (pid=3609, tid=4133, prio=high)
    5. Jan 2 19:38:39 raspberrypi vdr: [4131] rpihddevice: set video codec to MPEG2
    6. Jan 2 19:38:39 raspberrypi vdr: [3625] rpihddevice: video stream started 720x576@50i, PAR=64/45
    7. Jan 2 19:38:39 raspberrypi vdr: [3625] rpihddevice: display PAR=1,000, setting video render PAR=64/45
    8. Jan 2 19:38:39 raspberrypi vdr: [3626] rpihddevice: set HDMI audio output format to 2ch PCM, 48.0kHz

    RPI3, DVB-Sky S960, VDR 2.4.1, Raspbian Buster, Onkyo AV Receiver, Panasonic Plasma.

  • Ursache scheint die "OSD mit GPU Unterstützung" vom rpihddevice zu sein. Ist diese abgeschaltet gibt es erst mal weniger oder keine Schwarzbilder mehr. Leider lässt sich ohne diese Einstellung "Skindesigner" schlecht nutzen. Die Skins funktionieren ohne GPU-Beschleunigung ganz gut, aber Schnittmarken verschieben geht gar nicht. Egal. Der Versuch "Skinenigmang" zu installieren scheitert leider.

    Code
    1. In file included from config.h:20,
    2. from skinenigmang.c:9:
    3. font.h:15:10: fatal error: ft2build.h: Datei oder Verzeichnis nicht gefunden
    4. #include <ft2build.h>
    5. ^~~~~~~~~~~~
    6. compilation terminated.
    7. make: *** [Makefile:156: skinenigmang.o] Fehler 1

    Hat da jemand vielleicht eine Idee??

    RPI3, DVB-Sky S960, VDR 2.4.1, Raspbian Buster, Onkyo AV Receiver, Panasonic Plasma.

  • Post by Asta ().

    This post was deleted by the author themselves ().
  • Das war es nicht:

    Code
    1. libfreetype6-dev ist schon die neueste Version (2.9.1-3+deb10u1)

    Mit einer kleinen Änderung im Makefile compiliert er jetzt:

    Zeile 145 von

    Code
    1. INCLUDES += -I/usr/include/freetype/ -I/usr/local/include/freetype

    in:

    Code
    1. INCLUDES += -I/usr/include/freetype2/ -I/usr/local/include/freetype

    ändern.

    Nun bekomme ich aber folgendes beim Starten:

    Code
    1. ERROR: /usr/local/lib/vdr/libvdr-skinenigmang.so.2.4.1: undefined symbol: _ZN10cIndexFile3GetEiPtPlPbPi

    RPI3, DVB-Sky S960, VDR 2.4.1, Raspbian Buster, Onkyo AV Receiver, Panasonic Plasma.

  • Hi,


    nimm mal diesen Patch!

    Gruss

    Wolfgang

  • Damit bekomme ich wieder:

    Code
    1. font.h:15:10: fatal error: ft2build.h: Datei oder Verzeichnis nicht gefunden
    2. #include <ft2build.h>

    Makefile sieht jetzt so aus:

    Code
    1. INCLUDES += $(shell pkg-config --cflags GraphicsMagick++)
    2. endif
    3. endif
    4. +INCLUDES += $(shell pkg-config --cflags freetype2)
    5. +LIBS += $(shell pkg-config --libs freetype2)
    6. ### The main target:

    RPI3, DVB-Sky S960, VDR 2.4.1, Raspbian Buster, Onkyo AV Receiver, Panasonic Plasma.

  • Entferne mal die "+" vor den Codezeilen, die dienten nur der Veranschaulichung vom Diff.

    Also zB statt +INCLUDES += $(shell pkg-config --cflags freetype2) einfach nur INCLUDES += $(shell pkg-config --cflags freetype2)

    Und die Zeile über den beiden "endif"s muss wohl auch raus.

    MyVDR: yaVDR-Ansible - softhddevice-openglosd (ffmpeg 2.8) - epgd/epg2vdr - skindesigner estuary4vdr (adaptiert) - 1920x1080@50 Hz | kodi 18 - inputstream + amazon vod *broken*
    Aerocube M40 | 300W | ASRock H61M-GE | Intel G530 | Asus ENGT520 | 2 x TT-budget S2-3200 | ASRock Smart Remote (CIR) | 4 GB RAM | 120 GB SSD | 3 TB HDD

  • Kann man unter Buster folgendes installieren?

    Code
    1. apt search libftgl-dev
    2. Sortierung... Fertig
    3. Volltextsuche... Fertig
    4. libftgl-dev/bionic 2.1.3~rc5-4+nmu1.2 amd64
    5. Entwicklungsdateien für libftgl

    Das Paket finde ich unter Bionic...allerdings für amd64

  • Entferne mal die "+" vor den Codezeilen, die dienten nur der Veranschaulichung vom Diff.

    Also zB statt +INCLUDES += $(shell pkg-config --cflags freetype2) einfach nur INCLUDES += $(shell pkg-config --cflags freetype2)

    Und die Zeile über den beiden "endif"s muss wohl auch raus.

    Oh Man. Sorry. Bei den ganzen Patchen der letzten Tagen hatte ich das vergessen.

    Leider geht's immer noch nicht. Ich habe mal folgendes gemacht:

    Code
    1. make clean
    2. rm /usr/local/src/vdr-2.4.1/PLUGINS/lib/libvdr-skinenigmang.so.2.4.1
    3. rm /usr/local/lib/vdr/libvdr-skinenigmang.so.2.4.1
    4. make
    5. cp /usr/local/src/vdr-2.4.1/PLUGINS/lib/libvdr-skinenigmang.so.2.4.1 /usr/local/lib/vdr/

    Leider kommt immer noch die Fehlermeldung:

    Code
    1. ERROR: /usr/local/lib/vdr/libvdr-skinenigmang.so.2.4.1: undefined symbol: _ZN10cIndexFile3GetEiPtPlPbPi

    Das Makefile:

    Code
    1. INCLUDES += $(shell pkg-config --cflags GraphicsMagick++)
    2. endif
    3. endif
    4. INCLUDES += $(shell pkg-config --cflags freetype2)
    5. LIBS += $(shell pkg-config --libs freetype2)
    6. ### The main target:

    RPI3, DVB-Sky S960, VDR 2.4.1, Raspbian Buster, Onkyo AV Receiver, Panasonic Plasma.

  • Ich habe mal unabhängig vom Skinenigmang nochmal die GPU Unterstützung vom rpihddevicde getestet.

    Ich starte die Wiedergabe einer Aufnahme, drücke die OK Taste um mir die Laufzeit einzublenden und versuche Schnittmarken zu erstellen und zu verschieben.

    Mit Hardwarebeschleunigung funktioniert mit allen Skins das verschieben von Schnittmarken ohne Probleme.

    Ohne Hardwarebeschleunigung funktioniert, auch mit den nativen Skins, das Verschieben gar nicht. Der Laufzeitbalken ändert sich nicht, oder erst nach mehreren Sekunden. Selbst wenn ich aus dem Aufzeichnungsmenü herausgehe sehe ich das LiveBild mit eingeblendetem Laufzeitbalken der Aufnahme. Erst nach mehreren Sekunden wird dieser ausgeblendet. Kann das mal jemand nachstellen der auch Buster mit VDR 2.4.1 installiert hat?

    RPI3, DVB-Sky S960, VDR 2.4.1, Raspbian Buster, Onkyo AV Receiver, Panasonic Plasma.

  • ERROR: /usr/local/lib/vdr/libvdr-skinenigmang.so.2.4.1: undefined symbol: _ZN10cIndexFile3GetEiPtPlPbPi

    Schau dir mit "ldd /usr/local/lib/vdr/libvdr-skinenigmang.so.2.4.1" an, gegen welche shared Libraries diese Bibliothek selbst gelinkt ist. Bei einer dieser gelinkten Bibliotheken hast du wahrscheinlich das Problem, das jetzt zur Laufzeit eine andere, vermutlich ältere, Version der Bibliothek benutzt wird , wie beim Bauen von libvdr-skinenigmang.so.2.4.1 .

    Hilfreich könnte auch sein , den Symbolnamen mit Hilfe des eines demangle tools zu decodieren. Da sollte man dann über das Headerfile, in dem dieses Symbol deklariert wird, zur Bibliothek kommen, die das Problem verursacht.

  • Ein "ldd /usr/local/lib/vdr/libvdr-skinenigmang.so.2.4.1" bringt das hier:

    und ein "demangle _ZN10cIndexFile3GetEiPtPlPbPi" das hier:

    Code
    1. demangle _ZN10cIndexFile3GetEiPtPlPbPi
    2. cIndexFile::Get(int, unsigned short*, long*, bool*, int*) _ZN10cIndexFile3GetEiPtPlPbPi

    Kann jemand damit was anfangen?

    RPI3, DVB-Sky S960, VDR 2.4.1, Raspbian Buster, Onkyo AV Receiver, Panasonic Plasma.

  • Die Problematik mit dem Umschalten und dann kein Bild hab ich bei mir auch. Passiert bei mir immer wenn der VDR z.B. über Nacht durchlief (RPI ist 24/7) und ich dann früh TV einschalte und umschalten will. Das ganze Thema VDR und Raspberry mit aktuellen Versionen ist irgendwie seit geraumer Zeit ziemlich unbefriedigend. Ich hab jetzt auch mal die GPU-Unterstützung ausgeschalten seit ein paar Tagen und das scheint bei mir schonmal etwas zu helfen.


    Grüsse, PmK

  • Ich habe jetzt mal alle VDR Versionen ab 2.1.9 installiert. Und siehe da, der Fehler kommt bei mir ab Version 2.3.9. Alle Versionen davor scheinen Problemlos zu laufen. Kannst du das mal bitte gegen checken? Da dann der Fehler nichts mit Raspbian Buster zu tun hat, mache ich mal einen neuen Thread auf.

    RPI3, DVB-Sky S960, VDR 2.4.1, Raspbian Buster, Onkyo AV Receiver, Panasonic Plasma.

  • Hallo, ich habe versucht auf Rasbian Buster minimal einen RaspiVDR zu installieren, die installation läuft problemlos durch, nur nach dem neustart fährt der rpi leider nicht ganz hoch, ich bekomme keine Konsole geöffnet (auch nicht mit umschalten auf eine andere) oder eine ssh Verbindung, bzw. kein Wlan, versucht habe ich es auf einem rpi3a und rpi zero W.


    Stehen bleibt er mit mount Fehler, die ich nicht habe.


    kann es an dem Minimal Image liegen, und kann ich da noch rückwirkend irgendwas umstellen?


    Gruß Andreas

    | HP Microserver Gen 7 | Cine S2 + DVBSky S952 | vdr2.2 | Streamdev Server |
    | Streamdev Clients: paar Rpi2, yavdr.... |

  • Ich installiere eigentlich immer auf ein minimal Image. Hast du dich an folgende Anleitung gehalten?

    http://www.vdr-wiki.de/wiki/in…Streamdev_und_rpihddevice

    Ansonsten das minimal Buster Image herunterladen, mit "Rufus" auf eine SD Karte schreiben und in den PI einlegen. Das hat bei mir immer funktioniert.

    RPI3, DVB-Sky S960, VDR 2.4.1, Raspbian Buster, Onkyo AV Receiver, Panasonic Plasma.

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