Jellyfin Forum
SOLVED: "Playback failed due to a fatal player error." (Only in Firefox) - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: SOLVED: "Playback failed due to a fatal player error." (Only in Firefox) (/t-solved-playback-failed-due-to-a-fatal-player-error-only-in-firefox)

Pages: 1 2


"Playback failed due to a fatal player error." (Only in Firefox) - DeNewGuy - 2024-10-11

Hello,
I've found a weird issue when trying to play back a file in Firefox, but on the phone app, the desktop app, and on Google Chrome the file will play without a problem.
I tried to look into the logs, but I couldn't really find anything in it.
Hoping anyone can help me get to the roots of this issue. Smiling-face

Here are the pastebins of the jf logs:
Jellyfin Log
FFMPEG Log

I'm running Jellyfin 10.9.11 in a linuxserver docker container.
This is running on Linux Debian 12 (Bookworm)

The platform I'm running my server on:
- Intel Core i5 12600
- ASUS Prime B660 PLUS D4
- 64GB DDR4 Corsair Vengeance RAM
- ASRock Intel Arc A750
- OS Drive: Samsung 980 512GB

My docker-compose is as follows:
Code:
jellyfin:
    image: linuxserver/jellyfin:latest
    container_name: jellyfin
    environment:
      - PUID=1007
      - PGID=1008
      - TZ=Europe/Amsterdam
      - DOCKER_MODS=ghcr.io/jumoog/intro-skipper
    volumes:
      - /home/media-systems/docker-data/jellyfin/config:/config
      - /home/media-systems/docker-data/jellyfin/config.json:/usr/share/jellyfin/web/config.json:ro
      - /var/media/media/movies:/data/movies
      - /var/media/media/stand-ups:/stand-ups
      - /var/media/media/series:/data/series
      - /var/media/media/anime:/data/anime
    devices:
      - /dev/dri:/dev/dri
    ports:
      - 1810:8096
      - 8920:8920/tcp
    networks:
      - reverseproxy-nw
    tty: true
    stdin_open: true
    restart: always

Thanks in advance for any help.


RE: "Playback failed due to a fatal player error." (Only in Firefox) - TheDreadPirate - 2024-10-11

Replace this

Code:
devices:
      - /dev/dri:/dev/dri

with this

Code:
devices:
      - /dev/dri/renderD129:/dev/dri/renderD129

Right now you are passing in both the Arc GPU and the iGPU in your CPU. Jellyfin does not currently have a way (yet) to tell QSV which GPU to use so it uses the first available GPU, renderD128. Which is going to be your iGPU.


RE: "Playback failed due to a fatal player error." (Only in Firefox) - DeNewGuy - 2024-10-12

(2024-10-11, 09:18 PM)TheDreadPirate Wrote: Replace this

Code:
    devices:
      - /dev/dri:/dev/dri

with this

Code:
    devices:
      - /dev/dri/renderD129:/dev/dri/renderD129

Right now you are passing in both the Arc GPU and the iGPU in your CPU.  Jellyfin does not currently have a way (yet) to tell QSV which GPU to use so it uses the first available GPU, renderD128.  Which is going to be your iGPU.

Thank you for your quick response. Smiling-face
When I try this I get an error message saying; there is no such file or directory.
When using the ls command in the dri folder I'm getting the following back:
by-path  card0  renderD128

Would the card0 be the dGPU then?


RE: "Playback failed due to a fatal player error." (Only in Firefox) - TheDreadPirate - 2024-10-13

What kernel version is your host OS running?


RE: "Playback failed due to a fatal player error." (Only in Firefox) - DeNewGuy - 2024-10-13

(2024-10-13, 12:52 AM)TheDreadPirate Wrote: What kernel version is your host OS running?

I'm running on 6.7.12+bpo-amd64


RE: "Playback failed due to a fatal player error." (Only in Firefox) - TheDreadPirate - 2024-10-13

Did you setup low power encoding?

https://jellyfin.org/docs/general/administration/hardware-acceleration/intel/#configure-and-verify-lp-mode-on-linux

Also, since you're using a backport kernel, did you also install all the kernel header, module, and firmware packages?


RE: "Playback failed due to a fatal player error." (Only in Firefox) - DeNewGuy - 2024-10-13

(2024-10-13, 03:44 PM)TheDreadPirate Wrote: Did you setup low power encoding?

