2025-03-13, 06:52 AM
(This post was last modified: 2025-03-13, 07:22 AM by User 16333. Edited 1 time in total.)
Hello Everyone,
I'm having trouble with hardware encoding on my ARC 380, i get this error in my log:
Setup:
- K8S Cluster with Talos Linux on Proxmox
- Jellyfin in Docker container
- GPU passed from Proxmox to K8S Node to Container
- Jellyfin Transcoding settings are attached as screenshot
- The same vm/container deployment was working with a intel IGpu
- Jellyfin deployed with official helm chart
When i install and run intel_gpu_top in the container i get an output and there is some activity on blitter and video for a short moment when i try to start to play something:
VAInfo also shows a device:
Dev/dri also shows the device:
Any Ideas?
Best
Pat
I'm having trouble with hardware encoding on my ARC 380, i get this error in my log:
Quote:
[06:46:20] [INF] [38] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for pat. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True │
│ [06:46:20] [INF] [21] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: Deleting partial stream file(s) /cache/transcodes/aa9a8c254fab01eace6c2bef74bc130d.m3u8 │
│ [06:46:21] [INF] [42] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request │
│ [06:46:21] [INF] [42] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -f matroska -init_hw_device vaapi=va:,vendor_id=0x8086,driver=iHD -init_hw_device qsv=qs │
│ [06:46:21] [ERR] [21] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: FFmpeg exited with code 218 │
│ [06:46:21] [ERR] [21] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL GET /videos/31b30acd-2398-fa67-e7ec-9687e900b4ae/hls1/main/-1.mp4. │
│ MediaBrowser.Common.FfmpegException: FFmpeg exited with code 218 │
│ at MediaBrowser.MediaEncoding.Transcoding.TranscodeManager.StartFfMpeg(StreamState state, String outputPath, String commandLineArguments, Guid userId, TranscodingJobType transcodingJobType, CancellationTokenSource cancellationTokenS │
│ 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, Nullable1 static, String params, String tag, │
1 actionResultValueTask) │
│ at lambda_method1177(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
│ 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) │
│ [06:46:21] [INF] [38] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: Deleting partial stream file(s) /cache/transcodes/dc7808c1ba6ffd1b70f1c85dc0107f2f.m3u8 │
│ [06:46:23] [INF] [60] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Jellyfin Web 10.10.1 playing Moviename. Stopped at 0 ms
Setup:
- K8S Cluster with Talos Linux on Proxmox
- Jellyfin in Docker container
- GPU passed from Proxmox to K8S Node to Container
- Jellyfin Transcoding settings are attached as screenshot
- The same vm/container deployment was working with a intel IGpu
- Jellyfin deployed with official helm chart
When i install and run intel_gpu_top in the container i get an output and there is some activity on blitter and video for a short moment when i try to start to play something:
Code:
intel-gpu-top: Intel Dg2 (Gen12) @ /dev/dri/card0 - 0/ 0 MHz; 100% RC6; 0 irqs/s
ENGINES BUSY MI_SEMA MI_WAIT
Render/3D 0.00% | | 0% 0%
Blitter 0.00% | | 0% 0%
Video 0.00% | | 0% 0%
VideoEnhance 0.00% | | 0% 0%
[unknown] 0.00% | | 0% 0%
PID NAME Render/3D Blitter Video VideoEnhance [unknown]
VAInfo also shows a device:
Code:
root@jellyfin-57cb486b5f-swgzk:/# /usr/lib/jellyfin-ffmpeg/vainfo
Trying display: drm
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.4.1 (105a308)
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : VAEntrypointStats
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSliceLP
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSliceLP
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile1 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileVP9Profile3 : VAEntrypointVLD
VAProfileHEVCMain12 : VAEntrypointVLD
VAProfileHEVCMain422_10 : VAEntrypointVLD
VAProfileHEVCMain422_10 : VAEntrypointEncSliceLP
VAProfileHEVCMain422_12 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_10 : VAEntrypointVLD
VAProfileHEVCMain444_10 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_12 : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointEncSliceLP
VAProfileHEVCSccMain10 : VAEntrypointVLD
VAProfileHEVCSccMain10 : VAEntrypointEncSliceLP
VAProfileHEVCSccMain444 : VAEntrypointVLD
VAProfileHEVCSccMain444 : VAEntrypointEncSliceLP
VAProfileAV1Profile0 : VAEntrypointVLD
VAProfileAV1Profile0 : VAEntrypointEncSliceLP
VAProfileHEVCSccMain444_10 : VAEntrypointVLD
VAProfileHEVCSccMain444_10 : VAEntrypointEncSliceLP
Dev/dri also shows the device:
Code:
root@jellyfin-57cb486b5f-swgzk:/dev/dri# ls -l
total 0
crwxrwxrwx 1 root root 226, 0 Mar 12 16:54 card0
crwxrwxrwx 1 root root 226, 128 Mar 12 16:54 renderD128
Any Ideas?
Best
Pat