Posts by Thinner

    Hi,

    compilation fails on updated Raspbian Bookworm 32-bit (Pi Zero 2W), bcm_host.h is missing, included by \include\grabber\dispmanx\DispmanxFrameGrabber.h

    bcm_host.h is part of libraspberrypi-dev

    CompileHowto.md says:

    "on RPI you need the videocore IV headers

    sudo apt-get install libraspberrypi-dev"

    Doing this results in a long list of packages to be removed including raspi-config and i don't think this is a good idea:

    pi@raspberrypi:~ $ sudo apt-get install libraspberrypi-dev

    Paketlisten werden gelesen… Fertig

    Abhängigkeitsbaum wird aufgebaut… Fertig

    Statusinformationen werden eingelesen… Fertig

    Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:

    agnostics autotouch cups-pk-helper dconf-cli device-tree-compiler dos2unix feedbackd feedbackd-common fio flashrom fonts-gfs-didot-classic fonts-piboto

    gir1.2-notify-0.7 gir1.2-secret-1 grim gtk-nop gtk2-engines-pixbuf gtk2-engines-pixflat gui-pkinst gui-updater ibverbs-providers iw labwc-prompt libaio1

    libboost-iostreams1.74.0 libcupsimage2 libfdt1 libfeedback-0.0-0 libgfapi0 libgfrpc0 libgfxdr0 libglusterfs0 libgpiolib0 libgsound0 libibverbs1 libliftoff-rpi libnbd0

    libnuma1 librados2 librbd1 librdmacm1 libwf-config1 libwf-utils0 libwlroots11 lxplug-batt lxplug-bluetooth lxplug-cpu lxplug-cputemp lxplug-ejecter lxplug-magnifier

    lxplug-menu lxplug-netman lxplug-volumepulse mate-polkit-bin pastebinit pi-greeter pi-language-support pi-printer-support pipanel pixflat-icons pixflat-theme

    printer-driver-escpr python3-cairo python3-cups python3-cupshelpers python3-pycryptodome python3-smbc python3-v4l2 qt5-gtk2-platformtheme qt5-style-plugin-cleanlooks

    qt5-style-plugin-motif qt5-style-plugin-plastique qt5-style-plugins qt5ct raspi-utils-core raspi-utils-eeprom raspi-utils-otp rp-bookshelf rpd-wallpaper rpinters

    swaylock system-config-printer-common system-config-printer-udev triggerhappy wayfire wfplug-batt wlopm xmlstarlet xsettingsd

    Verwenden Sie »sudo apt autoremove«, um sie zu entfernen.

    Die folgenden zusätzlichen Pakete werden installiert:

    libraspberrypi0

    Die folgenden Pakete werden ENTFERNT:

    gldriver-test libdtovl0 lxplug-updater pi-bluetooth piwiz raspberrypi-net-mods raspberrypi-sys-mods raspberrypi-ui-mods raspi-config raspi-utils raspi-utils-dt raspinfo

    rc-gui rp-prefapps rpd-plym-splash rpi-eeprom squeekboard userconf-pi wfplug-updater

    Die folgenden NEUEN Pakete werden installiert:

    libraspberrypi-dev libraspberrypi0

    0 aktualisiert, 2 neu installiert, 19 zu entfernen und 0 nicht aktualisiert.

    Es müssen noch 0 B von 194 kB an Archiven heruntergeladen werden.

    Nach dieser Operation werden 55,0 MB Plattenplatz freigegeben.

    Möchten Sie fortfahren? [J/n]

    I've found this issue related to updated version of raspi-utils-dt: https://github.com/raspberrypi/bookworm-feedback/issues/428

    -> "Correct; as you're aware the old display interfaces are no longer supported."

    Any chance to see this fixed?

    How to compile the project without Dispmanx support using cmake?

    wbr

    Thinner

    Lord-Grey :

    I would like to check the cropping issue #1908, because i can't confirm this on my (slightly outdated) running system using my threaded version of ImageResampler based on current non-threaded one, not by setting different cropping values, not by looking at the code in ImageResampler. Maybe it's related to grabbers not using ImageResampler only, if there are any. To be sure i did a fresh clone today and ran into issue above.

    BTW: Build on Raspian Bullseye will fail too, because of QT5 support has been removed and there is no native QT6 support for Bullseye, only a non-supported backport solution, that's why a had to upgrade (fresh install) to Bookworm. Maybe you want to update SupportedPlatforms.md.

    BTW2: Please have a look at CompileHowto.md, sections "The general quick way (without big comments)" and "The detailed way (with many comments)" are different:

    "git clone --recursive https..." vs. "git clone --recursive --depth 1 https..."

    "cmake --build ." and "cmake --build . -j 2 "vs. "ninja"

    Hi,

    it looks like a Dreamview T1. Do you really want to embark on this journey?

    The first thing I would do is get a USB-C breakout board (or two to use original power supply). Then I would flash an ESP32 lying around with WLED to see if it works. 12V and GND from any power supply greater than 2A will be connected to the USB-C breakout board for the strip. Then connect GND and data pin (D+ or D- you have to try) to the ESP32. WLED then still needs to be configured. This could already work. If not, I would try a fast level converter between the data pins on ESP32 and the strip. The usual ones for I2C with simple MOSFETS are too slow. See also https://kno.wled.ge/basics/compatible-hardware/

    Good luck.

    wbr

    Hi,

    i don't think you will have to use a bigger power supply, look at the Govee power supply, for Govee Envisual T2 i found 36W, thats 3A at 12V. IMHO, you may use your current power supply. More interesting is signal voltage of your current strip. Is it 3.3V or 5V or something else? Maybe you have to use a level shifter. Another thing to check is the chip type of your strip. For Govee Envisual T2 i found a picture of WS2811. Current FTDI-driver supports APA102, WS2812 and SK6812. I don't know the differences of WS2811 and WS2812. Good luck

    wbr

    Hi Lord-Grey,

    thanks. I needed a way to switch between inputs of my UTV007-grabber in the past. I've coded some bash scripts triggered by LIRC. While working on it i realized that i have to read whole config (getconfig), modify the input setting and then write whole config back (setconfig). It was not possible to write back changed settings only, because all other config items where resetted to defaults. But that's not a problem if you know about it.

    wbr

    Hi Lord-Grey,

    i've tried setting some hardcoded values to numerator/denominator, but it looks like one can only set FPS that are supported by the V4L2 device drivers for the given resolution and pixelformat.

    See output of v4l2-ctl -d /dev/videoX --list-formats-ext

    For my webcam i can't go lower than 15 FPS because that's the minimum FPS supported.

    wbr

    PS:

    For my internal laptop webcam:

    v4l2-ctl -d /dev/video0 --set-parm 2

    -> Frame rate set to 15.000 fps

    = no chance to set lower values than supported

    For Raspberry Pi Camera v2.1:

    v4l2-ctl -d /dev/video1 --set-parm 2

    -> Frame rate set to 2.000 fps

    = works if supported

    I am really sorry!

    Yes, I meant the setconfig subcommand.

    Hi,

    thank you for the clarification (mistakes happen :) ).

    And also thank you for the extensive revision of the JSON API. I'll play around with it a bit.

    Do you know off the top of your head whether you can now use setconfig to change individual settings or whether a complete configuration is still expected?

    wbr

    Hi,

    I came across some code that I think needs review.

    Please have a look at https://github.com/hyperion-proje…Thread.cpp#L125

    Setting of FlipMode looks messed up. Why is there an exception for BGR24? As far as i know FlipMode is processed in ImageResampler.cpp.

    Please have a look. Thanks.

    wbr

    Hi,

    how about that:

    Drops CPU usage from 40% to 3% if no signal detected.

    wbr

    Update for using latest version:

    -> unload module if loaded, if it doesn't work reboot

    sudo modprobe -r v4l2loopback

    -> uninstall package manager version

    sudo apt remove v4l2loopback-dkms v4l2loopback-utils

    -> install latest version

    sudo apt install raspberrypi-kernel-headers

    git clone https://github.com/umlaeute/v4l2loopback v4l2loopback

    cd v4l2loopback

    (make clean on rebuild)

    make

    sudo make install

    sudo depmod -a

    cd utils

    sudo make install

    v4l2loopback-ctl --version

    -> run

    sudo modprobe v4l2loopback devices=1 video_nr=9 card_label="Virtual-Device9"

    sudo v4l2loopback-ctl set-caps /dev/video9 "YU12:720x576@25/1"

    ffmpeg -i "rtsp://192.168.32.101:554/?avm=1&freq=450&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=0&pids=660" -f v4l2 /dev/video9

    Hi,

    thanks for this inspiring question.

    You can use v4l2loopback and ffmpeg for that.

    sudo apt install v4l2loopback-dkms v4l2loopback-utils ffmpeg

    -> create a virtual V4L2 device /dev/video9

    sudo modprobe v4l2loopback devices=1 video_nr=9 card_label="Virtual-Device9"

    -> set capture format for the device

    sudo v4l2loopback-ctl set-caps "video/x-raw,format=I420,width=720,height=576,framerate=25/1" /dev/video9

    WARNING: This command did freeze on my system, execute this in desktop environment terminal you can close or screen-session over SSH

    -> use ffmpeg to get your webcam stream and write it to the device

    ffmpeg -i "rtsp://192.168.32.101:554/?avm=1&freq=450&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=0&pids=660" -f v4l2 /dev/video9

    I had to make sure no reencoding is needed, my RPi Zero 2W isn't fast enough, so i had to set resolution and pixel-format of the device to the ones of input stream. But if you like you can do reencoding:

    ffmpeg -i "rtsp://192.168.32.101:554/?avm=1&freq=450&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=0&pids=660" -s 720x576 -r 25 -pix_fmt yuv420p -f v4l2 /dev/video9

    ffmpeg -pix_fmts lists all supported formats. You need to choose a format supported by hyperion.ng and v4l2loopback-ctl. It's a little bit tricky as the names do not match always as you can see below (I420=yuv420p=YU12). For v4l2loopback-ctl they are case sensitive (maybe https://gstreamer.freedesktop.org/documentation/…/?gi-language=c will help).

    Good luck.

    wbr

    Thinner

    PS: This is for version 0.12.5 installed on Raspbian Bullseye, in newer versions v4l2loopback-ctl set-caps has changed, i also tried current version from https://github.com/umlaeute/v4l2loopback but didn't succeed yet.

    @sophie @esprit1711 @all
    Wenn ihr wollte, könnt ihr unter dieser Adresse eine modifizierte Version downloaden und die Auflösung bzw. die Bildrate des V4L2 Grabbers über das WebUI einstellen (wenn der PR build fertig ist).
    Bin leider noch nicht so weit das es PR fertig wäre. Als nächstes soll eine DropDown Variante im WebUI genutzt werden um das Gerät, die Auflösung und die Bildrate auszuwählen.
    Anhand des Videos was ich unten verlinkt habe, kann man gut erkennen das dadurch Ressourcen gespart werden.

    Hi, es wäre wirklich super wenn das Setzen der Auflösung es irgendwann in den master branch schafft. Könntest du bei der Gelegenheit gleich noch ein Eingabe-/Auswahlfeld für das Pixelformat einbauen? Der restliche Code ist ja schon da und wird bereits von hyperion-v4l2 verwendet. Dann wäre die Sache rund.

    Danke
    Thinner

    Hi,

    ich vermute mal auf deinem RPi3 läuft Buster? Hast du da in den letzten Tagen mal ein Update gemacht? Dabei wurden zumindest bei mir Firefox von 60.9.0esr-1~deb10u1+rpi1 auf 68.4.1esr-1~deb10u1+rpi1 und Chromium von 74.0.3729.157-rpt5 auf 78.0.3904.108-rpt1 geupdatet, was einige Probleme bei mir behoben hat.

    Mit den beiden älteren Versionen hatte ich massive Probleme bei der LED-Simulation in hyperion-ng, weil der garbage collector (GC) vom Browser den Speicher nicht freigegeben hat, was zur Folge hatte dass der Pi versucht hat Speicher auszulagern und am Ende stehen geblieben ist. Nachdem ich die ledsim.js überarbeitet hatte, lief es dann stabil. Nach dem Update der Browser vorgestern habe ich den originalen Code nochmal probiert, damit lief es dann auch in den beiden aktuellen Browsern stabil, was bedeutet dass der GC bei beiden überarbeitet wurde.

    Vielleicht erklärt das ja dass es jetzt bei dir läuft.

    Grüße