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.

Setting up Jellyfin Hardware Acceleration - 12600k

Featured Replies

On 5/3/2023 at 3:18 PM, mArBLe said:

I finally got this working, simply by switching to the official Jellyfin Docker container.

 

The reason for the switch was that I read somewhere that the official container uses Debian, whereas the other well known Jellyfin containers (linuxserver.io, hotio, etc.) uses Ubuntu. This made me think that some device drivers might actually be present in Debian but not in Ubuntu, for my particular hardware (Intel QuickSync via an i5-13500 CPU).

As soon as I replaced my old linuxserver.io container with the official one, I only needed to add "--device=/dev/dri" to the Extra Parameters section when creating the container. After this, hardware transcoding worked straight away after enabling it in the Jellyfin control panel.

 

Do note that I did add a line with modprobe i915 into the Go file when trying to get HW transcoding to work with the linuxserver.io and hotio containers, so this line is still in my Go file. I have not tried removing it to see if the official container still works, so you might as well try the official container without changing the Go file. If it does not work, then just change the Go file (please let us know if this is necessary or not).

 

If you need instructions on how to edit the Go file, you can follow the below:

  • You can edit the Go file easily by opening a terminal window directly via the Unraid GUI
    • image.png.9d0c7dd10411cf802228845c377045bc.png
  • In the terminal window, type the command:
    • nano /boot/config/go
  • Add the following line at the bottom of the Go file
    • modprobe i915
  • When you are done, press Ctrl + X, followed by Enter to confirm the file name, to save the file.
  • Then restart the computer.

 

 

i tried to follow but it didn't work, and intel_gpu_top didn't show anything running on igpu. any idea to fix this ?image.thumb.png.5164d0f9713051dd3aff97f14ee99c00.png

  • 2 weeks later...
On 3/29/2024 at 3:28 AM, Ellissss said:

 

i tried to follow but it didn't work, and intel_gpu_top didn't show anything running on igpu. any idea to fix this ?image.thumb.png.5164d0f9713051dd3aff97f14ee99c00.png

same issue here, even added the modprobe i915 to the go file just to be sure
I am running an i5 11500 chip though, but it "also" has the UHD 750 igpu

On 4/9/2024 at 2:12 AM, Xormus88 said:

same issue here, even added the modprobe i915 to the go file just to be sure
I am running an i5 11500 chip though, but it "also" has the UHD 750 igpu

hey, late to reply but i found the way to enable transcode by following MisterMue Guide

 

i just add these line onto my flash drive it actually work on bbeirge-jellyfin and binhex jellyfin

434678025_1533134487250595_8117909834232008125_n.jpg.e79ce321e49321b6dbcb0353c61f0958.jpg

 

but Render/3D didn't show any statics like everyone show anything. however, if it work then it's working

image.thumb.png.640f2af83ebd900dab3cf6acfcf23a3d.png

On 4/14/2024 at 2:13 PM, Ellissss said:

i just add these line onto my flash drive it actually work on bbeirge-jellyfin and binhex jellyfin

434678025_1533134487250595_8117909834232008125_n.jpg.e79ce321e49321b6dbcb0353c61f0958.jpg

 

I saw that come back a couple times, but where exactly did you add these, because the flash drive has multiple maps ;)

  • Community Expert
1 hour ago, Xormus88 said:

I saw that come back a couple times, but where exactly did you add these, because the flash drive has multiple maps ;)

You need to add it to each of the boot options you want to use.

22 hours ago, Xormus88 said:

I saw that come back a couple times, but where exactly did you add these, because the flash drive has multiple maps ;)

have you read the instruction ? you need to add that line in boot device > and click flash then you need add the line i marked image.thumb.png.7b18f124c81fd2894f4c9b692d8bf657.png

 

then you can continue follow MisterMue instruction by add GPU stats, jellyfin container and service setup

On 4/18/2024 at 11:05 AM, Ellissss said:

have you read the instruction ? you need to add that line in boot device > and click flash then you need add the line i marked image.thumb.png.7b18f124c81fd2894f4c9b692d8bf657.png

 

then you can continue follow MisterMue instruction by add GPU stats, jellyfin container and service setup

I did read the instructions, but I was looking on the flash drive itself (browsing the files), not so at home in unraid yet
No one else showed the entire screen, always only the unraid os jellow box
I added the line, rebooted my server and it finally works, thanks to you good sir or madam

Edited by Xormus88
typo concerning male or female

  • 4 months later...

Can i use a i5 6600k for transcoding in jellyfin or is my CPU to old?

On 3/28/2024 at 10:28 PM, Ellissss said:

 

i tried to follow but it didn't work, and intel_gpu_top didn't show anything running on igpu. any idea to fix this ?image.thumb.png.5164d0f9713051dd3aff97f14ee99c00.png

@Xormus88

 

