[gelöst]Hardware Decodierung will einfach nicht

  • Moin, das Hardwaredekodierungsproblem will ich einfach nicht in den Griff bekommen.
    Ich hab den Intel G4560.

    Meine Go Datei hab ich wie folgt angepasst

    Bash
    #!/bin/bash
    #Emby Hardware Transcoding
    modprobe i915
    chown -R nobody:users /dev/dri
    chown -R 777 /dev/dri
    # Start the Management Utility
    /usr/local/sbin/emhttp &

    Hier die Lösung als Video:

    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Dies war das Problem:

    Spoiler anzeigen

    Meine Docker Configuration sieht wie folgt aus:

    Die Videogruppe hab ich bereits geprüft und die ist und bleibt 18.

    Also was bleibt mir noch? :/
    Das Device wird auf jeden Fall nicht angezeigt unter Emby.

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

    Einmal editiert, zuletzt von SkyBird1980 (24. Januar 2019 um 22:20)

  • Hi, ich habe den gleichen Prozessor unter UnRaid und es läuft.
    Meine Einstellungen der Settings unterschieden sich insofern, dass ich unter "Extra Parameters" nichts eingegeben habe, das Device aber über "Host Device 1:" als Pfad aufrufe bzw. einbinde. Unter "GIDLIST" steht bei mir 100,18 (nicht wie bei Dir nur 18).

    Screenshot anbei … im ersten habe ich Dir die Unterschied zwischen Deiner und meiner Docker-Config rot eingekringelt.
    Im zweiten siehst Du, dass das Render-Device in Emby ankommt und ausgewählt werden kann.

    Es funktioniert alles soweit, nur beim Starten des Servers meldet der Emby-Docker einen Fehler bzw. geht einfach wieder aus (Ist im Autostart). Starte ich ihn erneut, so passt alles. Ich schätze, der Container wird gestartet, bevor das Einbinden des Render-Devices über die GO erfolgt ist.

    Du hast Emby Premiere? Das ist nämlich seit Version 4 Voraussetzung für das Transkodieren. Ohne Premiere geht das wohl nicht mehr. Frage nur zur Sicherheit ;)

  • Schonmal danke für die Denkanstöße, die GIDList kann ich ja erweitern. Ich hab das nach dem Guide im Emby Forum gemacht und da gehts so.
    Ok, ich hab die GID List nun erweitert also zu 100,18 und das Device zusätzlich eingebaut (das andere hab ich nicht gelöscht, damit sieht die Docker Config so aus und die Ausgabe so :D


    Problem erledigt! :D

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

  • Es funktioniert alles soweit, nur beim Starten des Servers meldet der Emby-Docker einen Fehler bzw. geht einfach wieder aus (Ist im Autostart). Starte ich ihn erneut, so passt alles. Ich schätze, der Container wird gestartet, bevor das Einbinden des Render-Devices über die GO erfolgt ist.


    Ja, vermutlich wird Docker gleichzeitig mit der go Datei gestartet. Oder die go Datei erst am Ende des Boot Vorgangs.
    Vielleicht bekommst du es ohne die drei Einträge in der go zum Laufen. Kommentiere die 3 Zeilen mal mit einem # in der Go Datei aus und stelle folgendes ein.

    Die Datei /etc/modules-load.d/modules.conf editieren und das Modul i915 eintragen:

    Code
    # List of modules to load at boot
    i915

    udev sollte i915 eigentlich automatisch laden, so kann man systemd aber sagen, dass er i915 beim Anfang des Bootens nochmal laden soll.


    Die Rechte am Device nicht umbiegen, sondern die Gruppen in die GIDLIST eintragen.
    z.B. auf meinem Manjaro System sieht /dev/dri so aus:

    ls -al /dev/dri/


    Code
    drwxr-xr-x   3 root root        140 16. Jan 19:03 .
    drwxr-xr-x  20 root root       3840 16. Jan 19:03 ..
    drwxr-xr-x   2 root root        120 16. Jan 19:03 by-path
    crw-rw----+  1 root video  226,   0 16. Jan 19:03 card0
    crw-rw----+  1 root video  226,   1 16. Jan 19:03 card1
    crw-rw-rw-   1 root render 226, 128 16. Jan 19:03 renderD128
    crw-rw-rw-   1 root render 226, 129 16. Jan 19:03 renderD129

    Die cardx Vezeichnisse gehören der Gruppe video, die Render Dateien der Gruppe render

    ls -an /dev/dri/


    Code
    insgesamt 0
    drwxr-xr-x   3 0   0      140 16. Jan 19:03 .
    drwxr-xr-x  20 0   0     3840 16. Jan 19:03 ..
    drwxr-xr-x   2 0   0      120 16. Jan 19:03 by-path
    crw-rw----+  1 0 986 226,   0 16. Jan 19:03 card0
    crw-rw----+  1 0 986 226,   1 16. Jan 19:03 card1
    crw-rw-rw-   1 0 989 226, 128 16. Jan 19:03 renderD128
    crw-rw-rw-   1 0 989 226, 129 16. Jan 19:03 renderD129

    Mit ls -an bekommt man die IDs der Gruppen zu sehen. video hat auf meinem System 986 und die render = 989
    Also auf meinem System müsste ich in die GIDLIST 986,989 schreiben. Das kann natürlich bei euch anders sein.

  • Die Datei /etc/modules-load.d/modules.conf editieren und das Modul i915 eintragen:

    Dieses Verzeichnis finde ich bei mir in UnRaid nicht.

    Jedenfalls stimmen die Gruppenrechte bei mir wie oben gepostet:
    cardx gehört der Gruppe video (18), render der Gruppe users (100). So steht es auch in der GIDLIST.

  • @SkyBird1980: Jein. Lies mal oben meinen Eintrag …
    Go klappt nicht beim Boot mit Emby auf autostart.
    Schätze, die Go lädt nach dem Docker. Jedenfalls ist das Device nicht verfügbar wenn der Docker im autostart Modus startet, daher bricht er mit einem Fehler ab. Erneutes Laden geht zu einemspäteren Zeitpunkt. Dann ist auch as device verfügbar.

    Steht aber alles oben ;)

  • Dieses Verzeichnis finde ich bei mir in UnRaid nicht.
    Jedenfalls stimmen die Gruppenrechte bei mir wie oben gepostet:
    cardx gehört der Gruppe video (18), render der Gruppe users (100). So steht es auch in der GIDLIST.

    Sicherlich möglich, dass unraid das so einstellt. Ist aber selten, dass man ein Device auf die Gruppe users einstellt.
    Ist denn das i915 Modul neu geladen worden? Oder siehst du einfach nur die Auswirkung von "chown -R nobody:users /dev/dri" ?

    Ich habe jetzt hier kein Unraid zu Verfügung. Aber kannst du mal ohne die 3 Zeilen in der Go booten ( mit einem # am Anfang auskommentieren )
    Und dann schauen, ob i915 automatisch selbst geladen wird. Mittel "lsmod | grep i915" ?

    Wenn nicht, such mal nach der Datei /etc/rc.d/rc.modules. Ob es die gibt. Das wäre dann noch die ganz alte Schule.
    Und ob da am Ende der Datei eine /etc/rc.d/rc.modules.local aufgerufen werden soll.

    In der Datei /etc/rc.d/rc.modules.local (muss man vermutlich erstellen) gehört dann:

    /sbin/modprobe i915

  • Hallo,
    ich würde gerne verstehen worum es genau geht, also wo die Problematik genau ist ?
    Was genau ist "das Hardwaredekodierungsproblem" ?

    Meine Konfig

    Spoiler anzeigen

    Server:

    • Intel Pentium G4560 2x 3.50GHz
    • Gigabyte GA-B250M-DS3H Intel B250
    • 16 GB RAM DDR4
    • SSD Cache
    • HDDs
    • unRAID mit der aktuellsten Stable-Version


    Kodi:

    • Nvidia Shield TV (2017)
    • KODi immer mit der aktuellsten Stable-Version
  • Beim Transkodieren, also das umwandeln in ein streamingfreundliches Format (z.B. um über Internet zu schauen) können diese Prozessoren das per Hardware umwandeln. Ohne die vorgeschlagenen Änderungen muss der Prozessor das per Software machen und verbraucht damit mehr Leistung und ist damit voll ausgelastet.

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

  • Beim Transkodieren, also das umwandeln in ein streamingfreundliches Format (z.B. um über Internet zu schauen) können diese Prozessoren das per Hardware umwandeln. Ohne die vorgeschlagenen Änderungen muss der Prozessor das per Software machen und verbraucht damit mehr Leistung und ist damit voll ausgelastet.

    Danke :)

    Ich versuche die Änderungen zu verstehen:
    Container-Variable gdlist von "100" auf "100,18"
    extra Parameter leer lassen
    Bei "Host Device 1:" den Pfad zu welchem Device? Zu der Festplatte, wo die Filme etc. liegen ?
    Bei Emby unter Transcodierung Alles auswählen
    Und man muss Emby Premiere haben
    Den Rest habe ich nicht verstanden

    Meine Konfig

    Spoiler anzeigen

    Server:

    • Intel Pentium G4560 2x 3.50GHz
    • Gigabyte GA-B250M-DS3H Intel B250
    • 16 GB RAM DDR4
    • SSD Cache
    • HDDs
    • unRAID mit der aktuellsten Stable-Version


    Kodi:

    • Nvidia Shield TV (2017)
    • KODi immer mit der aktuellsten Stable-Version
  • Ich habe dazu jetzt ein Video in den ersten Post hinzugefügt.

    Als kleine Ergänzung zu Deinem Video noch die im UnRaid-Forum vorgeschlagene Vorgehensweise zum Einbinden des devices: dieses kann man einfacher über die weiteren Optionen > Add … > Device machen (klingt schon gar nicht so abwegig). Extra Parameter bleiben dann für andere Serverkommandos frei.
    Das Hinzufügen eines Templates (gibts im Emby Docker Repository, sogar extra für UnRaid) ist auch nicht die schlechteste Idee und macht es -gerade für Anfänger- um einiges leichter.

    [Klugscheissmodus/]

    Cool, dass Du ein Video gemacht hast!

    PS: „Optimierte“ Vorgehensweise kann ich bei Interesse gerne detaillierter posten.
    PPS: Sieht man aber eigentlich auch im angehängten Foto meines obigen Posts mit der Emby config.

  • Danke für deinen Post, @hi2hello.

    Als kleine Ergänzung zu Deinem Video noch die im UnRaid-Forum vorgeschlagene Vorgehensweise zum Einbinden des devices: dieses kann man einfacher über die weiteren Optionen > Add … > Device machen (klingt schon gar nicht so abwegig). Extra Parameter bleiben dann für andere Serverkommandos frei.

    Ich hab beides gemacht und bisher wüsste ich auch nicht welche anderen Parameter man nicht zusätzlich anhängen könnte :o)
    Schaden tuts ja so nicht.

    Das Hinzufügen des passenden Templates wäre ein zusätzlicher Schritt den ich extra ausgelassen habe. Es ist auch so schon eine Menge und ich habe ja jeden Punkt soweit wie möglich erklärt.
    Dümmer kann der neue Benutzer so nicht werden.

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

  • Super! Danke für die Anleitung und für das Video:
    Ich weiß nicht ob du es weißt aber du kannst dir das Docker anlegen etwas leichter machen. Just4Info:

    Bei Docker Reiter beim Punkt "Template repositories" den Wert "https://github.com/MediaBrowser/E…-templates/emby" eingeben und save drücken.
    Nach dem drücken von Add Container kann man gleich ganz oben im Drop Down Menü "Template" den das Template EmbyServer auswählen.

    Dann musst du eigentlich nur mehr die Punkte Host Path 2:, Key 1, Key 2 und Key 3 ausfüllen und das Device hinzufügen

    Home Server: Intel Pentium Gold G5400 | 16GB DDR4 | UnRaid 6.8.3 @ 2x Kingston A1000 240GB | 8x HDD @ 20 TB (netto)
    Player: NVIDIA SHIELD TV 2017 v7.2.3 / Kodi 18.x
    TV: Sony KD-65XE9305
    Sound: Pioneer VSX-S520

Jetzt mitmachen!

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