https://jellyfin.org/docs/general/administration/hardware-acceleration/intel/#configure-and-verify-lp-mode-on-linux

Also, since you're using a backport kernel, did you also install all the kernel header, module, and firmware packages?

I have not setup low power encoding, because I thought it wasn't needed.
I used to run it without the dGPU, but still didn't run it with low power encoding. since the 12600 isn't a low power chip I believe.

What does using a backport kernel mean?
I'm sorry, I'm a bit unfamiliar with the kernel headers, module, and firmware packages.
Did I have an oversight in the installation of my software?

I ran the apt update && apt upgrade commands.

Again, sorry, I think this is a little above my knowledge level at the moment. 😅
Thank you very much for taking the time to help!


RE: "Playback failed due to a fatal player error." (Only in Firefox) - altair - 2024-10-19

I have exactly the same problem, works on all my chromium based browsers but it doesn't work on the firefox as well as in the mobile app. The jellyfin log seems identical to mine as well.
My specs:
 Proxmox on i5 2400s.
 docker running inside a privileged lxc, with the iGPU passed through (both on lxc and docker)

my docker compose :
Code:
---
services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    ports:
      - 8096:8096
    group_add:
      - "122"
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Athens
      - JELLYFIN_PublishedServerUrl=192.168.178.248 #optional
    volumes:
      - ./config:/config
      - ./cache:/cache
      - home-pve-omv-kino:/movies
    restart: 'unless-stopped'
    devices:
      - /dev/dri/renderD128:/dev/dri/renderD128

volumes:
  home-pve-omv-kino:
    driver: local
    driver_opts:
      type: nfs
      o: 'addr=192.168.178.249,noatime,nodiratime,nfsvers=4.2'
      device: ':/Movies'

