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.

Jellyfin Transcodierung Intel GPU Quicksync

Featured Replies

Hallo, ich habe gerade wieder Jellyfin installiert, nachdem ich nun eine Zeitlang mich mit Plex versucht habe. Jellyfin hat ja nun seit kurzem die Version 10.11.0. Nun habe ich versucht, Transcoding einzurichten, aber es gelingt mir nicht. Ich hatte es aber früher schon einmal am laufen.

Ich verwende den originalen Jellyfin Docker, habe unter den Extra Parametern die Zeile --device=/dev/dri eingefügt, habe auch ein extra Parameter mit Device = /dev/dir/ eingefügt, und in Jellyfin das Ganze auf Intel Quicksync gestellt. Die Plugins Intel GPU TOP und GPU Statistic sind auch installiert.

Aber es funktioniert nicht. Kann es an der neuen Version liegen? Oder hat sich zwischenzeitlich etwas anderes geändert, so dass dies nicht mehr funktioniert? Oder habe ich etwas vergessenlsch gemacht.

Ich habe einen I5 13500

3 hours ago, boernie77 said:

Kann es an der neuen Version liegen?

Nö - läuft ohne Probleme.

3 hours ago, boernie77 said:

Oder habe ich etwas vergessenlsch gemacht.

Hast du im Container geschaut, welche Sachen deine iGPU unterstützt und passend dazu auch die Sachen in Jellyfin ausgewählt?

3 hours ago, boernie77 said:

habe auch ein extra Parameter mit Device = /dev/dir/ eingefügt

Brauchst du nicht. Extra Parameter "--device /dev/dri" reicht.

7 hours ago, boernie77 said:

Aber es funktioniert nicht.

woran machst du das fest ? wird die CPU genutzt bei transcode ?

oder kann es eher sein dass der stream gerade nicht transcoded wird ?

  • Author

Guten Morgen,

ich hatte es daran festgemacht, dass das Video, sobald ich Hardwarekodierung angewählt habe, nicht gestartet ist, sondern es immer einen "schwerwiegenden Fehler" gab und der Player quasi abgestürzt ist. Sobald ich Hardwarekodierung abgeschaltet habe, dann hat er mit der CPU transkodiert. Aber sehr langsam. Nur so 19FPS bei einem 4K Video. Ich habe jetzt tatsächlich einmal nur H.264 und HEVC ausgewählt, und nun funktioniert es. Wenn ich HVEC 10bit auswähle, stürzt er wieder ab. Die anderen Sachen (MPEG2/4 etc habe ich noch nicht versucht. Wo genau kann ich nachschauen, was meine IGPU alles unterstützt?

Der Hinweis war auf alle Fälle hilfreich. Ich dachte nicht, dass dies Auswirkungen hat, was alles ausgewählt ist, wenn ich ein normales H.264 transkodiere.

46 minutes ago, boernie77 said:

Wo genau kann ich nachschauen, was meine IGPU alles unterstützt?

mal vorne angefangen, zuhause sollte gar kein transcoding aktiv sein außer es muss sein (alte client hardware).

was willst du also damit bezwecken ? remote watching ? oder musst du zuhause transcoden ?

ansonsten, deine hardware kann hevc 10bit encoding, nur macht das Sinn ... dazu muss der client auch hevc 10 bit decoding können.

dann sollte die Quelle auch hevc 10bit sein, ansonsten muss der Farbraum auch angepasst werden, macht für remote keinen Sinn usw usw usw ...

hier eine Info was die iGPU kann

https://www.intel.com/content/www/us/en/docs/onevpl/developer-reference-media-intel-hardware/1-1/overview.html#ENCODE-OVERVIEW-11-12

  • Author

Das ist interessant! Diese Zusammenhänge waren mir gar nicht bewusst.

Ich bin beim Hauptrechner von Win10 auf Linux Mint vor ein paar Wochen umgestiegen. Da funktioniert HEVC 10bit nicht. Auf meinem MacBook dagegen schon.

Im Heimnetzwerk transkodiere ich nur, wenn unser Wlan durch die Kinder so ausgelastet ist, dass wir sonst nicht ruckelfrei etwas anschauen können. Dann stelle ich in Jellyfin eine niedrigere Bitrate ein und dann funktioniert es meistens.

Ich glaube, ich habe die Auswahl falsch verstanden. Ich bin davon ausgegangen, dass dies die Formate sind, welche er transkodieren kann, wenn ich sie auswähle. Und als Endformat kommt dann immer ein normales H.264 oder HVEC raus. Daher legte ich auf die Auswahl nicht so viel wert, da ich z.B. kein AV1 in meiner Sammlung habe (wüsste ich zumindest nicht... hab ich vorher auch noch nie gehört) Also habe ich es nie ausgewählt, da ich ein solches Format nicht transkodieren wollte/müsste.

Ist der gedankliche Ansatz eigentlich von mir richtig, die Videos zu transkodieren (verkleinern) damit sie durchs Wlan passen? Wir haben 3 Kinder die entweder zocken oder auch Filme schauen.

Ich werde noch 2 andere Post eröffnen. Ich habe nämlich noch eine Frage nach einer Empfehlung nach einer (älteren und dann günstigeren) Grafikkarte, um die Transkodierungsgeschwindigkeit zu erhöhen) und noch ein Problem mit der neuen Version von Jellyfin.

