Subtitles not loading on Android TV - araheem - 2024-08-11
Hi all, after updating the Jellyfin for Android TV client to 0.17.0, I am unable to get the subtitles working on some files. When I try to load the subtitles it either gets stuck on "Loading subtitles.." or says "Unable to load subtitle". I also faced this issue in previous versions however managed to get around it by changing to the libvlc player in settings. In the updated client this option seems to have been removed.
Jellyfin Server 10.9.9.0
Installed on Debian via repository
Jellyfin client for Android TV
Relevant logs:
Code: [2024-08-11 12:54:16.503 +01:00] [DBG] Trying to parse '"srt"' subtitle using the "SubRip" format parser
[2024-08-11 12:54:16.506 +01:00] [ERR] Error processing request. URL "GET" "/Videos/13d215b8-e01c-ccbe-e880-f8a99ddd2026/13d215b8e01cccbee880f8a99ddd2026/Subtitles/4/0/Stream.JSON".
System.ArgumentException: Unsupported format: srt
at MediaBrowser.MediaEncoding.Subtitles.SubtitleEditParser.Parse(Stream stream, String fileExtension)
at MediaBrowser.MediaEncoding.Subtitles.SubtitleEncoder.ConvertSubtitles(Stream stream, String inputFormat, String outputFormat, Int64 startTimeTicks, Int64 endTimeTicks, Boolean preserveOriginalTimestamps, CancellationToken cancellationToken)
at MediaBrowser.MediaEncoding.Subtitles.SubtitleEncoder.MediaBrowser.Controller.MediaEncoding.ISubtitleEncoder.GetSubtitles(BaseItem item, String mediaSourceId, Int32 subtitleStreamIndex, String outputFormat, Int64 startTimeTicks, Int64 endTimeTicks, Boolean preserveOriginalTimestamps, CancellationToken cancellationToken)
at Jellyfin.Api.Controllers.SubtitleController.GetSubtitle(Guid routeItemId, String routeMediaSourceId, Int32 routeIndex, String routeFormat, Nullable`1 itemId, String mediaSourceId, Nullable`1 index, String format, Nullable`1 endPositionTicks, Boolean copyTimestamps, Boolean addVttTimeMap, Int64 startPositionTicks)
at lambda_method1196(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()
--- End of stack trace from previous location ---
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()
--- End of stack trace from previous location ---
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)
RE: Subtitles not loading on Android TV - Efficient_Good_5784 - 2024-08-11
Enable transcoding and burning in the subtitles into the video.
Exoplayer doesn't support all sub types, so the ones that don't work need to be burned in on the transcode.
RE: Subtitles not loading on Android TV - araheem - 2024-08-11
Thanks for your message. I will try that now, in the meantime is there any way to use the libvlc player as before?
RE: Subtitles not loading on Android TV - TheDreadPirate - 2024-08-11
Other than side loading 0.16.11, there is no way to use libVLC on 0.17+.
RE: Subtitles not loading on Android TV - MrGuvernment - 2024-08-12
(2024-08-11, 01:01 PM)Efficient_Good_5784 Wrote: Enable transcoding and burning in the subtitles into the video.
Exoplayer doesn't support all sub types, so the ones that don't work need to be burned in on the transcode.
Presume this is the only way?
Just about to do my own dedicated Jellyfin system, but the subtitles not loading issue is the only thing stopping me (mother-in-law), but everything is 1G wired in my house so no need to transcode in that sense, I just dont want to lose quality trans-coding if I do not need to. (or can i set trans-coding high enough it doesn't actually lower the quality of the video?)
Moving to Jellyfin because of Kodi and the audio issue and dropping out on TrueHD/Atmos encodes not being fixed yet.
RE: Subtitles not loading on Android TV - TheDreadPirate - 2024-08-12
As long as your GPU is relatively modern the quality will be pretty close to original. Unless the content is 4K HDR. It will be tone mapped to SDR.
|