Wie kann man Kodi dazu bringen alle Prozessorkerne zu nutzen?

  • Auf meinem Server werkelt ein AMD Ryzen 5 3600X mit 6 Kernen und Arch Linux mit LXQT. Htop zeigt mit, dass Kodi aber nur ein Kern nutzt. Wäre ja nicht weiter tragisch, für die normale Nutzung des Media Centers reicht das ja. Für rechenintensive Aufgabe wäre es aber gut, wenn Kodi alle Kerne nutzen würde. Hat jemand eine Idee wie man das Kodi beibringt?

  • Wobei Kodi 20 schon mehr optimiert ist wie Kodi 19.x in dem Bereich.

    Unter Libreelec werden übrigens alle Kerne belastet.

    --------------
    Guides nicht mehr verfügbar wegen Youtube unvermögen guten von schlechten Kodi Videos zu unterscheiden.

  • Z.B. die Erstellung von Thumbnails. siehe: Thumbnails von Bildern erzeugen

    "beschleunigt über die GPU" macht wenig Sinn, wenn die Grafikeinheit im Prozessor steckt. In meinen Clients steckt ein Celeron.

    Über die Oberfläche von Kodi reicht natürlich ein Kern. Aber ich beschäftige manchmal Kodi über bash-Skripte. Da würde ich mir wünschen, dass die kodi.bin schneller arbeitet.

  • Wobei Kodi 20 schon mehr optimiert ist wie Kodi 19.x in dem Bereich.

    Unter Libreelec werden übrigens alle Kerne belastet.

    Wenn LibreELEC das kann, dann müsste man das doch auch unter einer Desktop-Umgebung möglich sein?

  • Ich bin kein Dev, aber der Quellcode ist offen von LE sowie Kodi selber, hat meiner meinung dann etwas mit dem CPU Govenour zu tun aber wer bin ich scho :D

    --------------
    Guides nicht mehr verfügbar wegen Youtube unvermögen guten von schlechten Kodi Videos zu unterscheiden.

  • Wobei multicpu ja meist eine Anwendung/Problemstellung je Kern bedeutet.

    Und seltener ein Ding auf mehrere Kerne verteilen.

    Bei nicht kommerziellen Projekten.

    Ich denke, dass der Part einfach nur single CPU kann.

    Ist ja auch ein Background Prozess.

    Kann alles anders sein. Reine Vermutung.

  • Vielen Dank erstmal allen.

    Ich denke die kodi.bin ist einfach dafür nicht ausgelegt. Ursprünglich stammt Kodi ja von XBMC für die Xbox. In dieser Kiste werkelte ein Intel (Coppermine-Kern) mit 733 MHz. Da hat man wohl innerhalb der letzen 20 Jahre nicht den Bedarf für Mehrkern-Prozessoren gesehen.

    Na ja, alles gut, weitermachen ;)

  • "beschleunigt über die GPU" macht wenig Sinn, wenn die Grafikeinheit im Prozessor steckt.

    Das Dekodieren eines Videos, was ...zig mal schneller per Hardware erledigt wird als per Softwaredekodierung macht wenig Sinn? Und warum sollte sie nicht im Prozessor stecken? CPU und GPU sind zwei getrennte Systeme auf dem Chip.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

    Einmal editiert, zuletzt von PvD (1. Mai 2023 um 20:33)

  • Z.B. die Erstellung von Thumbnails. siehe: Thumbnails von Bildern erzeugen

    "beschleunigt über die GPU" macht wenig Sinn, wenn die Grafikeinheit im Prozessor steckt. In meinen Clients steckt ein Celeron.

    Über die Oberfläche von Kodi reicht natürlich ein Kern. Aber ich beschäftige manchmal Kodi über bash-Skripte. Da würde ich mir wünschen, dass die kodi.bin schneller arbeitet.

    Vielleicht solltest du dir eher überlegen ob Kodi überhaupt das richtige Programm für dein vorhaben ist.

  • Bisschen Themenfremd, aber reingeschmissen:

    z.B. .NET C# kennt z.B.

    Code
    parallel.foreach

    Damit kann jedes Skript-Kiddie eine sinnvolle Parallelisierung in .NET-Programmen unterbringen.

    Dürfte - um den Bogen teilweise wiederzuspannen - gerade bei einer Thumbnail-Erstellung ganz praktisch sein. Nun ist Kodi aber keine .NET Anwendung...

    Zitat von root2

    Merke: Das "S" in "IoT" steht für Sicherheit!

  • Vielleicht solltest du dir eher überlegen ob Kodi überhaupt das richtige Programm für dein vorhaben ist.

    Wieso nicht? Darf man sich nichts schnelleres wünschen und versuchen das Problem zu verstehen?

    @kpfroemel

    Ich könnte mir vorstellen, das evtl. ein schnelleres Speichermedium dort auch etwas abhilfe schafft Bzw. die Anbindung zueinander.

    Externer Inhalt peer2profit.co
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
  • Sich man kann sich viel wünschen.

    Tatsache ist aber nunmal das die Foto Funktion von Kodi extrem rudimentär ist wenn man sich andere Projekte die Photoprism etc. ansieht und auch in den letzten Jahre nicht sonderlich viel Liebe erhalten hat.

    Wenn man die genügen Zeit hat um diese da reinzustecken: Wunderbar. Ich befürchte aber ehrlich gesagt das das eine Sackgasse wird.

  • Über die Oberfläche von Kodi reicht natürlich ein Kern. Aber ich beschäftige manchmal Kodi über bash-Skripte. Da würde ich mir wünschen, dass die kodi.bin schneller arbeitet.

    Wenn du ein Bash-Script über Kodi triggerst, liegt es nicht mehr an Kodi wie viele Kerne dann verwendet werden. Kodi triggert das OS und das entscheidet in dem Fall. Das sollte defakto ein anderer Prozess sein, der dann startet und diesen solltest du auch in der Prozessliste sehen. Das wäre dann unabhängig von der kodi.bin.

    Ich werde das aber nochmal testen um meine Theorie entweder zu widersprechen oder zu bestätigen ;)

    Wertschätzung kostet nichts, aber sie ist von unschätzbarem Wert.

  • So...ich kann meine Theorie bestätigen.....

    Was habe ich gemacht.

    Ich habe ein Script mit dem Namen kodi.sh geschrieben:

    Code
    #/bin/bash
    
    # gib etwas in eine Datei aus, damit ich weiß, dass du gestartet bist
    echo "foo" > /home/davu/kodi.txt
    
    #schlafe für eine Weile, damit ich prüfen kann, welcher Prozess gestartet wird
    sleep 1000

    Diese Datei habe ich unter /usr/local/bin abgelegt, damit ich sie einfach so starten kann

    Dann habe ich mir eine keyboard.xml angelegt und sie wie folgt gefüllt:

    Code
    <[definition='3','0'][definition='3','0']keymap[/definition][/definition]>
      <global>
        <keyboard>
          <ü>System.Exec(kodi.sh)</ü>
        </keyboard>
      </global>
    </[definition='3','0'][definition='3','0']keymap[/definition][/definition]>

    Dann habe ich Kodi geöffnet und dann die Taste ü gedrückt.

    Auf meinem Terminal habe ich dann folgendes ausgeführt: pgrep -l kodi.sh und siehe da....es ist ein ganz eigener Prozess der nicht mehr in Abhängigkeit von Kodi steht. Denn wenn ich Kodi beende, dann läuft dieser Prozess immer noch.

    Kodi ist also nicht dafür verantwortlich wieviele Kerne von einem Bash-Script genutzt werden auch wenn diese Scripte von Kodi aus getriggert werden

    Dein Vorhaben hängt also nicht von Kodi ab und daher ist leider der Threadtitel schon nicht ganz richtig. ;)

    Wertschätzung kostet nichts, aber sie ist von unschätzbarem Wert.

Jetzt mitmachen!

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