Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

AMD GPU Transcoding für Jellyfin/Emby

Featured Replies

Moin,

Ich betreibe daheim einen Unraid- Server mit einem Ryzen 3200G. Darauf läuft ein Docker von Jellyfin. Beim Streamen von Medien muss der Ryzen ganz schön arbeiten, deshalb hab ich mich etwas mit dem Thema GPU Encoding auseinander gesetzt und bin auf folgenden Eintrag auf Reddit gestoßen: AMD APU Transcoding Results

Das sieht ja ganz nett aus. Leider sind für mich Docker eine Art Neuland(Ich hatte vorher einen Synology Server).

Deshalb einfach die Frage: Gibt es eine Möglichkeit mit einer AMD iGPU auf Unraid Transcoding im Jellyfindocker zu aktivieren? Die iGPU kann laut Reddit VAAPI, was schon hilfreich wäre: GPU Transcoding with iGPU

Gibt es dafür vielleicht eine Anleitung? Die vielleicht nicht so viele Vorkenntnisse voraus setzt?

 

Gruß Marv. :)

Solved by alturismo

  • Replies 80
  • Views 15k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Momentan nicht, ich versuche im moment irgendwo ein günstiges Ryzen system zu ergattern oder eins für Testzwecke zu bekommen nur leider sieht das aufgrund der Hardwareverfügbarkeit im moment nicht so

  • Es geht eher darum eben nicht 4k oder fhd am Handy zu gucken sondern nur 720p. Oder anstatt eines 30mbit Streams einer blu ray auf unter 10mbit zu transcoden. Dadurch wird Dein Server zum on

  • Ganz einfach, fürs streamen wenn man nicht daheim ist, ist es einfach besser. Außerdem ist das für die CPU deutlich weniger Belastung und kann mehr parallele Streams ausführen. Wenn ich z.B. von der A

Posted Images

12 minutes ago, themarv said:

Deshalb einfach die Frage: Gibt es eine Möglichkeit mit einer AMD iGPU auf Unraid Transcoding im Jellyfindocker zu aktivieren? Die iGPU kann laut Reddit VAAPI, was schon hilfreich wäre: GPU Transcoding with iGPU

Momentan nicht, ich versuche im moment irgendwo ein günstiges Ryzen system zu ergattern oder eins für Testzwecke zu bekommen nur leider sieht das aufgrund der Hardwareverfügbarkeit im moment nicht so rosig aus da ich ein Paket schnüren kann.

 

Soweit ich weiß wäre es schon möglich nur brauchst du entweder den OpenSource oder den ClosedSource Treiber und OpenCL (korrigiert mich wenn ich falsch liege).

 

Da ich aber keine passende Hardware habe kann ich leider kein Plugin oder besser gesagt kein Paket schnüren damit man die VA-API benutzen kann/könnte und das dann in der CA App anbieten so wie Intel-GPU-TOP oder Nvidia-Driver (wenn sich jemand anders findet der das macht oder mir erklären kann was man dazu alles genau braucht gerne... :D ).

Würd mich gern damit auseinandersetzen, meines Wissenstandes wäre es möglich.

Das sollte mit Emby und Jellyfin, aber noch nicht mit Plex gehen.

 

Hier speziell Emby Docker und Unraid:

https://forums.unraid.net/topic/92603-emby-in-docker-vaapi-not-working/

 

Was mir da auffällt, dass die iGPU von Unraid ausgeschlossen wird (igfx_off). Dadurch wird die iGPU wohl 1:1 an den Emby Container durchgeschliffen und dieser installiert dann den iGPU Treiber (statt Unraid). Da könnte dann evtl auch der AMD Treiber installiert werden?!

 

Eventuell muss man die Mesa Treiber innerhalb vom Container nachinstallieren?!

https://www.reddit.com/r/jellyfin/comments/i7zan3/getting_vaapi_to_work_inside_docker/

 

25 minutes ago, themarv said:

Die vielleicht nicht so viele Vorkenntnisse voraus setzt?

Ja, kauf dir ein Intel System und nutze Plex. ^^

 

Andere Option: Nvidia GPU installieren und die für das Transcoding nutzen.

 

 

4 minutes ago, mgutt said:

Was mir da auffällt, dass die iGPU von Unraid ausgeschlossen wird (igfx_off). Dadurch wird die iGPU wohl 1:1 an den Emby Container durchgeschliffen und dieser installiert dann den iGPU Treiber (statt Unraid).

Soweit ich weiß sollte es mit dem offiziellen Emby bzw Jellyfin Container OOB funktionieren solange am host die Treiber installiert sind.

 

