Posts by Zabrimus

    What's the advantage of using yt-dlp_linux instead of the python based version yt-dlp ?

    It depends only on your system. The compiled version yt-dlp_* could or is a bit faster then the raw python version. But the precompiled version are not useable on all system. e.g. on CE22 i've tested the aarch64 Version and got a crash, because some procedure in libmali is not implemented. This error is a bit surprising and the raw python version works without problems. It's your choice what to use.

    I saw below line starting yt-dlp in your scripts: yt-dlp_linux -t mp4 --audio-multistreams

    -t mp4 is the preset for "--merge-output-format mp4 --remux-video mp4 -S vcodec:h264,lang,quality,res,fps,hdr:12,a codec:aac" and the output is usable for all softhd* output devices.

    --audio-multistreams is not necessary. Multiple audio streams will be muxed in the output and the audio streams can be selected in VDR. E.g. some channels in germany sends 2 or 3 audio streams in multiple languages or in a language for visually impaired with more descriptive audio. This argument depends also on your needs.

    ... und da hättest du doch auch gleich Webspace, wo man sich mit der LE/CE Automatik die Updates abholen könnte, oder?

    Genau die Idee hatte ich befürchtet :D

    Ja. Ich denke, man kann ein Addon-Repository anlegen, die letzte CE/LE Version speziell markieren oder was auch immer man sich wünscht. Die Page ist eigentlich nur eine Seite. Mit gh komme ich allerdings auf die direkten Download-Links der einzelnen Files in den Releases und genau das habe ich hier ausgenutzt.

    Die Releases von VDR*ELEC werden ja regelmäßig erstellt. Die Releases wurden schon in die verschiedenen Distros und Versionen gesplittet.
    Nur ist es leider so, daß die Releases sehr unübersichtlich sind und es mühsam ist, alte Versionen zu finden oder innerhalb eines Releases ein bestimmtes File.

    Jetzt lasse ich eine Github Page erstellen, die eine Übersicht über alle vorhandenen Releases erstellt und die Suchfunktionalität des Browsers ist ziemlich hilfreich. Die Seite ist allerdings extrem - wie soll ich es sagen - spartanisch. Vielleicht hätte ich blinkende Schriften, viele animierte gifs, enorm viele Farben, Laufschriften und auch Sound hinzufügen sollen um ein wenig Spannung zu erzeugen.

    Die Seite wird bei jedem Release neu erzeugt, sollte also aktuell sein. Man kann sie hier finden: https://zabrimus.github.io/VDRSternELEC/

    Wenn ich weiter darüber nachdenke, wäre eine Markdown-Variante besser gewesen. Aber zumindest existiert jetzt etwas.

    Ich aber, wie geschrieben: sudo apt-get install cargo-binutils, weil darin ist llvm-objcopy enthalten.

    Es werden nicht die Host-Versionen der Programme gesucht, sondern die selbst gebauten. Offensichtlich wurde etwas geändert und es taucht schon wieder das Problem mit dash/bash auf.
    dash (die Standardshell beim Build, /bin/sh) führt dieses Kommando nicht richtig aus:

    Code
    cp -a bin/{llvm-link,llvm-nm,llvm-objcopy,llvm-objdump} "${TOOLCHAIN}/bin"

    Ich muss dazu einen Patch schreiben der das zu einzelnen cp umbaut. Etwas ähnliches habe ich hier schon treiben müssen.

    Edit:
    Ich habe entsprechende Patches hinzugefügt. Hoffentlich klappt es jetzt.

    Was meinst Du damit?

    Achje. Ich habe den Beitrag editiert und geschrieben, was ich hinzugefügt hatte. Ignorieren....

    No module named build

    Der Fehler kommt mir bekannt vor. Ich bin mir nicht mehr sicher, ob ich das fixen konnte oder einfach alles neu gebaut habe.

    Code
    ./clean-package.sh -config CoreELEC-22-no setuptools:host
    ./clean-package.sh -config CoreELEC-22-no distlib:host
    ./build.sh -config CoreELEC-22-no -package setuptools:host
    ./build.sh -config CoreELEC-22-no -package distlib:host

    Wenn das dann auch nicht klappt, fürchte ich das Schlimmste.

    LotharE

    mesonbuild. Hmm... Versuch mal meson und Python3 zu löschen und erst Python3 und danach meson einzeln bauen:

    Code
    ./clean-package.sh -config CoreELEC-22-no Python3
    ./clean-package.sh -config CoreELEC-22-no Python3:host
    ./clean-package.sh -config CoreELEC-22-no meson:host
    ./build.sh -config CoreELEC-22-no -package Python3:host
    ./build.sh -config CoreELEC-22-no -package Python3
    ./build.sh -config CoreELEC-22-no -package meson:host

    Wenn das auch nicht klappt, dann hilft wahrscheinlich nur ein frischer Build.

    edit: clean and build host version

    Zabrimus: How do i choose the folder with the image and the mpeg file? I can't find any information in README or iptv.conf

    The iptv plugin first checks if the radio plugin is installed. If it is installed, then the radio plugin handles the still image and the iptv Plugin does nothing.

    If the plugin is not installed, then again a choice takes place depending on the setup entry:
    - StillImage: Read the image from plugin resource directory/radio.mpg
    cDevice::PrimaryDevice()->StillPicture(buffer, sp.size);
    radio.mpg: MPEG sequence, v2, MP@ML progressive Y'CbCr 4:2:0 video, HD-TV 1920P, 25 fps

    - PrintPES: Create a PES packet internally and send the packet to
    cDevice::PrimaryDevice()->PlayPes

    I currently discover that the PES handling is very inefficient. Is it really needed or can i remove it completely?

    Es gibt ein neues Addon: yt-dlp.
    Das Addon sollte entweder wirklich wie ein Addon in Kodi installiert oder nach /storage/.kodi/addons entpackt werden.

    Meine Tests mit den vorkompilierten Releases waren nicht zufriedenstellend. Die Krönung war das aarch64 Binary, das sich über eine fehlende Funktion in der libMali beschwert hat. Das neue Addon wird nicht kompiliert wie die Releases (wenn man vom Python Compile zu pyc absieht), läuft dafür aber ganz gut.

    Und netcat (/usr/bin/netcat) ist auch neu, da das nc von busybox auch nicht so funktioniert wie ich mir das vorstelle. Ich habe da einfach die Debian Sourcen mitsamt aller Patches in ein eigenes Repository untergebracht.

    Die Beispiele des iptv-Plugins muss noch in einer anderen Version committen.

    I specify that the same prob is using iptv without radio plugin.

    The plugin uses exactly the same mechanism as the the radio plugin. And i don't really understand the creation of the PES picture.

    The plugins allows 3 different setups of the still picture:
    1. no still picture at all
    2. Use StillPicture function (uses cDevice::PrimaryDevice()->StillPicture)
    3. Use PlayPes Function (uses cDevice::PrimaryDevice()->PlayPes)