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
    1. wget https://raw.githubusercontent.com/LibreELEC/LibreELEC.tv/master/packages/multimedia/ffmpeg/patches/v4l2-request/ffmpeg-001-v4l2-request.patch
    2. wget https://raw.githubusercontent.com/LibreELEC/LibreELEC.tv/master/packages/multimedia/ffmpeg/patches/v4l2-drmprime/ffmpeg-001-v4l2-drmprime.patch
    3. 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?

  • 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
    1. root@rpi4:~/build/vdr# vdr
    2. AlsaSetup: Channels 2 SampleRate 48000
    3.           HWChannels 2 HWSampleRate 48000 SampleFormat S16_LE
    4.           Supports pause: no mmap: yes
    5.           AlsaBufferTime 100ms AudioBufferTime 450ms Threshold 450ms
    6. VideoFilterInit: Cannot create buffer source
    7. Speicherzugriffsfehler


    im log:


    Code
    1. Jun 23 19:56:57 rpi4 vdr: [19043] [softhddev]SetPlayMode: 1
    2. Jun 23 19:56:57 rpi4 vdr: [19043] OSD size changed to 1920x1080 @ 1,77778
    3. Jun 23 19:56:57 rpi4 vdr: [19046] SATIP: Detected 1 RTP packet error [device 0]
    4. 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
    5. Jun 23 19:56:58 rpi4 kernel: [ 2369.218021] [drm:vc4_hdmi_encoder_post_crtc_enable [vc4]] *ERROR* couldn't fill AVI infoframe
    6. Jun 23 19:57:23 rpi4 kernel: [ 2394.306809] w1_master_driver w1_bus_master1: Attaching one wire slave 00.b40000000000 crc 53                                                  
    7. 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
    1. root@rpi4:~/build/vdr# ldd /usr/lib/vdr/plugins/libvdr-softhddevice-drm.so.2.5.4 | grep libav
    2.        libavcodec.so.58 => /lib/arm-linux-gnueabihf/neon/vfp/libavcodec.so.58 (0xb5ad1000)
    3.        libavfilter.so.7 => /lib/arm-linux-gnueabihf/neon/vfp/libavfilter.so.7 (0xb5860000)
    4.        libavutil.so.56 => /lib/arm-linux-gnueabihf/neon/vfp/libavutil.so.56 (0xb53fa000)
    5.        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
    1. root@rpi4:~/build/vdr# pkg-config --libs libavcodec    
    2. -L/usr/local/lib -lavcodec
  • ist das richtig:

    Das sieht schon seltsam aus. Hier steht da:

    Code
    1. ldd /usr/lib/vdr/plugins/libvdr-softhddevice-drm.so.2.4.5 | grep libav
    2. libavcodec.so.58 => /usr/lib/libavcodec.so.58 (0xb5d82000)
    3. libavfilter.so.7 => /usr/lib/libavfilter.so.7 (0xb5b05000)
    4. libavutil.so.56 => /usr/lib/libavutil.so.56 (0xb53f2000)
    5. 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)

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

  • 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!

    Files

    • syslog.txt

      (71.03 kB, downloaded 24 times, last: )
  • mit ---disable-hwaccel=h264_v4l2request gebaut.
    Ändert nichts an dem Effekt.

    hier noch die Konsolenausgabe

    The post was edited 1 time, last by 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.