and here is the jellyfin docker error log when i click play and "Playback Error Playback failed due to a fatal player error." appears on firefox:
Code:
jellyfin  | [01:06:48] [INF] [68] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for altair. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
jellyfin  | [01:06:49] [INF] [73] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
jellyfin  | [01:06:49] [INF] [73] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -init_hw_device vaapi=va:,kernel_driver=i915,driver=iHD -init_hw_device qsv=qs@va -filter_hw_device qs -noautorotate -i file:"/movies/Batman The Doom That Came To Gotham (2023) [2160p] [4K] [WEB] [5.1] [YTS.MX]/Batman.The.Doom.That.Came.To.Gotham.2023.2160p.4K.WEB.x265.10bit.AAC5.1-[YTS.MX].mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_qsv -preset veryfast -look_ahead 0 -b:v 10646668 -maxrate 10646668 -bufsize 21293336 -profile:v:0 high -level 51 -g:v:0 72 -keyint_min:v:0 72 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,min(3840\,2160*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(3840/a\,2160))/2)*2,format=nv12" -codec:a:0 libfdk_aac -ac 2 -ab 256000 -ar 48000 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "66ea65df8e316a7763ec1f0330b06713-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/66ea65df8e316a7763ec1f0330b06713%d.mp4" -hls_playlist_type vod -hls_list_size 0 -y "/cache/transcodes/66ea65df8e316a7763ec1f0330b06713.m3u8"
jellyfin  | [01:06:49] [ERR] [73] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: FFmpeg exited with code 1
jellyfin  | [01:06:49] [ERR] [73] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL GET /videos/17746591-4fe4-a397-23d9-4698ea07b4de/hls1/main/-1.mp4.
jellyfin  | MediaBrowser.Common.FfmpegException: FFmpeg exited with code 1
jellyfin  |    at MediaBrowser.MediaEncoding.Transcoding.TranscodeManager.StartFfMpeg(StreamState state, String outputPath, String commandLineArguments, Guid userId, TranscodingJobType transcodingJobType, CancellationTokenSource cancellationTokenSource, String workingDirectory)
jellyfin  |    at Jellyfin.Api.Controllers.DynamicHlsController.GetDynamicSegment(StreamingRequestDto streamingRequest, Int32 segmentId)
jellyfin  |    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)
jellyfin  |    at lambda_method1262(Closure, Object)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
jellyfin  |    at Jellyfin.Api.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
jellyfin  |    at Jellyfin.Api.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
jellyfin  |    at Jellyfin.Api.Middleware.IPBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
jellyfin  |    at Jellyfin.Api.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
jellyfin  |    at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
jellyfin  |    at Jellyfin.Api.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
jellyfin  |    at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
jellyfin  |    at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
jellyfin  |    at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
jellyfin  |    at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
jellyfin  |    at Jellyfin.Api.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
jellyfin  |    at Jellyfin.Api.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
jellyfin  |    at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
jellyfin  |    at Jellyfin.Api.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
jellyfin  |    at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
jellyfin  | [01:06:49] [INF] [73] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for altair. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
jellyfin  | [01:06:49] [INF] [73] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: Deleting partial stream file(s) /cache/transcodes/66ea65df8e316a7763ec1f0330b06713.m3u8
jellyfin  | [01:06:49] [INF] [73] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
jellyfin  | [01:06:49] [INF] [73] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -init_hw_device vaapi=va:,kernel_driver=i915,driver=iHD -init_hw_device qsv=qs@va -filter_hw_device qs -noautorotate -i file:"/movies/Batman The Doom That Came To Gotham (2023) [2160p] [4K] [WEB] [5.1] [YTS.MX]/Batman.The.Doom.That.Came.To.Gotham.2023.2160p.4K.WEB.x265.10bit.AAC5.1-[YTS.MX].mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_qsv -preset veryfast -look_ahead 0 -b:v 10646668 -maxrate 10646668 -bufsize 21293336 -profile:v:0 high -level 51 -g:v:0 72 -keyint_min:v:0 72 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,min(3840\,2160*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(3840/a\,2160))/2)*2,format=nv12" -codec:a:0 libfdk_aac -ac 2 -ab 256000 -ar 48000 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "e7db25231d9004c4784e6612c8736a6f-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/e7db25231d9004c4784e6612c8736a6f%d.mp4" -hls_playlist_type vod -hls_list_size 0 -y "/cache/transcodes/e7db25231d9004c4784e6612c8736a6f.m3u8"
jellyfin  | [01:06:49] [ERR] [63] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: FFmpeg exited with code 1
jellyfin  | [01:06:49] [ERR] [63] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL GET /videos/17746591-4fe4-a397-23d9-4698ea07b4de/hls1/main/-1.mp4.
jellyfin  | MediaBrowser.Common.FfmpegException: FFmpeg exited with code 1
jellyfin  |    at MediaBrowser.MediaEncoding.Transcoding.TranscodeManager.StartFfMpeg(StreamState state, String outputPath, String commandLineArguments, Guid userId, TranscodingJobType transcodingJobType, CancellationTokenSource cancellationTokenSource, String workingDirectory)
jellyfin  |    at Jellyfin.Api.Controllers.DynamicHlsController.GetDynamicSegment(StreamingRequestDto streamingRequest, Int32 segmentId)
jellyfin  |    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)
jellyfin  |    at lambda_method1262(Closure, Object)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
jellyfin  |    at Jellyfin.Api.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
jellyfin  |    at Jellyfin.Api.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
jellyfin  |    at Jellyfin.Api.Middleware.IPBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
jellyfin  |    at Jellyfin.Api.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
jellyfin  |    at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
jellyfin  |    at Jellyfin.Api.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
jellyfin  |    at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
jellyfin  |    at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
jellyfin  |    at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
jellyfin  |    at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
jellyfin  |    at Jellyfin.Api.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
jellyfin  |    at Jellyfin.Api.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
jellyfin  |    at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
jellyfin  |    at Jellyfin.Api.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
jellyfin  |    at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
jellyfin  | [01:06:49] [INF] [68] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for altair. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
jellyfin  | [01:06:49] [INF] [63] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: Deleting partial stream file(s) /cache/transcodes/e7db25231d9004c4784e6612c8736a6f.m3u8
jellyfin  | [01:06:49] [INF] [73] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
jellyfin  | [01:06:49] [INF] [73] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -init_hw_device vaapi=va:,kernel_driver=i915,driver=iHD -init_hw_device qsv=qs@va -filter_hw_device qs -noautorotate -i file:"/movies/Batman The Doom That Came To Gotham (2023) [2160p] [4K] [WEB] [5.1] [YTS.MX]/Batman.The.Doom.That.Came.To.Gotham.2023.2160p.4K.WEB.x265.10bit.AAC5.1-[YTS.MX].mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_qsv -preset veryfast -look_ahead 0 -b:v 10646668 -maxrate 10646668 -bufsize 21293336 -profile:v:0 high -level 51 -g:v:0 72 -keyint_min:v:0 72 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,min(3840\,2160*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(3840/a\,2160))/2)*2,format=nv12" -codec:a:0 libfdk_aac -ac 2 -ab 256000 -ar 48000 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "073a1713974e65d301c29dd0df555179-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/073a1713974e65d301c29dd0df555179%d.mp4" -hls_playlist_type vod -hls_list_size 0 -y "/cache/transcodes/073a1713974e65d301c29dd0df555179.m3u8"
jellyfin  | [01:06:49] [ERR] [73] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: FFmpeg exited with code 1
jellyfin  | [01:06:49] [ERR] [73] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL GET /videos/17746591-4fe4-a397-23d9-4698ea07b4de/hls1/main/-1.mp4.
jellyfin  | MediaBrowser.Common.FfmpegException: FFmpeg exited with code 1
jellyfin  |    at MediaBrowser.MediaEncoding.Transcoding.TranscodeManager.StartFfMpeg(StreamState state, String outputPath, String commandLineArguments, Guid userId, TranscodingJobType transcodingJobType, CancellationTokenSource cancellationTokenSource, String workingDirectory)
jellyfin  |    at Jellyfin.Api.Controllers.DynamicHlsController.GetDynamicSegment(StreamingRequestDto streamingRequest, Int32 segmentId)
jellyfin  |    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)
jellyfin  |    at lambda_method1262(Closure, Object)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
jellyfin  |    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
jellyfin  |    at Jellyfin.Api.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
jellyfin  |    at Jellyfin.Api.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
jellyfin  |    at Jellyfin.Api.Middleware.IPBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
jellyfin  |    at Jellyfin.Api.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
jellyfin  |    at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
jellyfin  |    at Jellyfin.Api.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
jellyfin  |    at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
jellyfin  |    at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
jellyfin  |    at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
jellyfin  |    at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
jellyfin  |    at Jellyfin.Api.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
jellyfin  |    at Jellyfin.Api.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
jellyfin  |    at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
jellyfin  |    at Jellyfin.Api.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
jellyfin  |    at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
jellyfin  | [01:06:49] [INF] [63] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: Deleting partial stream file(s) /cache/transcodes/073a1713974e65d301c29dd0df555179.m3u8
jellyfin  | [01:06:51] [INF] [73] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Jellyfin Web 10.9.11 playing Batman: The Doom That Came to Gotham. Stopped at 0 ms

