Ja, das ist 576i mpeg2. Die Auflösung habe ich auf 4k50 eingestellt. Ich teste morgen einmal, wie es mit anderen Auflösungen aussieht.
[softhddevice-drm-gles] Raspberry 4 und 5
-
-
Ich habe mir den Code mal etwas angesehen, muss dazu aber sagen, dass ich keinerlei C-Kenntnisse besitze.
In video_drm.c existiert bereits eine Methode, die die verfügbaren Auflösungen ausliest:
Code
Display Morefind_mode: for (i = 0, width = 0; i < connector->count_modes; i++) { drmModeModeInfo *current_mode = &connector->modes[i]; if (preferred_hz[j] && current_mode->vrefresh != preferred_hz[j]) continue; int current_width = current_mode->hdisplay; if (current_width > width) { mode = current_mode; width = current_width; } } if (!mode && preferred_hz[j]) { j++; goto find_mode; } if (mode) Debug2(L_DRM, "FindDevice: Use mode with the biggest width: %dx%d@%d", mode->hdisplay, mode->vdisplay, mode->vrefresh); } if (!mode) { Error("FindDevice: No monitor mode found! Give up!"); return -1; }
Wäre es nicht ein leichtes, diese Auflösungen im Setup des Plugin anzubieten und dann entsprechend umzuschalten? Also genau so wie es rpihddevice macht. Das hätte den Vorteil, dass man ohne Neustart oder Editieren von scripten die Auflösung umschalten kann.
-
Die Auswahl der Auflösung/Frequenz läuft folgendermaßen:
Zuerst wird nach der Auflösung gesucht, die man dem Plugin als Option beim Start mitgibt: "-d display resolution (e.g. 1920x1080@50)"
Dann wird geprüft, ob es Auflösungen mit 50Hz gibt. Falls ja, wird die mit der größten Breite gewählt. Falls nein, wird nochmal mit 60Hz getestet. Und wenn es nichts mit 50 oder 60Hz gibt, nimmt er die breiteste mit der erstmöglichen Frequenz - wobei man da über Sinnhaftigkeit sprechen kann.Ich verstehe den Anwendungsfall noch nicht ganz, warum man per Menu die Auflösung ändern wollte? Eine Änderung in einer Konfigurationsdatei sollte hier doch ausreichen - auf welchem Weg auch immer man da ran kommt. Bei einer Änderung per menu muss in jedem Fall der renderer neu initialisiert werden. Wie trivial das ist, weiß ich noch nicht, aber es würde sich anbieten, das im Zuge von detach/attach mit einzubauen...
-
Ich verstehe den Anwendungsfall noch nicht ganz, warum man per Menu die Auflösung ändern wollte? Eine Änderung in einer Konfigurationsdatei sollte hier doch ausreichen - auf welchem Weg auch immer man da ran kommt. Bei einer Änderung per menu muss in jedem Fall der renderer neu initialisiert werden. Wie trivial das ist, weiß ich noch nicht, aber es würde sich anbieten, das im Zuge von detach/attach mit einzubauen...
Einfaches Beispiel: Ich habe in der Garage einen HDMI 2x2 Splitter mit einem 4K LG TV und 720p Beamer installiert. Wenn ich nun den Beamer dazuschalte, möchte ich gerne die Auflösung des VDR auf 720p stellen. Wenn ich dann wieder nur auf dem LG schaue, möchte ich natürlich 4K haben.
Ich verstehe natürlich, dass das Thema jetzt nicht das wichtigste ist, aber jedes Gerät mit einem Videoausgang bietet die Möglichkeit, die Auflösung über die Fernbedienung einzustellen. Stell Dir vor, du müßtest dich beim AppleTV oder der Playstation 5 jedes Mal per SSH verbinden und eine config Datei bearbeiten
Vielen Dank nochmal für Deine Arbeit. Ich würde Dich gerne mehr unterstützen, besitzt Du eine Wunschliste auf amazon.de oder so?
-
Oh, was mir noch aufgefallen ist: Um überhaupt eine 4K-Auflösung verwenden zu können, muss ich in der config.txt folgendes setzen:
hdmi_enable_4kp60=1
Nach meinem Verständnis betrifft dieser Eintrag jedoch nur die Aktivierung von 60Hertz bei 4K, also 50Hertz sollte auch ohne diesen Eintrag gehen. Allerdings verwendet das Plugin ohne den oben genannten Eintrag nur 1080p.
Hast Du dafür eine Erklärung?
-
Ok, verstanden. Da bei mir jeder VDR seinen eigenen Fernseher hat, stellt sich die Frage hier nicht. Unterstützen kannst du indem du testest und Bugs meldest oder selbst Code schreibst.
Und ja, ich habe eine Amazon-Wunschliste - aber die ist nicht dafür gedacht, dass mir jemand Wünsche davon erfüllt - falls du darauf hinauswolltest. Ich beschäftige mich mit VDR weil es mir Spaß macht. Ich werde auch nicht mehr Zeit investieren, wenn es dafür externe Anreize gibt... Ich denke, so ist es bei allen anderen hier auch. Im Grunde verfolge ich damit lediglich einen egoistischen Selbstzweck. Ich baue mir das so, wie ich es haben will - sofern es mir mit meinen Kenntnissen möglich ist. Und das mache ich dann, wenn ich Zeit und Lust dazu habe. Aber natürlich erfülle ich auch gerne Wünsche anderer, weil ich froh bin, wenn auch andere davon einen Nutzen haben. Die Prioritäten dafür setze ich aber selbst
-
Oh, was mir noch aufgefallen ist: Um überhaupt eine 4K-Auflösung verwenden zu können, muss ich in der config.txt folgendes setzen:
hdmi_enable_4kp60=1
Nach meinem Verständnis betrifft dieser Eintrag jedoch nur die Aktivierung von 60Hertz bei 4K, also 50Hertz sollte auch ohne diesen Eintrag gehen. Allerdings verwendet das Plugin ohne den oben genannten Eintrag nur 1080p.
Hast Du dafür eine Erklärung?
Ja und Nein. Der Ablauf wie ausgewählt wird steht oben. Wäre interessant, was als höchste 50Hz Auflösung angeboten wird. Wenn du "modetest" drauf hast, kannst du mit "modetest -c" nachsehen, was es alles gibt.
Wenn da eine 4K@50Hz drin ist und die Auflösung nicht manuell gesetzt wird, stimmt evtl. was mit dem Code nicht, wobei ich auf die Schnelle auch keinen Fehler sehe.
-
Und ja, ich habe eine Amazon-Wunschliste - aber die ist nicht dafür gedacht, dass mir jemand Wünsche davon erfüllt - falls du darauf hinauswolltest. Ich beschäftige mich mit VDR weil es mir Spaß macht. Ich werde auch nicht mehr Zeit investieren, wenn es dafür externe Anreize gibt... Ich denke, so ist es bei allen anderen hier auch. Im Grunde verfolge ich damit lediglich einen egoistischen Selbstzweck. Ich baue mir das so, wie ich es haben will - sofern es mir mit meinen Kenntnissen möglich ist. Und das mache ich dann, wenn ich Zeit und Lust dazu habe. Aber natürlich erfülle ich auch gerne Wünsche anderer, weil ich froh bin, wenn auch andere davon einen Nutzen haben. Die Prioritäten dafür setze ich aber selbst
Entschuldige bitte, so sollte das nicht rüberkommen. Ich möchte nichts "kaufen". Ich wollte mich lediglich damit bedanken.
-
Entschuldige bitte, so sollte das nicht rüberkommen. Ich möchte nichts "kaufen". Ich wollte mich lediglich damit bedanken.
Alles gut
Als Dank reicht mir, dass du es ausprobierst und hernehmen möchtest und Rückmeldungen gibst.
-
Ja und Nein. Der Ablauf wie ausgewählt wird steht oben. Wäre interessant, was als höchste 50Hz Auflösung angeboten wird. Wenn du "modetest" drauf hast, kannst du mit "modetest -c" nachsehen, was es alles gibt.
Wenn da eine 4K@50Hz drin ist und die Auflösung nicht manuell gesetzt wird, stimmt evtl. was mit dem Code nicht, wobei ich auf die Schnelle auch keinen Fehler sehe.
Ich habe gerade nochmal recherchiert: Ohne den Eintrag
werden nur 30Hz bei 4K unterstützt. Sucht das Plugin nur noch 50Hz und 60Hz? Dann wäre das natürlich die Erklärung.
-
30Hz-Auflösungen werden nur durchforstet, wenn keine Auflösung mit 50 oder 60Hz gefunden wird. Die müsstest du dann manuell angeben. 30 und 60Hz sind generell eh nicht optimal, da wir es ja überwiegend mit 25/50Hz Material zu tun haben....
-
30Hz-Auflösungen werden nur durchforstet, wenn keine Auflösung mit 50 oder 60Hz gefunden wird. Die müsstest du dann manuell angeben. 30 und 60Hz sind generell eh nicht optimal, da wir es ja überwiegend mit 25/50Hz Material zu tun haben....
Ok, sehe ich auch so. Dann wäre das Einfügen der Option in die config.txt etwas für die MLD6. Danke.
-
Ja, das ist 576i mpeg2. Die Auflösung habe ich auf 4k50 eingestellt. Ich teste morgen einmal, wie es mit anderen Auflösungen aussieht.
Auch bei 1080p habe ich den Effekt mit dem zitterndem oberen Bild.
-
Ich schau mir das an.
-
Ich habe grade mal eine alte Version (0.3.9) auf dem RPI4 getestet. Mit RTL (576i) auf DVB-S kann ich das nicht nachstellen. Auch nicht mit anderen SD interlaced Sendern... Ich schaue mal, was sich seit 0.3.9 getan hat, und bräuchte dann evtl. logs, falls ich es nicht reproduzieren kann.
-
Ok, ich nutze ja die MLD6. Eventuell liegt es an ffmpeg? Hier die Version, die bei der MLD6 installiert ist:
Code
Display Moreroot@livingroom:~# ffmpeg -version ffmpeg version n6.0-165-g9011d22fed Copyright (c) 2000-2023 the FFmpeg developers built with gcc 13.3.0 (GCC) configuration: --cross-prefix=aarch64-mld-linux- --ld='aarch64-mld-linux-gcc -mcpu=cortex-a72+crc -mbranch-protection=standard --sysroot=/recipe-sysroot' --cc='aarch64-mld-linux-gcc -mcpu=cortex-a72+crc -mbranch-protection=standard --sysroot=/recipe-sysroot' --cxx='aarch64-mld-linux-g++ -mcpu=cortex-a72+crc -mbranch-protection=standard --sysroot=/recipe-sysroot' --arch=aarch64 --target-os=linux --enable-cross-compile --extra-cflags=' -O2 -pipe -g -feliminate-unused-debug-types -fcanon-prefix-map -fmacro-prefix-map=/git=/usr/src/debug/rpi-ffmpeg/1.0 -fdebug-prefix-map=/git=/usr/src/debug/rpi-ffmpeg/1.0 -fmacro-prefix-map=/build=/usr/src/debug/rpi-ffmpeg/1.0 -fdebug-prefix-map=/build=/usr/src/debug/rpi-ffmpeg/1.0 -fdebug-prefix-map=/recipe-sysroot= -fmacro-prefix-map=/recipe-sysroot= -fdebug-prefix-map=/recipe-sysroot-native= -mcpu=cortex-a72+crc -mbranch-protection=standard --sysroot=/recipe-sysroot' --extra-ldflags='-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fcanon-prefix-map -fmacro-prefix-map=/git=/usr/src/debug/rpi-ffmpeg/1.0 -fdebug-prefix-map=/git=/usr/src/debug/rpi-ffmpeg/1.0 -fmacro-prefix-map=/build=/usr/src/debug/rpi-ffmpeg/1.0 -fdebug-prefix-map=/build=/usr/src/debug/rpi-ffmpeg/1.0 -fdebug-prefix-map=/recipe-sysroot= -fmacro-prefix-map=/recipe-sysroot= -fdebug-prefix-map=/recipe-sysroot-native= ' --sysroot=/recipe-sysroot --libdir=/usr/lib --shlibdir=/usr/lib --datadir=/usr/share/ffmpeg --cpu=cortex-a72+crc --pkg-config=pkg-config --disable-debug --enable-sand --enable-libudev --enable-v4l2_m2m --enable-v4l2-request --enable-libdrm --enable-libx265 --enable-gpl --enable-libx264 --enable-pic --enable-shared --enable-vout-drm --enable-avfilter --enable-nonfree --enable-gpl --enable-iconv --enable-network --enable-pthreads --disable-vdpau --disable-vaapi --enable-libfdk-aac --enable-version3 --enable-alsa --disable-altivec --enable-avcodec --enable-avdevice --enable-avfilter --enable-avformat --enable-bzlib --disable-libfdk-aac --enable-gpl --disable-libgsm --disable-indev=jack --enable-libdrm --disable-libvorbis --enable-lzma --disable-libmfx --disable-mipsdsp --disable-mipsdspr2 --disable-libmp3lame --disable-openssl --enable-pic --enable-postproc --enable-pthreads --disable-sdl2 --enable-shared --disable-libspeex --disable-libsrt --disable-stripping --enable-swresample --enable-swscale --enable-libtheora --disable-vaapi --disable-vdpau --disable-libvpx --enable-libx264 --disable-libx265 --enable-libxcb --enable-outdev=xv --enable-zlib libavutil 58. 2.100 / 58. 2.100 libavcodec 60. 3.100 / 60. 3.100 libavformat 60. 3.100 / 60. 3.100 libavdevice 60. 1.100 / 60. 1.100 libavfilter 9. 3.100 / 9. 3.100 libswscale 7. 1.100 / 7. 1.100 libswresample 4. 10.100 / 4. 10.100 libpostproc 57. 1.100 / 57. 1.100
-
Mir ist noch aufgefallen, dass das Plugin abstürzt, wenn der TV nicht angeschaltet ist. Also wenn der VDR startet, wenn der TV nicht an ist.
Code
Display MoreApr 28 11:40:04 garage systemd[1]: Starting Video Disk Recorder... Apr 28 11:40:05 garage vdr[2287]: [2287] VDR version 2.7.3 started Apr 28 11:40:05 garage vdr[2287]: [2287] codeset is 'UTF-8' - known Apr 28 11:40:05 garage vdr[2287]: [2287] override character table is 'ISO-8859-9' - known Apr 28 11:40:05 garage vdr[2287]: [2287] found 1 locales in /usr/share/locale Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'alb,sqi' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'ara' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'bos' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'bul' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'cat,cln' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'chi,zho' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'cze,ces' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'dan' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'dut,nla,nld' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'ell,gre' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'esl,spa' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'est' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'eus,baq' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'fin,suo' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'fra,fre' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'hrv' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'hun' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'iri,gle' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'ita' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'jpn' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'lav' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'lit' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'ltz' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'mac,mkd' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'mlt' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'nor' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'pol' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'por' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'rom,rum' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'rus' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'slk,slo' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'slv' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'smi' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'srb,srp,scr,scc' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'sve,swe' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'tur' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'ukr' Apr 28 11:40:05 garage vdr[2287]: [2287] loading plugin: /usr/lib/vdr/libvdr-softhddevice-drm-gles.so.5 Apr 28 11:40:05 garage vdr[2287]: [2287] loading plugin: /usr/lib/vdr/libvdr-epgsearch.so.5 Apr 28 11:40:05 garage vdr[2287]: [2287] loading plugin: /usr/lib/vdr/libvdr-menuorg.so.5 Apr 28 11:40:05 garage vdr[2287]: [2287] loading plugin: /usr/lib/vdr/libvdr-restfulapi.so.5 Apr 28 11:40:05 garage vdr[2287]: [2287] restfulapi: Port has been set to 8002! Apr 28 11:40:05 garage vdr[2287]: [2287] restfulapi: Ip has been set to 0.0.0.0! Apr 28 11:40:05 garage vdr[2287]: [2287] restfulapi: can not add webapp 'webapp'! Path '/var/lib/vdr/plugins/restfulapi/webapp' does not exist! Apr 28 11:40:05 garage vdr[2287]: [2287] restfulapi: trying to parse command line arguments Apr 28 11:40:05 garage vdr[2287]: [2287] RESTful-API Settings: port: 8002, ip: 0.0.0.0, eimgs: , cimgs: , webapp: , headers: activated Apr 28 11:40:05 garage vdr[2287]: [2287] loading plugin: /usr/lib/vdr/libvdr-satip.so.5 Apr 28 11:40:05 garage vdr[2287]: [2287] loading plugin: /usr/lib/vdr/libvdr-skindesigner.so.5 Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/setup.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/sources.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/diseqc.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/scr.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/channels.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/timers.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/commands.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/reccmds.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/svdrphosts.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/remote.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/keymacros.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/camresponses.conf Apr 28 11:40:05 garage vdr[2287]: [2293] video directory scanner thread started (pid=2287, tid=2293, prio=low) Apr 28 11:40:05 garage vdr[2287]: [2293] video directory scanner thread ended (pid=2287, tid=2293) Apr 28 11:40:05 garage vdr[2287]: [2294] epg data reader thread started (pid=2287, tid=2294, prio=high) Apr 28 11:40:05 garage vdr[2287]: [2287] registered source parameters for 'A - ATSC' Apr 28 11:40:05 garage vdr[2287]: [2294] reading EPG data from /var/cache/vdr/epg.data Apr 28 11:40:05 garage vdr[2287]: [2287] registered source parameters for 'C - DVB-C' Apr 28 11:40:05 garage vdr[2287]: [2287] registered source parameters for 'S - DVB-S' Apr 28 11:40:05 garage vdr[2287]: [2287] registered source parameters for 'T - DVB-T' Apr 28 11:40:05 garage vdr[2287]: [2287] no DVB device found Apr 28 11:40:05 garage vdr[2287]: [2287] initializing plugin: softhddevice-drm-gles (0.4.0): A software and GPU emulated HD device Apr 28 11:40:05 garage vdr[2287]: [2287] new device number 1 (card index 1) Apr 28 11:40:05 garage vdr[2287]: [2287] initializing plugin: epgsearch (2.4.1): Suche im EPG nach Wiederholungen und anderem Apr 28 11:40:05 garage vdr[2287]: [2287] initializing plugin: menuorg (0.5.2): Reorganizes the main menu Apr 28 11:40:05 garage vdr[2287]: [2287] loading menuorg config file from /etc/vdr/menu.xml Apr 28 11:40:05 garage vdr[2287]: [2287] initializing plugin: restfulapi (0.2.6.6): Offers a RESTful-API to retrieve data from VDR Apr 28 11:40:05 garage vdr[2287]: [2287] initializing plugin: satip (2.4.1-GIT-02a842f): SAT>IP Geräte Apr 28 11:40:05 garage vdr[2287]: [2295] SATIP poller thread started (pid=2287, tid=2295, prio=high) Apr 28 11:40:05 garage vdr[2287]: [2287] cTimeMs: using monotonic clock (resolution is 1 ns) Apr 28 11:40:05 garage vdr[2287]: [2287] new device number 2 (card index 2) Apr 28 11:40:05 garage vdr[2287]: [2296] SATIP discover thread started (pid=2287, tid=2296, prio=high) Apr 28 11:40:05 garage vdr[2287]: [2287] SATIP: Creating device CardIndex=1 DeviceNumber=1 [device 0] Apr 28 11:40:05 garage vdr[2287]: [2297] SATIP#0 tuner thread started (pid=2287, tid=2297, prio=high) Apr 28 11:40:05 garage vdr[2287]: [2298] SATIP#0 section handler thread started (pid=2287, tid=2298, prio=high) Apr 28 11:40:05 garage vdr[2287]: [2299] device 2 section handler thread started (pid=2287, tid=2299, prio=low) Apr 28 11:40:05 garage vdr[2287]: [2287] new device number 3 (card index 3) Apr 28 11:40:05 garage vdr[2287]: [2287] SATIP: Creating device CardIndex=2 DeviceNumber=2 [device 1] Apr 28 11:40:05 garage vdr[2287]: [2300] SATIP#1 tuner thread started (pid=2287, tid=2300, prio=high) Apr 28 11:40:05 garage vdr[2287]: [2301] SATIP#1 section handler thread started (pid=2287, tid=2301, prio=high) Apr 28 11:40:05 garage vdr[2287]: [2302] device 3 section handler thread started (pid=2287, tid=2302, prio=low) Apr 28 11:40:05 garage vdr[2287]: [2287] initializing plugin: skindesigner (1.2.25): Skin Designer Apr 28 11:40:05 garage vdr[2287]: [2287] setting primary device to 1 Apr 28 11:40:05 garage vdr[2287]: [2287] setting primary device to 1 Apr 28 11:40:05 garage vdr[2287]: [2287] [softhddevice] audio/alsa: using device 'default' Apr 28 11:40:05 garage vdr[2287]: [2287] [softhddevice] FindDevice: cannot retrieve DRM connector (0): Success Apr 28 11:40:05 garage vdr[2287]: [2287] [softhddevice] SetupFB: cannot create dumb buffer 0x0@8 (22): Invalid argument Apr 28 11:40:05 garage vdr[2287]: [2287] [softhddevice] VideoInit: SetupFB black FB 0 x 0 failed Apr 28 11:40:35 garage run.sh[2199]: /usr/share/vdr/run.d/50_vdr.sh: Zeile 3: 2287 Segmentation fault (Speicherabzug geschrieben) vdr > /dev/tty5 < /dev/tty5 Apr 28 11:40:35 garage systemd[1]: vdr.service: Deactivated successfully. Apr 28 11:40:35 garage systemd[1]: Started Video Disk Recorder. Apr 28 11:40:35 garage systemd[1]: vdr.service: Consumed 1.378s CPU time.
-
Ok, ich nutze ja die MLD6. Eventuell liegt es an ffmpeg? Hier die Version, die bei der MLD6 installiert ist:
Code
Display Moreroot@livingroom:~# ffmpeg -version ffmpeg version n6.0-165-g9011d22fed Copyright (c) 2000-2023 the FFmpeg developers built with gcc 13.3.0 (GCC) configuration: --cross-prefix=aarch64-mld-linux- --ld='aarch64-mld-linux-gcc -mcpu=cortex-a72+crc -mbranch-protection=standard --sysroot=/recipe-sysroot' --cc='aarch64-mld-linux-gcc -mcpu=cortex-a72+crc -mbranch-protection=standard --sysroot=/recipe-sysroot' --cxx='aarch64-mld-linux-g++ -mcpu=cortex-a72+crc -mbranch-protection=standard --sysroot=/recipe-sysroot' --arch=aarch64 --target-os=linux --enable-cross-compile --extra-cflags=' -O2 -pipe -g -feliminate-unused-debug-types -fcanon-prefix-map -fmacro-prefix-map=/git=/usr/src/debug/rpi-ffmpeg/1.0 -fdebug-prefix-map=/git=/usr/src/debug/rpi-ffmpeg/1.0 -fmacro-prefix-map=/build=/usr/src/debug/rpi-ffmpeg/1.0 -fdebug-prefix-map=/build=/usr/src/debug/rpi-ffmpeg/1.0 -fdebug-prefix-map=/recipe-sysroot= -fmacro-prefix-map=/recipe-sysroot= -fdebug-prefix-map=/recipe-sysroot-native= -mcpu=cortex-a72+crc -mbranch-protection=standard --sysroot=/recipe-sysroot' --extra-ldflags='-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fcanon-prefix-map -fmacro-prefix-map=/git=/usr/src/debug/rpi-ffmpeg/1.0 -fdebug-prefix-map=/git=/usr/src/debug/rpi-ffmpeg/1.0 -fmacro-prefix-map=/build=/usr/src/debug/rpi-ffmpeg/1.0 -fdebug-prefix-map=/build=/usr/src/debug/rpi-ffmpeg/1.0 -fdebug-prefix-map=/recipe-sysroot= -fmacro-prefix-map=/recipe-sysroot= -fdebug-prefix-map=/recipe-sysroot-native= ' --sysroot=/recipe-sysroot --libdir=/usr/lib --shlibdir=/usr/lib --datadir=/usr/share/ffmpeg --cpu=cortex-a72+crc --pkg-config=pkg-config --disable-debug --enable-sand --enable-libudev --enable-v4l2_m2m --enable-v4l2-request --enable-libdrm --enable-libx265 --enable-gpl --enable-libx264 --enable-pic --enable-shared --enable-vout-drm --enable-avfilter --enable-nonfree --enable-gpl --enable-iconv --enable-network --enable-pthreads --disable-vdpau --disable-vaapi --enable-libfdk-aac --enable-version3 --enable-alsa --disable-altivec --enable-avcodec --enable-avdevice --enable-avfilter --enable-avformat --enable-bzlib --disable-libfdk-aac --enable-gpl --disable-libgsm --disable-indev=jack --enable-libdrm --disable-libvorbis --enable-lzma --disable-libmfx --disable-mipsdsp --disable-mipsdspr2 --disable-libmp3lame --disable-openssl --enable-pic --enable-postproc --enable-pthreads --disable-sdl2 --enable-shared --disable-libspeex --disable-libsrt --disable-stripping --enable-swresample --enable-swscale --enable-libtheora --disable-vaapi --disable-vdpau --disable-libvpx --enable-libx264 --disable-libx265 --enable-libxcb --enable-outdev=xv --enable-zlib libavutil 58. 2.100 / 58. 2.100 libavcodec 60. 3.100 / 60. 3.100 libavformat 60. 3.100 / 60. 3.100 libavdevice 60. 1.100 / 60. 1.100 libavfilter 9. 3.100 / 9. 3.100 libswscale 7. 1.100 / 7. 1.100 libswresample 4. 10.100 / 4. 10.100 libpostproc 57. 1.100 / 57. 1.100
Kann an ffmpeg liegen oder aber auch an den Commits von softhddevice-drm-gles zwischen 0.3.9 und aktuell. Ich finde da zwar einige, die sich mit drm beschäftigen (kann der decoder, deinterlacer oder drm sein), aber ich verstehe nicht, warum es das Problem nur mit geöffnetem OSD gibt. Das funkt ins decoding/deinterlacing eigentlich gar nicht rein und rendert das OSD in einem eigenen Thread. Es wird dann "nur" zusätzlich zum Video beim Pageflip mit angezeigt. ffmpeg nutze ich 7.1, d.h. einen minimal älteren Stand als https://github.com/LibreELEC/Libr…mpeg/package.mk, mit den patches von https://github.com/LibreELEC/Libr…peg/patches/rpi
https://github.com/jc-kynesim/rpi…test/7.1.1/main ist der aktuellste Stand für rpi-ffmpeg.
Wenn ich Zeit habe, teste ich das aktuelle softhddevice-drm-gles. Gibt es bei mld die Möglichkeit, logs anzuschalten bzw. gibts da eine debug Version, die du einfach testen könntest?
-
Mir ist noch aufgefallen, dass das Plugin abstürzt, wenn der TV nicht angeschaltet ist. Also wenn der VDR startet, wenn der TV nicht an ist.
Code
Display MoreApr 28 11:40:04 garage systemd[1]: Starting Video Disk Recorder... Apr 28 11:40:05 garage vdr[2287]: [2287] VDR version 2.7.3 started Apr 28 11:40:05 garage vdr[2287]: [2287] codeset is 'UTF-8' - known Apr 28 11:40:05 garage vdr[2287]: [2287] override character table is 'ISO-8859-9' - known Apr 28 11:40:05 garage vdr[2287]: [2287] found 1 locales in /usr/share/locale Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'alb,sqi' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'ara' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'bos' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'bul' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'cat,cln' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'chi,zho' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'cze,ces' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'dan' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'dut,nla,nld' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'ell,gre' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'esl,spa' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'est' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'eus,baq' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'fin,suo' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'fra,fre' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'hrv' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'hun' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'iri,gle' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'ita' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'jpn' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'lav' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'lit' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'ltz' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'mac,mkd' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'mlt' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'nor' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'pol' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'por' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'rom,rum' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'rus' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'slk,slo' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'slv' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'smi' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'srb,srp,scr,scc' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'sve,swe' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'tur' Apr 28 11:40:05 garage vdr[2287]: [2287] no locale for language code 'ukr' Apr 28 11:40:05 garage vdr[2287]: [2287] loading plugin: /usr/lib/vdr/libvdr-softhddevice-drm-gles.so.5 Apr 28 11:40:05 garage vdr[2287]: [2287] loading plugin: /usr/lib/vdr/libvdr-epgsearch.so.5 Apr 28 11:40:05 garage vdr[2287]: [2287] loading plugin: /usr/lib/vdr/libvdr-menuorg.so.5 Apr 28 11:40:05 garage vdr[2287]: [2287] loading plugin: /usr/lib/vdr/libvdr-restfulapi.so.5 Apr 28 11:40:05 garage vdr[2287]: [2287] restfulapi: Port has been set to 8002! Apr 28 11:40:05 garage vdr[2287]: [2287] restfulapi: Ip has been set to 0.0.0.0! Apr 28 11:40:05 garage vdr[2287]: [2287] restfulapi: can not add webapp 'webapp'! Path '/var/lib/vdr/plugins/restfulapi/webapp' does not exist! Apr 28 11:40:05 garage vdr[2287]: [2287] restfulapi: trying to parse command line arguments Apr 28 11:40:05 garage vdr[2287]: [2287] RESTful-API Settings: port: 8002, ip: 0.0.0.0, eimgs: , cimgs: , webapp: , headers: activated Apr 28 11:40:05 garage vdr[2287]: [2287] loading plugin: /usr/lib/vdr/libvdr-satip.so.5 Apr 28 11:40:05 garage vdr[2287]: [2287] loading plugin: /usr/lib/vdr/libvdr-skindesigner.so.5 Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/setup.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/sources.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/diseqc.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/scr.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/channels.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/timers.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/commands.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/reccmds.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/svdrphosts.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/remote.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/keymacros.conf Apr 28 11:40:05 garage vdr[2287]: [2287] loading /etc/vdr/camresponses.conf Apr 28 11:40:05 garage vdr[2287]: [2293] video directory scanner thread started (pid=2287, tid=2293, prio=low) Apr 28 11:40:05 garage vdr[2287]: [2293] video directory scanner thread ended (pid=2287, tid=2293) Apr 28 11:40:05 garage vdr[2287]: [2294] epg data reader thread started (pid=2287, tid=2294, prio=high) Apr 28 11:40:05 garage vdr[2287]: [2287] registered source parameters for 'A - ATSC' Apr 28 11:40:05 garage vdr[2287]: [2294] reading EPG data from /var/cache/vdr/epg.data Apr 28 11:40:05 garage vdr[2287]: [2287] registered source parameters for 'C - DVB-C' Apr 28 11:40:05 garage vdr[2287]: [2287] registered source parameters for 'S - DVB-S' Apr 28 11:40:05 garage vdr[2287]: [2287] registered source parameters for 'T - DVB-T' Apr 28 11:40:05 garage vdr[2287]: [2287] no DVB device found Apr 28 11:40:05 garage vdr[2287]: [2287] initializing plugin: softhddevice-drm-gles (0.4.0): A software and GPU emulated HD device Apr 28 11:40:05 garage vdr[2287]: [2287] new device number 1 (card index 1) Apr 28 11:40:05 garage vdr[2287]: [2287] initializing plugin: epgsearch (2.4.1): Suche im EPG nach Wiederholungen und anderem Apr 28 11:40:05 garage vdr[2287]: [2287] initializing plugin: menuorg (0.5.2): Reorganizes the main menu Apr 28 11:40:05 garage vdr[2287]: [2287] loading menuorg config file from /etc/vdr/menu.xml Apr 28 11:40:05 garage vdr[2287]: [2287] initializing plugin: restfulapi (0.2.6.6): Offers a RESTful-API to retrieve data from VDR Apr 28 11:40:05 garage vdr[2287]: [2287] initializing plugin: satip (2.4.1-GIT-02a842f): SAT>IP Geräte Apr 28 11:40:05 garage vdr[2287]: [2295] SATIP poller thread started (pid=2287, tid=2295, prio=high) Apr 28 11:40:05 garage vdr[2287]: [2287] cTimeMs: using monotonic clock (resolution is 1 ns) Apr 28 11:40:05 garage vdr[2287]: [2287] new device number 2 (card index 2) Apr 28 11:40:05 garage vdr[2287]: [2296] SATIP discover thread started (pid=2287, tid=2296, prio=high) Apr 28 11:40:05 garage vdr[2287]: [2287] SATIP: Creating device CardIndex=1 DeviceNumber=1 [device 0] Apr 28 11:40:05 garage vdr[2287]: [2297] SATIP#0 tuner thread started (pid=2287, tid=2297, prio=high) Apr 28 11:40:05 garage vdr[2287]: [2298] SATIP#0 section handler thread started (pid=2287, tid=2298, prio=high) Apr 28 11:40:05 garage vdr[2287]: [2299] device 2 section handler thread started (pid=2287, tid=2299, prio=low) Apr 28 11:40:05 garage vdr[2287]: [2287] new device number 3 (card index 3) Apr 28 11:40:05 garage vdr[2287]: [2287] SATIP: Creating device CardIndex=2 DeviceNumber=2 [device 1] Apr 28 11:40:05 garage vdr[2287]: [2300] SATIP#1 tuner thread started (pid=2287, tid=2300, prio=high) Apr 28 11:40:05 garage vdr[2287]: [2301] SATIP#1 section handler thread started (pid=2287, tid=2301, prio=high) Apr 28 11:40:05 garage vdr[2287]: [2302] device 3 section handler thread started (pid=2287, tid=2302, prio=low) Apr 28 11:40:05 garage vdr[2287]: [2287] initializing plugin: skindesigner (1.2.25): Skin Designer Apr 28 11:40:05 garage vdr[2287]: [2287] setting primary device to 1 Apr 28 11:40:05 garage vdr[2287]: [2287] setting primary device to 1 Apr 28 11:40:05 garage vdr[2287]: [2287] [softhddevice] audio/alsa: using device 'default' Apr 28 11:40:05 garage vdr[2287]: [2287] [softhddevice] FindDevice: cannot retrieve DRM connector (0): Success Apr 28 11:40:05 garage vdr[2287]: [2287] [softhddevice] SetupFB: cannot create dumb buffer 0x0@8 (22): Invalid argument Apr 28 11:40:05 garage vdr[2287]: [2287] [softhddevice] VideoInit: SetupFB black FB 0 x 0 failed Apr 28 11:40:35 garage run.sh[2199]: /usr/share/vdr/run.d/50_vdr.sh: Zeile 3: 2287 Segmentation fault (Speicherabzug geschrieben) vdr > /dev/tty5 < /dev/tty5 Apr 28 11:40:35 garage systemd[1]: vdr.service: Deactivated successfully. Apr 28 11:40:35 garage systemd[1]: Started Video Disk Recorder. Apr 28 11:40:35 garage systemd[1]: vdr.service: Consumed 1.378s CPU time.
Bekanntes Problem. Ich habe es bisher nicht geschafft, dass softhddevice auf dem rpi4 startet, wenn kein DRM connector und damit auch keine Modes gefunden werden. Man kann das umgehen, wenn beim Start eine edid-bin geladen wird (https://wiki.libreelec.tv/configuration/edid). Evtl. müsste man dann detached starten oder ähnliches, aber da bin ich noch nicht soweit. Wie es dann mit audio aussieht, wenn der TV nicht an ist, weiß ich aktuell nicht.
Auf dem Rockchip habe ich das Problem nach meiner Erinnerung nicht - oder es hängt vom TV ab...
-
Kann an ffmpeg liegen oder aber auch an den Commits von softhddevice-drm-gles zwischen 0.3.9 und aktuell. Ich finde da zwar einige, die sich mit drm beschäftigen (kann der decoder, deinterlacer oder drm sein), aber ich verstehe nicht, warum es das Problem nur mit geöffnetem OSD gibt. Das funkt ins decoding/deinterlacing eigentlich gar nicht rein und rendert das OSD in einem eigenen Thread. Es wird dann "nur" zusätzlich zum Video beim Pageflip mit angezeigt. ffmpeg nutze ich 7.1, d.h. einen minimal älteren Stand als https://github.com/LibreELEC/Libr…mpeg/package.mk, mit den patches von https://github.com/LibreELEC/Libr…peg/patches/rpi
https://github.com/jc-kynesim/rpi…test/7.1.1/main ist der aktuellste Stand für rpi-ffmpeg.
Wenn ich Zeit habe, teste ich das aktuelle softhddevice-drm-gles. Gibt es bei mld die Möglichkeit, logs anzuschalten bzw. gibts da eine debug Version, die du einfach testen könntest?
Eventuell könnte hier das MLD Team das aktuelle 7.1.1 FFMpeg bauen und zur Verfügung stellen? rfehr
-
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!