I got mines to work using the official Jellyfin container and adding the iGPU device as a path in the docker container. see screenshot below. Entering this info under extra parameters did not work for me. ich777 helped me with this.

Jellyfin-IGPU_Settings.png

Hi,

 

i am now trying for several days. But without luck. What do i wrong...

 

I switched to the offical Jellyfin-Docker

 

Intel_GPU_TOP is installed and works on Plex very well.

 

I tried to ad my Igpu as a device (see picture) as described in the former post.

Bildschirmfoto2024-09-13um16_36_05.thumb.png.8b4b6f5725b9fd66bb9cc9e9c9788f1a.png

 

 

 

 

 

 

I also tried to ad --device=/dev/dri (did i ad it correctly??? -> see picture)

 

 

Bildschirmfoto2024-09-13um16_47_26.thumb.png.1d50d8116b844bc0b59b92fa5895815e.png

 

 

 

But nothing works! So i ask friedly for advice...

 

I have an I5 - 13500 and in Jellyfin i enabled Transcoding Intel Quicksync.

 

 

Thank you!

Christian

 

Edited by boernie77

Hi everyone!

 

I've tried everything here and nothing works yet. The weirdest thing is that I don't think I've seen my exact error yet, and it doesn't change regardless of what I do. Could someone take a look to see if you can figure it out? This is the error it shows when I try to play something with HWA on:

 

[16:15:34] [ERR] [24] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL GET /videos/575c02ce-1644-24b4-9641-628fb0335a76/hls1/main/-1.mp4.
MediaBrowser.Common.FfmpegException: FFmpeg exited with code 1
   at MediaBrowser.MediaEncoding.Transcoding.TranscodeManager.StartFfMpeg(StreamState state, String outputPath, String commandLineArguments, Guid userId, TranscodingJobType transcodingJobType, CancellationTokenSource cancellationTokenSource, String workingDirectory)
   at Jellyfin.Api.Controllers.DynamicHlsController.GetDynamicSegment(StreamingRequestDto streamingRequest, Int32 segmentId)
   at Jellyfin.Api.Controllers.DynamicHlsController.GetHlsVideoSegment(Guid itemId, String playlistId, Int32 segmentId, String container, Int64 runtimeTicks, Int64 actualSegmentLengthTicks, Nullable`1 static, String params, String tag, String deviceProfileId, String playSessionId, String segmentContainer, Nullable`1 segmentLength, Nullable`1 minSegments, String mediaSourceId, String deviceId, String audioCodec, Nullable`1 enableAutoStreamCopy, Nullable`1 allowVideoStreamCopy, Nullable`1 allowAudioStreamCopy, Nullable`1 breakOnNonKeyFrames, Nullable`1 audioSampleRate, Nullable`1 maxAudioBitDepth, Nullable`1 audioBitRate, Nullable`1 audioChannels, Nullable`1 maxAudioChannels, String profile, String level, Nullable`1 framerate, Nullable`1 maxFramerate, Nullable`1 copyTimestamps, Nullable`1 startTimeTicks, Nullable`1 width, Nullable`1 height, Nullable`1 maxWidth, Nullable`1 maxHeight, Nullable`1 videoBitRate, Nullable`1 subtitleStreamIndex, Nullable`1 subtitleMethod, Nullable`1 maxRefFrames, Nullable`1 maxVideoBitDepth, Nullable`1 requireAvc, Nullable`1 deInterlace, Nullable`1 requireNonAnamorphic, Nullable`1 transcodingMaxAudioChannels, Nullable`1 cpuCoreLimit, String liveStreamId, Nullable`1 enableMpegtsM2TsMode, String videoCodec, String subtitleCodec, String transcodeReasons, Nullable`1 audioStreamIndex, Nullable`1 videoStreamIndex, Nullable`1 context, Dictionary`2 streamOptions)
   at lambda_method1162(Closure, Object)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Jellyfin.Api.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
   at Jellyfin.Api.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
   at Jellyfin.Api.Middleware.IPBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
   at Jellyfin.Api.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Jellyfin.Api.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at Jellyfin.Api.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
   at Jellyfin.Api.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
   at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
   at Jellyfin.Api.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
   at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context)

 

Thanks for whatever help you can offer!

Ich bekomme die Hardwarecodierung einfach nicht zum laufen.
  
Ich habe einen Intel N100 Prozessor.
Habe  das Jellyfin Docker Image von BBergle genommen und unter Extra Parameters "--device=/dev/dri" eingetragen.
Beim Versuch einen .ts File abzuspielen, kommt im intel-gpu-top kurz "2135905 ffmpeg" und dann meldet der Player "Wiedergabefehler - Die Wiedergabe ist aufgrund eines schwerwiegenden Player-Fehlers fehlgeschlagen.

hSltyvoUUL.png

l5eeVILqdK.png

EpvuzopWt7.png

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.