EDIT: Im verlinkten thread geht es aber um Intel oder?

1 minute ago, ich777 said:

Soweit ich weiß sollte es mit dem offiziellen Emby bzw Jellyfin Container OOB funktionieren solange am host die Treiber installiert sind.

 

Gibt es denn die Mesa 3D Treiber für Slackware?

11 minutes ago, mgutt said:

Gibt es denn die Mesa 3D Treiber für Slackware?

Schätze schon und wenn nicht kompilier ich sie einfach, mach das ja schon bei meinen DVB-Treibern, hpsahba,... auch so für die unterschiedlichen Kernel versionen.

Aber soweit ich weiß gibt's die Mesa Treiber für Slackware, ich hab wie gesagt keine Hardware sonst hätt ich das schon längst getestet. 😃

3 minutes ago, mgutt said:

Ja. Version 11.2.2:

http://ftp.slackware.com/pub/slackware/slackware64-14.2/slackware64/x/

 

Und Version 20.3.4:

http://ftp.slackware.com/pub/slackware/slackware64-current/slackware64/x/

 

Sollte demnach sogar in Slackware / Unraid enthalten sein?!

Die Frage ist nur ob dazu noch irgendwas gebraucht wird...

Es muss auf jedenfall die modprobe für die in tree Kernel Treiber gemacht werden und bestenfalls vorher Mesa vorher installiert werden ob dann aber noch was dazu erforderlich ist weiß ich leider nicht.

 

Sollte dann gleich funktionieren wie bei Intel das man '/dev/dri' durchreicht und in Emby/Jellyfin VA-API wählt.

 

Ich würd einfach gerne ein Paket dafür schnüren und es in der CA App anbieten das dieses Thema mal vom Tisch ist weil man es mittlerweile ja doch öfter hier im Forum liest das Hardwarebeschleunigung für Emby und Jellyfin gewünscht wird.

 

Momentan bekomm ich nicht mal ne günstige gebrauchte AMD Karte, ist alles momentan ein wenig verrückt... :P

9 minutes ago, mgutt said:

Und Version 20.3.4:

Hab mir grad die Packages nochmal angesehen und man könnt die evtl noch kleiner bekommen wenn man diverse sachen wie OpenGL und so weiter weglässt und nur die Sachen kompiliert die man braucht...

 

@themarv wenn du mein testkandidat sein willst bitte melden... :D

Warum musst du überhaupt Transcoden? 

Ich habe das noch nie gebraucht, ok mein Sat Receiver spielt auch alle Formate ab. Oder schaust du 4k über Handy? 

 

6 hours ago, ich777 said:

Die Frage ist nur ob dazu noch irgendwas gebraucht wird...

 

Ich wollte mal herausfinden wie viel VRAM sich die Intel iGPU genehmigt:

glxinfo | egrep -i 'device|memory'

 

Dafür braucht es wohl Mesa, aber ich habs nicht zum Laufen gebracht:

Error: unable to open display

 

Was ich alles installieren musste, bis es überhaupt bis dahin ging:

wget http://slackware.cs.utah.edu/pub/slackware/slackware64-14.2/slackware64/x/mesa-11.2.2-x86_64-1.txz
upgradepkg --install-new mesa-11.2.2-x86_64-1.txz
wget http://slackware.cs.utah.edu/pub/slackware/slackware64-14.2/slackware64/x/glew-1.13.0-x86_64-1.txz
upgradepkg --install-new glew-1.13.0-x86_64-1.txz
wget http://ftp.slackware.com/pub/slackware/slackware64-14.2/slackware64/x/glu-9.0.0-x86_64-1.txz
upgradepkg --install-new glu-9.0.0-x86_64-1.txz
wget http://slackware.cs.utah.edu/pub/slackware/slackware64-14.2/slackware64/x/libX11-1.6.3-x86_64-2.txz
upgradepkg --install-new libX11-1.6.3-x86_64-2.txz
wget http://slackware.cs.utah.edu/pub/slackware/slackware64-14.2/slackware64/x/libXext-1.3.3-x86_64-2.txz
upgradepkg --install-new libXext-1.3.3-x86_64-2.txz
wget http://slackware.cs.utah.edu/pub/slackware/slackware64-14.2/slackware64/x/libXdamage-1.1.4-x86_64-2.txz
upgradepkg --install-new libXdamage-1.1.4-x86_64-2.txz
wget http://slackware.cs.utah.edu/pub/slackware/slackware64-14.2/patches/packages/libXfixes-5.0.3-x86_64-1_slack14.2.txz
upgradepkg --install-new libXfixes-5.0.3-x86_64-1_slack14.2.txz
wget http://slackware.cs.utah.edu/pub/slackware/slackware64-14.2/slackware64/x/libxcb-1.11.1-x86_64-1.txz
upgradepkg --install-new libxcb-1.11.1-x86_64-1.txz
wget http://slackware.cs.utah.edu/pub/slackware/slackware64-14.2/slackware64/x/libXxf86vm-1.1.4-x86_64-2.txz
upgradepkg --install-new libXxf86vm-1.1.4-x86_64-2.txz
wget http://slackware.cs.utah.edu/pub/slackware/slackware64-14.2/slackware64/x/libXau-1.0.8-x86_64-2.txz
upgradepkg --install-new libXau-1.0.8-x86_64-2.txz
wget http://slackware.cs.utah.edu/pub/slackware/slackware64-14.2/slackware64/x/libXdmcp-1.1.2-x86_64-2.txz
upgradepkg --install-new libXdmcp-1.1.2-x86_64-2.txz
wget http://slackware.cs.utah.edu/pub/slackware/slackware64-14.2/slackware64/x/libdrm-2.4.68-x86_64-1.txz
upgradepkg --install-new libdrm-2.4.68-x86_64-1.txz
wget http://slackware.cs.utah.edu/pub/slackware/slackware64-14.2/slackware64/x/libxshmfence-1.2-x86_64-2.txz
upgradepkg --install-new libxshmfence-1.2-x86_64-2.txz

 