39 minutes ago, boernie77 said:

Im Heimnetzwerk transkodiere ich nur, wenn unser Wlan durch die Kinder so ausgelastet ist, dass wir sonst nicht ruckelfrei etwas anschauen können. Dann stelle ich in Jellyfin eine niedrigere Bitrate ein und dann funktioniert es meistens.

ich würde eher hier ansetzen ...

weiß jetzt nicht was du für Formate streamst, aber mal davon ausgehend

4k remux ~ 50 - 100 mbit / stream

4k Netflis und co ~ 15 - 25 mbit / stream

1080p ~ 5 - 15 mbit (remux auch mal 20) / stream

usw usw ...

wenn dein Netzwerk zuhause durch ein paar Video Streams am Limit ist, na dann ...

42 minutes ago, boernie77 said:

Ist der gedankliche Ansatz eigentlich von mir richtig, die Videos zu transkodieren (verkleinern) damit sie durchs Wlan passen? Wir haben 3 Kinder die entweder zocken oder auch Filme schauen.

grundsätzlich, ja, aber wie erwähnt ... ob der Ansatz richtig ist sei dahingestellt ;)

42 minutes ago, boernie77 said:

nach einer Empfehlung nach einer (älteren und dann günstigeren) Grafikkarte, um die Transkodierungsgeschwindigkeit zu erhöhen)

braucht es nicht bei der Anzahl ... die iGPU schafft das bequem.

2 hours ago, boernie77 said:

Wo genau kann ich nachschauen, was meine IGPU alles unterstützt?

Wird dir im Jellyfin verlinkt.

https://jellyfin.org/docs/general/post-install/transcoding/hardware-acceleration/intel

In der Konsole vom Docker:

/usr/lib/jellyfin-ffmpeg/vainfo --display drm --device /dev/dri/renderD128

Da bekommst du dann erstmal die Auskunft welcher Treiber verwendet wird. Zudem wird dir angezeigt, welche Profile unterstützt werden.

image.png
Das musst du dann einfach nur in die Einstellungen übertragen.

Alternativ kannst du auch schauen, ob du QSV Unterstützung hast.

/usr/lib/jellyfin-ffmpeg/ffmpeg -v verbose -init_hw_device vaapi=va:/dev/dri/renderD128 -init_hw_device opencl@va

56 minutes ago, boernie77 said:

Im Heimnetzwerk transkodiere ich nur, wenn unser Wlan durch die Kinder so ausgelastet ist, dass wir sonst nicht ruckelfrei etwas anschauen können. Dann stelle ich in Jellyfin eine niedrigere Bitrate ein und dann funktioniert es meistens.

Sinniger wärs auf CPU Transcode zu setzen ... Jellyfin unterstützt beim HW Transcode keine Qualitätseinstellungen.