In comparison this is the log that shows when i click play from Edge or Brave or Chrome and the video loads instantly:
Code:
jellyfin  | [01:04:19] [INF] [73] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for nick. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True

From what i gathered testing arround, only when "Enable hardware encoding" is enabled i get this problem on firefox, but if i turn it off it seems to HW acceleration takes place and the videos lag and load super slow.
Again this problem is only on firefox and mobile app. On chromium it works with Enable hardware encoding ON


RE: "Playback failed due to a fatal player error." (Only in Firefox) - TheDreadPirate - 2024-10-19

Your CPU does not have much meaningful hardware acceleration. In particular, Intel dropped QSV support for that CPU a long time ago. You have to select VAAPI for hardware acceleration.

And you have to be careful with which codecs you enable for GPU accleration. Both decoding and encoding.

https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video#Hardware_decoding_and_encoding


RE: "Playback failed due to a fatal player error." (Only in Firefox) - altair - 2024-10-19

(2024-10-19, 10:48 PM)TheDreadPirate Wrote: Your CPU does not have much meaningful hardware acceleration.  In particular, Intel dropped QSV support for that CPU a long time ago.  You have to select VAAPI for hardware acceleration.

And you have to be careful with which codecs you enable for GPU accleration.  Both decoding and encoding.

https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video#Hardware_decoding_and_encoding

Thanks for the reply friend, I have everything off on decoding HW decoding, i tried and switched from OSV to VAAPI as well as V4L2, nothing seems to work on Firefox and the mobile app, but chrome works flawlessly with everything. Hardware encoding seems to be doing all the work cause without it, the videos lag all the time, 1 sec of playing 5 sec of buffering.
 
Here is an image of the settings.
[Image: I8v7PQr.jpeg]