Vielleicht hilft's ja ^^

2 minutes ago, mgutt said:

Vielleicht hilft's ja ^^

Ohne hardware leider nicht, aber ich bin grad an einem deal dran... evtl bekomm ich was. ;)

3 hours ago, speedycxd said:

Warum musst du überhaupt Transcoden? 

Ich habe das noch nie gebraucht, ok mein Sat Receiver spielt auch alle Formate ab. Oder schaust du 4k über Handy? 

 

Es geht eher darum eben nicht 4k oder fhd am Handy zu gucken sondern nur 720p.

Oder anstatt eines 30mbit Streams einer blu ray auf unter 10mbit zu transcoden.

Dadurch wird Dein Server zum online Streamer wie Netflix oder ähnliche.

 

Gebraucht wird das weil der upload von zu Hause oft eher bei 10mbit oder darunter liegt.

Ich habe 20mbit und auch das reicht halt nicht für einen 30mbit Stream nach ausser Haus.

Inhouse ist das imho irrelevant da wlan ja meist locker für mehr als nur einen full quality stream ausreicht.

  • Author
5 hours ago, speedycxd said:

Warum musst du überhaupt Transcoden? 

Ich habe das noch nie gebraucht, ok mein Sat Receiver spielt auch alle Formate ab. Oder schaust du 4k über Handy? 

 

Ganz einfach, fürs streamen wenn man nicht daheim ist, ist es einfach besser. Außerdem ist das für die CPU deutlich weniger Belastung und kann mehr parallele Streams ausführen. Wenn ich z.B. von der Arbeit meinen Stream schaue, meine Freundin daheim und theoretisch meine Mutter bei sich. Das schafft man sonst nur schwer.

 

9 hours ago, ich777 said:

Hab mir grad die Packages nochmal angesehen und man könnt die evtl noch kleiner bekommen wenn man diverse sachen wie OpenGL und so weiter weglässt und nur die Sachen kompiliert die man braucht...

 

@themarv wenn du mein testkandidat sein willst bitte melden... :D

 

*Meld* Immer her, geht los.^^ Aber ich brauchs recht detailliert.^^

Ok, ich vergaß das ja nicht alle so große Leitungen besitzen.

Nun gut dann macht es bei euch ja Sinn. Ich könnte locker 6-7 Leute außerhalb ohne Transcoding mit jeweils einem 4K Stream versorgen.  

 

Dann bleibt dir ja noch der Griff zu einer GPU. 

 

  • Author
2 minutes ago, speedycxd said:

Ok, ich vergaß das ja nicht alle so große Leitungen besitzen.

Nun gut dann macht es bei euch ja Sinn. Ich könnte locker 6-7 Leute außerhalb ohne Transcoding mit jeweils einem 4K Stream versorgen.  

 

Dann bleibt dir ja noch der Griff zu einer GPU. 

 

Also ich habe auch 50Mbit Up. Damit kann man auch schon was reissen. Ausserdem habe ich ja eine integrierte GPU in der CPU, die für Encoding sogar sehr taugt(siehe mein erster Link). Warum dann nicht auch nutzen? ;)