Also ja .. das funktioniert, aber ne gute Qualität kommt da nicht raus. Da wärs fast sinniger zu schauen, dass du die Sachen mit AV1/Opus speicherst.
Mit dem Jellyfin Media Player kannst du das Zeug dann fast überall Nativ schauen, selbst wenn die eigentliche GPU kein HW-Decode supportet.

Auch wärs warhscheinlich eher sinniger, dein WLAN System zu überarbeiten, damit genug Streams für alle Clients zur Verfügung stehen.

Edited by Sacred

  • Author

Ja, das Wlan und ich werden hier keine Freunde... Das steht schon länger auf der Liste.

Das mit dem AV1/Opus klingt auch interessant. Habe gerade mal gegoogelt was das ist und klingt für mich auf jeden Fall interessant genug, das mal zu testen. Gibt es ein empfohlenes Programm um HEVC in AV1 zu konvertieren? Unter Apps in Unraid kommt bei AV1 kein Treffer. Im Ideallfall für Linux....

Meine Medien wandle ich mit HandBrake passend um.
Gibt sogar nen Docker Container von, wenn du es direkt aufn Unraid machen willst.

Hab aber auch schon gesehen, wie Leute das über FileFlows machen, das ist bissel mächtiger.

58 minutes ago, Sacred said:

Sinniger wärs auf CPU Transcode zu setzen ... Jellyfin unterstützt beim HW Transcode keine Qualitätseinstellungen.

Also ja .. das funktioniert, aber ne gute Qualität kommt da nicht raus. Da wärs fast sinniger zu schauen, dass du die Sachen mit AV1/Opus speicherst.
Mit dem Jellyfin Media Player kannst du das Zeug dann fast überall Nativ schauen, selbst wenn die eigentliche GPU kein HW-Decode supportet.

sorry, aber was soll das ...

der Unterschied sw zu hw ist mittlerweile sowas von marginal ... ja, du kannst mit software noch etwas mehr bitrate sparen, aber das ist fast vernachlässigbar ... vor 10+ Jahren war das noch ein größeres Thema, aber da sind wir weit weg mittlerweile.

und AV1 zu empfehlen ist noch mehr Käse, die Clients wo kein hw decode haben schaffen meist max 1080p decode in software ... und kochen vor sich hin, oder es muss immer transcoded werden was noch unsinniger ist.

Wenn man seine Infrastruktur auf AV1 ausgelegt hat, ja gerne, aber das dauert noch bis wir da sind und AV1 der Standard ist.

Sorry, aber das passt leider alles nicht.

Just now, alturismo said:

der Unterschied sw zu hw ist mittlerweile sowas von marginal

Sry bei mir nicht .. wenn ich im Jellyfin ein Transcode erzwinge .. rennt mir der Transcode zwar mit paar hundert Bildern pro Sekunde durchs Video.

Nen deutlichen Qualitätsverlust gibt es dennoch. Einfach weil man bei Jellyfin die Einstellungen nicht verändern kann, mit welcher Qualität das HW-Transcode stattfinden soll.

Denk ich mir ja nicht aus, kannst du im Jellyfin selbst nachlesen.

Du kannst weder die CRF, noch die Bitrate noch die Kodierungsvoreinstellung fürs HW Transcoding einstellen.

2 minutes ago, Sacred said:

Du kannst weder die CRF, noch die Bitrate noch die Kodierungsvoreinstellung fürs HW Transcoding einstellen.

macht auch keinen Sinn das am Server einzustellen ... meiner persönlichen Meinung nach.

wann nutzt man transcoding, wenn die Bandbreite eng wird oder ich die extra begrenzen will, das setze ich am Client dann fest.

ich meine (ich nutze kein Jelly da ich bereits Plex und Emby nutze) dass dies bei Jelly genauso ist ... am Client sage ich entweder

auto > es wird einmalig ausgehandelt was die bitrate hergibt und dann stellt der Server so ein

fix Auflösung und bitrate > dann ist es eingestellt.

und für mehr ist die Kombi Mediaserver <> Client auch nicht wirklich gedacht, warum auch ... wenn man mehr will (setup) transcoded man seine Library nach Wunsch und spielt dann nativ ab, was du ja mit AV1 machen willst oder bereits gemacht hast, daz unutzt man dann transcoding Apps oder macht es selbst ;)

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.