Raspberry Pi 4B Unterstützung

  • Danke für den Tip, hat leider nichts geholfen aber hier das Log.

    Helfen kann mehr log nicht, aber mehr Infos generieren. Audio und Video wird erkannt und der Decoder konfiguriert.

    vdr[1244]: [1290] non blocking file reader thread ended

    Es ist kein Fehler zu finden. vdr scheint einfach das Abspielen zu beenden. Was ist das für ein Testfile? Kannst Du das mal mit einer richtigen vdr Aufnahme testen?

  • ich möchte das nochmal testen, hab den Raspi inzw. aber wieder platt gemacht.

    Aktuell scheitere ich an ffmpeg, hatte mir damals das notiert:

    nun bleibe ich hier hängen:


    Grüße Jörg

  • benötige ich alle drei?

    Code
    wget https://raw.githubusercontent.com/LibreELEC/LibreELEC.tv/master/packages/multimedia/ffmpeg/patches/v4l2-request/ffmpeg-001-v4l2-request.patch
    wget https://raw.githubusercontent.com/LibreELEC/LibreELEC.tv/master/packages/multimedia/ffmpeg/patches/v4l2-drmprime/ffmpeg-001-v4l2-drmprime.patch
    wget https://raw.githubusercontent.com/LibreELEC/LibreELEC.tv/master/packages/multimedia/ffmpeg/patches/rpi/ffmpeg-001-rpi.patch

    wenn ja in welcher Reihenfolge passen sie zusammen?

  • Du brauchst nur den rpi patch. Der ist sicher nicht sauber durchgelaufen, wenn der drm-prime vorher angewendet wurde.


    Beide möchten drm_frame in struct V4L2Buffer in der Datei v4l2_buffers.h einfügen.

  • auch wenn ich drm-prime weglassen bekomme ich mit ffmpeg-001-v4l2-request.patch und ffmpeg-001-rpi.patch unabhängig der Reihenfolge rejects.
    Ist auch der request.patch bereits im rpi enthalten?

  • Ja.

    Du brauchst nur den rpi patch.

  • jetzt baut ffmpeg :) - dauert etwas ....

    Bevor ich mit dem kernel anfange, ich benötige diesen hier:

    https://github.com/raspberrypi…8f96fa26990f9611af.tar.gz

    richtig?

  • nun hängt ich hier:

    Code
    root@rpi4:~/build/vdr# vdr
    AlsaSetup: Channels 2 SampleRate 48000
              HWChannels 2 HWSampleRate 48000 SampleFormat S16_LE
              Supports pause: no mmap: yes
              AlsaBufferTime 100ms AudioBufferTime 450ms Threshold 450ms
    VideoFilterInit: Cannot create buffer source
    Speicherzugriffsfehler


    im log:


    Code
    Jun 23 19:56:57 rpi4 vdr: [19043] [softhddev]SetPlayMode: 1 
    Jun 23 19:56:57 rpi4 vdr: [19043] OSD size changed to 1920x1080 @ 1,77778 
    Jun 23 19:56:57 rpi4 vdr: [19046] SATIP: Detected 1 RTP packet error [device 0] 
    Jun 23 19:56:57 rpi4 vdr: AlsaSetup: Channels 2 SampleRate 48000#012           HWChannels 2 HWSampleRate 48000 SampleFormat S16_LE#012           Supports pause: no mmap: yes#012           AlsaBufferTime 100ms AudioBufferTime 450ms Threshold 450ms 
    Jun 23 19:56:58 rpi4 kernel: [ 2369.218021] [drm:vc4_hdmi_encoder_post_crtc_enable [vc4]] *ERROR* couldn't fill AVI infoframe 
    Jun 23 19:57:23 rpi4 kernel: [ 2394.306809] w1_master_driver w1_bus_master1: Attaching one wire slave 00.b40000000000 crc 53                                                  
    Jun 23 19:57:23 rpi4 kernel: [ 2394.316248] w1_master_driver w1_bus_master1: Family 0 for 00.b40000000000.53 is not registered.                                                  

    ffmpeg habe ich mit diesem Optionen gebaut:


  • ist das richtig:

    Code
    root@rpi4:~/build/vdr# ldd /usr/lib/vdr/plugins/libvdr-softhddevice-drm.so.2.5.4 | grep libav
           libavcodec.so.58 => /lib/arm-linux-gnueabihf/neon/vfp/libavcodec.so.58 (0xb5ad1000)
           libavfilter.so.7 => /lib/arm-linux-gnueabihf/neon/vfp/libavfilter.so.7 (0xb5860000)
           libavutil.so.56 => /lib/arm-linux-gnueabihf/neon/vfp/libavutil.so.56 (0xb53fa000)
           libavformat.so.58 => /lib/arm-linux-gnueabihf/neon/vfp/libavformat.so.58 (0xb3ad4000)


    Sollte nicht diese verwendet werden: /usr/local/lib/libavcodec.so


    Die Ausgabe von pkg-config passt hingegen:

    Code
    root@rpi4:~/build/vdr# pkg-config --libs libavcodec    
    -L/usr/local/lib -lavcodec
  • ist das richtig:

    Das sieht schon seltsam aus. Hier steht da:

    Code
    ldd /usr/lib/vdr/plugins/libvdr-softhddevice-drm.so.2.4.5 | grep libav
        libavcodec.so.58 => /usr/lib/libavcodec.so.58 (0xb5d82000)
        libavfilter.so.7 => /usr/lib/libavfilter.so.7 (0xb5b05000)
        libavutil.so.56 => /usr/lib/libavutil.so.56 (0xb53f2000)
        libavformat.so.58 => /usr/lib/libavformat.so.58 (0xb4ffd000)

    Aber wenn in dem Pfad die richtige FFmpeg Version liegt sollte das funktionieren. Liegt unter /lib/arm-linux-gnueabihf/neon/vfp/ die richtige Version?


    FFmpeg reagiert nicht wie erwartet. Eigentlich sollte Video_get_format aufgerufen werden. Statt dessen wird das decodierte Bild im falschen Format ausgegeben und fälschlicherweise der VideoFilter aufgerufen. Ich bringe hier FFmpeg auf dem Raspi auf die neueste Version und teste das.

  • ich habe Bild! Er hate wie mit ldd zu sehnen die falschen libs verwenden. Habe sie weggeräumt und neu gebaut.

    nach dem 3 -4 zappen kommt das im log:




    und der VDR bleibt komplett hängen, sogar ein SIGKILL bringt ihn nicht vom Acker

    Ergänzung, hat nichts mit dem zappen zu tun, passiert auch nach ein paar Sekunden auf dem Einschalt-Kanal (ARD HD)

    Einmal editiert, zuletzt von horchi ()

  • Gibts im Log vorher was verdächtiges?

  • Was mit noch aufgefallen ist, libreelec baut ffmpeg auch mit "--disable-hwaccel=h264_v4l2request", das fehlt bei dir.

  • hier das log von dem Zeitraum


    stimmt "disable-hwaccel=h264_v4l2request" hatte ich übersehen, ich baue es nochmal. Danke!

  • mit ---disable-hwaccel=h264_v4l2request gebaut.
    Ändert nichts an dem Effekt.

    hier noch die Konsolenausgabe

    Einmal editiert, zuletzt von horchi ()

  • Das patchen von ffmpeg-4.3.2 hat hier auch nicht funktioniert. (?!) Das git funktioniert nach wie vor. Aufgefallen ist mir das Du Kernel 5.10.0-v7l+ benutzt. Das ist zu alt! LE benutzt 5.10.27 und ich habe hier 5.10.33-v7l. Das Kernel solltest Du zuerst erneuern.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!