@ich777: Mit genauer Anleitung (bin ja noch Frischling) würde ich mich auch als Versuchskaninchen melden. Jellyfin/Emby hat bei mir zwar nicht die Priorität aber in Handbrake würde ich gerne die iGPU nutzen - das könnte ich dann ja hoffentlich nach erfolgreichen Tests entsprechend darauf übertragen.

Bin derzeit auf Unraid 6.9 RC2 da dort ja bereits die AMDGPU Treiber integriert sind - die Anleitung zum einbinden (aus dem Blog) habe ich auch schon übernommen.

Zukunftstraum wäre die iGPU für VMs nutzen zu können. Aber das sieht bei AMD ja wohl eher düster aus...

11 minutes ago, jj1987 said:

Handbrake

Das Problem ist eher das auch der Container die App dafür kompiliert werden muss und das unterstützen muss.

 

12 minutes ago, jj1987 said:

AMDGPU Treiber integriert

Jein, die Kernel Module sind integriert, der Treiber fehlt...

Ich würd wenn ich das mache direkt ins Plugin integrieren das man nichts mehr extra machen muss. :)

 

14 minutes ago, jj1987 said:

Zukunftstraum wäre die iGPU für VMs nutzen zu können. Aber das sieht bei AMD ja wohl eher düster aus...

Warum, das sollte doch funktionieren wenn ich mich nicht irre... Hab mich aber damit noch nicht so befasst, sollte aber so funktionieren wie mit den Intel iGPU's wenn ich mich nicht irre.

Oder wie meinst du genau, hast einen link zu einem Thread der das Thema behandelt?

9 hours ago, ich777 said:

Warum, das sollte doch funktionieren wenn ich mich nicht irre... Hab mich aber damit noch nicht so befasst, sollte aber so funktionieren wie mit den Intel iGPU's wenn ich mich nicht irre.

Oder wie meinst du genau, hast einen link zu einem Thread der das Thema behandelt?

Habe mich damit jetzt noch nicht ausführlich beschäftigt, aber das ist bei einer kurzen Google sowie Forums-Suche der Grundtenor gewesen.

Zumal man ja (anscheinend) auch ein BIOS-Dump braucht - das wird bei ner iGPU ja schwer (auf der anderen Seite scheint's mit Intel ja zu gehen?!).

Aber wie gesagt habe das bislang noch nicht sehr aktiv verfolgt - erstmal muss Unraid als solches laufen (das tut es eigentlich auch schon, habe im Moment noch nen nervigen USB-Boot Bug (Error code B4), da scheint nur ein UEFI-Update zu helfen oder ein neues Board, zumindest habe ich shcon alles abgeklemmt bzw die Steckplätze durchgetauscht...)

Dann muss ich mich noch näher mit mgutts Backup Script auseinander setzen um meine Backup-Strategie darüber umzusetzen.

Und wenn das alles erledigt ist, kommen die VMs 🙂

  • 2 weeks later...

Wollte hier auch noch mal ein Feedback hinterlassen, @ich777's Test-Container läuft bei mir bislang einwandfrei. Habe heute mal testweise 3 parallele Streams laufen gehabt und hatte eine CPU-Auslastung von 11%!

Ohne Hardware-Transcoding hatte ich sonst bei nur einem Stream schon rund 50% CPU-Last.

Das "Problem" wurde wirklich sehr schnell angegangen und ist auch für einen Anfänger verständlich umzusetzen.

Nochmal ein ganz dickes Danke an ich777 und ein Lob an die ganze Community, hier wird einem echt kompetent und unfassbar schnell geholfen!

16 hours ago, jj1987 said:

Test-Container läuft bei mir bislang einwandfrei. Habe heute mal testweise 3 parallele Streams laufen gehabt und hatte eine CPU-Auslastung von 11%

Streaming?

Das heißt, auch wenn nicht transcodiert wird bringt der HW Support was?

 

 

2 minutes ago, MartinG said:

Das heißt, auch wenn nicht transcodiert wird bringt der HW Support was?

Nein, das bringt nur was wenn transcodiert wird wenn du zB außer Haus bist oder dein Browser das Format nicht versteht bzw. abspielen kann und/oder du manuell die Qualität drosselst.

47 minutes ago, mgutt said:

Wie jetzt? AMD iGPU geht?

Jap geht

51 minutes ago, mgutt said:

Wie jetzt? AMD iGPU geht?

Jep hab Jellyfin einen Container bereit da funzt alles ;)

Updatestrategie muss ich mir noch überlegen aber sonst is alles bereit.

 

EDIT: habs nur mit 3 1080p Streams versucht aber liegt fast keine last an nur für die Audioumwandlung.

Am host ist nichts weiter nötig als 'modprobe amdgpu'

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.