Player for android TV and firetv - Printable Version +- Jellyfin Forum (https://forum.jellyfin.org) +-- Forum: Development (https://forum.jellyfin.org/f-development) +--- Forum: Feature Requests (https://forum.jellyfin.org/f-feature-requests) +--- Thread: Player for android TV and firetv (/t-player-for-android-tv-and-firetv) |
Player for android TV and firetv - vince954 - 2024-08-07 Gents, i kept running into an issue on the jellyfin player app on my firetv cubes, some files would give an error yet i could play the same file on other players such as the web tool and the android version on my phone. i discovered that they too ran into trouble if i left the CC setting to automatically load when starting to play a movie on some files i have, probably because there is no CC file. on the android app, windows, and the web tool i can simply turn off CC and the file plays fine. on the player for android TV and fire tv, there is no such option, it always tries to load close captioning. i foudn a workaround in the menues by setting a button to bring up the CC menu, if i do this quickly enough i can torn off CC and then the movie plays... can you add this option just like on the other player apps? RE: Player for android TV and firetv - TheDreadPirate - 2024-08-07 Can you share your full jellyfin log via pastebin? RE: Player for android TV and firetv - vince954 - 2024-08-07 i can see this in the log, not an expert so i hope you can investigate. the reality is that playing any video with subtitles enabled causes a fatal player error. if i disable subtitles then the video plays. in any player. my big issue is that the android tv version does not let you turn off subtitles till the video starts playing and to do it i had to enable a subtitle shortcut. [2024-08-07 12:43:34.896 -04:00] [INF] [16] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "vince". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2024-08-07 12:43:34.966 -04:00] [INF] [21] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request [2024-08-07 12:43:34.975 -04:00] [ERR] [21] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/videos/1bfd41e3-f40d-2be7-1b43-673aca374f02/hls1/main/-1.mp4". System.NullReferenceException: Object reference not set to an instance of an object. at MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor.<>c.<ExtractAllAttachments>b__8_0(MediaAttachment a) at System.Linq.Enumerable.Any[TSource](IEnumerable 1 source, Func 2 predicate)at MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor.ExtractAllAttachments(String inputFile, MediaSourceInfo mediaSource, String outputPath, CancellationToken cancellationToken) 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, Nullable1 minSegments, String mediaSourceId, String deviceId, String audioCodec, Nullable 1 enableAutoStreamCopy, Nullable1 allowVideoStreamCopy, Nullable 1 allowAudioStreamCopy, Nullable1 breakOnNonKeyFrames, Nullable 1 audioSampleRate, Nullable1 maxAudioBitDepth, Nullable 1 audioBitRate, Nullable1 audioChannels, Nullable 1 maxAudioChannels, String profile, String level, Nullable1 framerate, Nullable 1 maxFramerate, Nullable1 copyTimestamps, Nullable 1 startTimeTicks, Nullable1 width, Nullable 1 height, Nullable1 maxWidth, Nullable 1 maxHeight, Nullable1 videoBitRate, Nullable 1 subtitleStreamIndex, Nullable1 subtitleMethod, Nullable 1 maxRefFrames, Nullable1 maxVideoBitDepth, Nullable 1 requireAvc, Nullable1 deInterlace, Nullable 1 requireNonAnamorphic, Nullable1 transcodingMaxAudioChannels, Nullable 1 cpuCoreLimit, String liveStreamId, Nullable1 enableMpegtsM2TsMode, String videoCodec, String subtitleCodec, String transcodeReasons, Nullable 1 audioStreamIndex, Nullable1 videoStreamIndex, Nullable 1 context, Dictionary2 streamOptions) 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) [2024-08-07 12:43:35.031 -04:00] [INF] [16] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Web" "10.9.9" playing "A Most Wanted Man". Stopped at "0" ms [2024-08-07 12:43:39.307 -04:00] [INF] [16] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "vince". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2024-08-07 12:43:39.647 -04:00] [INF] [16] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request [2024-08-07 12:43:39.663 -04:00] [INF] [16] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: "ffmpeg" "-analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2 -i file:\"\\MEDIAVAULT\Media\Movies\Action\A most Wanted Man\A_MOST_WANTED_MAN.mp4\" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -bsf:v h264_mp4toannexb -start_at_zero -codec:a:0 libfdk_aac -ac 2 -ab 256000 -af \"volume=2\" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename \"C:\ProgramData\Jellyfin\Server\cache\transcodes\546756abfd3091d5102df7b2a3a8f088-1.mp4\" -start_number 0 -hls_segment_filename \"C:\ProgramData\Jellyfin\Server\cache\transcodes\546756abfd3091d5102df7b2a3a8f088%d.mp4\" -hls_playlist_type vod -hls_list_size 0 -y \"C:\ProgramData\Jellyfin\Server\cache\transcodes\546756abfd3091d5102df7b2a3a8f088.m3u8\"" [2024-08-07 12:43:46.631 -04:00] [INF] [12] MediaBrowser.Controller.MediaEncoding.TranscodingJob: Stopping ffmpeg process with q command for "C:\ProgramData\Jellyfin\Server\cache\transcodes\546756abfd3091d5102df7b2a3a8f088.m3u8" [2024-08-07 12:43:46.697 -04:00] [INF] [12] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: FFmpeg exited with code 0 [2024-08-07 12:43:46.700 -04:00] [INF] [12] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: Deleting partial stream file(s) "C:\ProgramData\Jellyfin\Server\cache\transcodes\546756abfd3091d5102df7b2a3a8f088.m3u8" [2024-08-07 12:43:48.263 -04:00] [INF] [12] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Web" "10.9.9" playing "A Most Wanted Man". Stopped at "4195" ms [2024-08-07 12:43:53.842 -04:00] [INF] [18] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "192.168.0.192" closed [2024-08-07 12:43:54.107 -04:00] [INF] [9] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "192.168.0.192" request RE: Player for android TV and firetv - TheDreadPirate - 2024-08-07 I need your full log. Copy and paste it to pastebin.com then save and share the link here. Also, in your FireTV, on the Jellyfin home screen click on the gear in the top right, Playback, and change the audio behavior from "downmix to stereo", if it is set to that, and switch it to direct. RE: Player for android TV and firetv - vince954 - 2024-08-07 never used that before, seems useful. https://pastebin.com/DQRTUk4y one note, i did try to swtich the audio from downlink to direct and back. no difference. the only thing that solved it was to disable subtitles. one note, i just tried the windows player app and it does not have this issue, plays no matter what. strange. so it seems to be only android apps and the web tool ( i used chrome) that have this problem. RE: Player for android TV and firetv - TheDreadPirate - 2024-08-07 That is a ffmpeg log. I need the main jellyfin log. RE: Player for android TV and firetv - vince954 - 2024-08-08 sorry, i hope this is the main log, name does not state... https://pastebin.com/sNQJXAXm RE: Player for android TV and firetv - theguymadmax - 2024-08-08 ATV does not support DVDSUBs and will attempt to burn them in, which can sometimes result in failures. Here are two workarounds:
RE: Player for android TV and firetv - vince954 - 2024-08-08 i have 100s of movie files with this issue so remuxing each is not possible. the interesting thing is that using the windows Jellyfin player i can play files without having to turn off subtitles. its only the smart tv, firetv and roku apps that will not let me turn off subtitles in order to play the file. the web interface and the android full app do let me turn it off subtitles to avoid the issue. so the feature request would be to either add the option to the players and set a default so we can avoid this issue or perhaps change the server to simply ignore DVDSUBs. RE: Player for android TV and firetv - theguymadmax - 2024-08-08 I don’t have many files with DVD subtitles to test, but if all of them are failing, there might be a problem either on the server or on the client side. As an additional workaround, you can disable subtitles on the server. The AndroidTV client uses the server’s settings, so if you disable subtitles there, they won’t load automatically on the client. Go to Settings -> Subtitle and set Subtitle mode to None. |