jellyfin / jellyfin-webos

WebOS Client for Jellyfin
https://jellyfin.org
Mozilla Public License 2.0
652 stars 68 forks source link

Subtitles not showing #249

Open Iowerth opened 2 months ago

Iowerth commented 2 months ago

Hi. App version 1.2.2. Server version 10.9.10. No matter what I do - subtitles do not appear from any file. I've even installed Subtitle Extract - and after it's scanning situation is the same. What should I provide to fix this? Even stock LG player displays subs correctly.

dmitrylyzo commented 2 months ago

What should I provide to fix this?

  1. TV model.
  2. Media info.
  3. Subtitles format.
  4. Playback method (DirectPlay, Remux, DirectStream, Transcode).
Iowerth commented 2 months ago
  • TV model.

  • Media info.

  • Subtitles format.

  • Playback method (DirectPlay, Remux, DirectStream, Transcode).

To be prepared to answer in the evening when I'll be at home, I want to provide something I know at this moment and want to clarify some points.

  1. LG 65QNED876QB
  2. It is about file's media info like from Total Commander plugin MediaInfo?
  3. It is written when selecting subs in Jellyfin - SUBRIP. Or it is not helpful info?
  4. What is it? I have server installed on Windows PC and client on LG TV, they are connected between themselves via Wi-Fi
dmitrylyzo commented 2 months ago

To be prepared to answer in the evening when I'll be at home, I want to provide something I know at this moment and want to clarify some points.

  1. LG 65QNED876QB
  2. It is about file's media info like from Total Commander plugin MediaInfo?
  3. It is written when selecting subs in Jellyfin - SUBRIP. Or it is not helpful info?
  4. What is it? I have server installed on Windows PC and client on LG TV, they are connected between themselves via Wi-Fi
  1. So this is webOS 22.
  2. Yes.
  3. So this is SRT (text based).
  4. You can open Player Settings (geared button) on the TV during playback and select Playback Info. There will be Play method (first line, iirc). You can also see it in the Dashboard, (i) button in the device widget.

Even stock LG player displays subs correctly.

For the same video? Or in general?

Iowerth commented 2 months ago

For the same video? Or in general?

For all videos. Other points will provide in the evening.

dmitrylyzo commented 2 months ago

More questions.

  1. Do you see subtitles (for the same video) in browser on PC?
  2. If Q5 is "no". I would check if the subtitles were actually extracted (iirc, subtitles in the cache directory). Also, maybe errors in the log.
  3. If you have custom CSS or theme (skin plugin), disable it by enabling Settings -> Display -> Disable server-provided custom CSS code on the TV.
  4. Have you tried placing the subtitles next to the video (external subtitles)?
Iowerth commented 2 months ago
  1. You can open Player Settings (geared button) on the TV during playback and select Playback Info. There will be Play method (first line, iirc).

Direct Playing.

You can also see it in the Dashboard, (i) button in the device widget.

There is no any (i) button in the device widget in the Dashboard. Just can click then edit panel appears.

  1. Do you see subtitles (for the same video) in browser on PC?

No. (By the way Transcode is using in browser)

  1. If Q5 is "no". I would check if the subtitles were actually extracted (iirc, subtitles in the cache directory). Also, maybe errors in the log.

There is no folder subtitles in the cache directory (C:\ProgramData\Jellyfin\Server\cache\). But folder C:\ProgramData\Jellyfin\Server\data\subtitles\ is present.

Also, maybe errors in the log.

[2024-09-03 20:40:15.259 +03:00] [ERR] [19] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/Videos/fcc2295f-be00-b7f2-af87-77fc0646074c/fcc2295fbe00b7f2af8777fc0646074c/Subtitles/8/0/Stream.js".
System.ArgumentException: Unsupported format: srt
  1. If you have custom CSS

No, I haven't.

  1. Have you tried placing the subtitles next to the video (external subtitles)?

External subs works fine.

  1. Media info.

Info about subs from MediaInfo:

Text #1
ID                          : 8
Format                      : UTF-8
Codec ID                    : S_TEXT/UTF8
Codec ID/Info               : UTF-8 Plain Text
Duration                    : 2 h 0 min
Bit rate                    : 47 b/s
Frame rate                  : 0.118 FPS
Count of elements           : 857
Stream size                 : 41.8 KiB (0%)
Title                       : Full
Language                    : Russian
Default                     : No
Forced                      : No

Text #2
ID                          : 9
Format                      : UTF-8
Codec ID                    : S_TEXT/UTF8
Codec ID/Info               : UTF-8 Plain Text
Duration                    : 1 h 51 min
Bit rate                    : 34 b/s
Frame rate                  : 0.136 FPS
Count of elements           : 910
Stream size                 : 28.4 KiB (0%)
Title                       : Full
Language                    : English
Default                     : No
Forced                      : No

Text #3
ID                          : 10
Format                      : UTF-8
Codec ID                    : S_TEXT/UTF8
Codec ID/Info               : UTF-8 Plain Text
Duration                    : 1 h 59 min
Bit rate                    : 45 b/s
Frame rate                  : 0.191 FPS
Count of elements           : 1378
Stream size                 : 39.7 KiB (0%)
Title                       : SDH
Language                    : English
Default                     : No
Forced                      : No
dmitrylyzo commented 2 months ago

[2024-09-03 20:40:15.259 +03:00] [ERR] [19] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/Videos/fcc2295f-be00-b7f2-af87-77fc0646074c/fcc2295fbe00b7f2af8777fc0646074c/Subtitles/8/0/Stream.js". System.ArgumentException: Unsupported format: srt

Could you enable debug logging on the server and retry with the browser?

There should be line MediaBrowser.MediaEncoding.Subtitles.SubtitleEditParser: Trying to parse '"srt"' subtitle using the "SubRip" format parser. Above it should be the subtitle path starting with C:\ProgramData\Jellyfin\Server\data\subtitles\. Check if the file exists and is valid.

Iowerth commented 2 months ago

Strange situation. Subtitles now works in browser, but still not works on TV, and there is no either errors, nor your line in logs. Will check in the evening deeper.

Iowerth commented 2 months ago

Could you enable debug logging on the server and retry with the browser?

There should be line MediaBrowser.MediaEncoding.Subtitles.SubtitleEditParser: Trying to parse '"srt"' subtitle using the "SubRip" format parser. Above it should be the subtitle path starting with C:\ProgramData\Jellyfin\Server\data\subtitles\. Check if the file exists and is valid.

The situation got stranger. Two movies that had no subtitles now have them both in browser and on TV. Started a new movie for test - there are no subtitles both in browser and on TV (but they are displayed in MPC).

From debug log:

[2024-09-04 20:22:44.098 +03:00] [ERR] [21] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/Videos/f216b761-4061-f557-ad50-8ac4ff25cdfe/f216b7614061f557ad508ac4ff25cdfe/Subtitles/5/0/Stream.js".
System.ArgumentException: Unsupported format: srt

There are no lines that you have specified.

MediaInfo from new test movie:

Text #1
ID                          : 5
Format                      : UTF-8
Codec ID                    : S_TEXT/UTF8
Codec ID/Info               : UTF-8 Plain Text
Duration                    : 2 h 11 min
Bit rate                    : 1 b/s
Frame rate                  : 0.006 FPS
Count of elements           : 44
Stream size                 : 1.71 KiB (0%)
Title                       : forced
Language                    : Russian
Default                     : Yes
Forced                      : No

Text #2
ID                          : 6
Format                      : UTF-8
Codec ID                    : S_TEXT/UTF8
Codec ID/Info               : UTF-8 Plain Text
Duration                    : 2 h 12 min
Bit rate                    : 67 b/s
Frame rate                  : 0.161 FPS
Count of elements           : 1282
Stream size                 : 65.9 KiB (0%)
Title                       : FOCS
Language                    : Russian
Default                     : No
Forced                      : No

Text #3
ID                          : 7
Format                      : UTF-8
Codec ID                    : S_TEXT/UTF8
Codec ID/Info               : UTF-8 Plain Text
Duration                    : 1 h 49 min
Bit rate                    : 1 b/s
Frame rate                  : 0.006 FPS
Count of elements           : 38
Stream size                 : 954 Bytes (0%)
Title                       : forced
Language                    : English
Default                     : No
Forced                      : No

Text #4
ID                          : 8
Format                      : UTF-8
Codec ID                    : S_TEXT/UTF8
Codec ID/Info               : UTF-8 Plain Text
Duration                    : 2 h 12 min
Bit rate                    : 39 b/s
Frame rate                  : 0.164 FPS
Count of elements           : 1306
Stream size                 : 38.8 KiB (0%)
Title                       : full
Language                    : English
Default                     : No
Forced                      : No

Text #5
ID                          : 9
Format                      : UTF-8
Codec ID                    : S_TEXT/UTF8
Codec ID/Info               : UTF-8 Plain Text
Duration                    : 2 h 13 min
Bit rate                    : 46 b/s
Frame rate                  : 0.204 FPS
Count of elements           : 1630
Stream size                 : 45.7 KiB (0%)
Title                       : SDH
Language                    : English
Default                     : No
Forced                      : No
dmitrylyzo commented 2 months ago

Two movies that had no subtitles now have them both in browser and on TV. Started a new movie for test - there are no subtitles both in browser and on TV (but they are displayed in MPC).

Probably, since the subtitles are internal, the server needs to extract them (Allow subtitle extraction on the fly option). This process takes some time, so subtitles may not appear immediately, depending on the size of the media file. It does this once for each subtitle track. So next time you will see them immediately, unless there is an error.

There is SubtitleExtract plugin in the official repository. It pre-extracts subtitles from all media files.

There are no lines that you have specified.

Something similar? About subtitle extraction. There are currently bugs in the server:

Iowerth commented 2 months ago

Allow subtitle extraction on the fly option

It was disabled by myself because there were no subs with it enabled. Now I turned it on, will see.

There is SubtitleExtract plugin in the official repository. It pre-extracts subtitles from all media files.

I have it installed, it is written in the first post.

Something similar? About subtitle extraction.

Nothing.

Is it possible to extract subtitle for specific file only? Because if Extract subtitles during library scan enabled then it take too much time to re-scan a whole library.

dmitrylyzo commented 2 months ago

Is it possible to extract subtitle for specific file only?

With Allow subtitle extraction on the fly enabled, it will extract subtitles only for the currently playing item.

But currently it may not work due to the mentioned bug. I think there should be error messages in the log in this case.

Because if Extract subtitles during library scan enabled then it take too much time to re-scan a whole library.

I could be wrong, but it shouldn't try to re-extract existing subtitles.

Iowerth commented 2 months ago

Ok, thank you for helping as much as you can and sorry for the inconvenience. I think we can stop at this point, as it is taking too much time for both of us. I will be using external subtitles - thanks to gMKVExtractGUI, it only takes a few seconds.

You may close this issue, if there is nothing else to do.

ganda234 commented 2 months ago

I'm having the exact the same issue. They also work fine on the stock LG player. I've tried extract on the fly and the subtitle extract plugin. On the 4k movie "Incendies", with DV and HDR, none of the subtitles work when playing the movie, even though I can select them. On the 4k movie "Arrival", with only HDR, they work without any problems. They also work fine on 1080p movies, "Little Fish". The only workaround on this is to use external subtitles on the same folder as the movie. I'm only using .srt subtitles. I've tried with and without server-provided custom CSS code, nothing changes. Still a problem on Server version 10.9.11.

[2024-09-08 02:34:09.303 +01:00] [ERR] [8] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/Videos/fe070472-e832-32a1-7b5f-90c68a451b8c/fe070472e83232a17b5f90c68a451b8c/Subtitles/5/0/Stream.js".
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_method1365(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()
[2024-09-08 02:35:21.253 +01:00] [INF] [24] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Web" "10.9.11" playing "Little Fish". Stopped at "0" ms
[2024-09-08 02:35:23.361 +01:00] [INF] [26] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "User". EnablePlaybackRemuxing: False EnableVideoPlaybackTranscoding: False EnableAudioPlaybackTranscoding: False
[2024-09-08 02:35:26.360 +01:00] [INF] [27] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Web" "10.9.11" playing "Little Fish". Stopped at "0" ms
[2024-09-08 02:35:33.583 +01:00] [INF] [25] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "User". EnablePlaybackRemuxing: False EnableVideoPlaybackTranscoding: False EnableAudioPlaybackTranscoding: False
[2024-09-08 02:36:07.795 +01:00] [INF] [26] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Web" "10.9.11" playing "Little Fish". Stopped at "133213" ms

TV model: LG 55UQ81006LB, software version 04.41.39

Media info: Incendies.2010.2160p.UHD.Blu-ray.Remux.DV.HDR.HEVC.DTS-HD.MA.5.1-CiNEPHiLES.mkv_MediaInfo.txt Arrival.2016.2160p.UHD.BluRay.REMUX.HDR.HEVC.DTS-HD.MA.7.1-EPSiLON.mkv_MediaInfo.txt Little.Fish.2020.BluRay.1080p.DTS-HD.MA.5.1.AVC.REMUX-FraMeSToR.mkv_MediaInfo.txt

Subtitles format: .srt

Playback method (DirectPlay, Remux, DirectStream, Transcode): Direct Play

Iowerth commented 2 months ago

@ganda234 hmm, this is an important note about 4K and 1080p. All I faced was 4K, I need to test on 1080p files just for no reason. But I can only do this only a week later because of vacation.

dmitrylyzo commented 2 months ago

Unsupported format: srt (from here) seems to happen when it can't parse the file.

With debug level logging, you should see MediaBrowser.MediaEncoding.Subtitles.SubtitleEditParser: Trying to parse '"srt"' subtitle using the "SubRip" format parser just before that line.

In case of an error there will be ... errors encountered while parsing '"srt"' subtitle using the "SubRip" format parser. If still no such line, then there's no any subtitle parser for some reason.

@ganda234 is your server also on Windows?

ganda234 commented 2 months ago

Yes, my server is also on windows @dmitrylyzo Just tried on "Incendies" with debug logging and there is no such lines, only Unsupported format: srt

[2024-09-09 01:00:38.199 +01:00] [INF] [21] Microsoft.AspNetCore.Routing.EndpointMiddleware: Executed endpoint '"Jellyfin.Api.Controllers.PlaystateController.ReportPlaybackProgress (Jellyfin.Api)"'
[2024-09-09 01:00:38.201 +01:00] [INF] [21] Microsoft.AspNetCore.Hosting.Diagnostics: Request finished "HTTP/1.1" "POST" "http"://"---.---.-.--:----""""/Sessions/Playing/Progress""" - 204 null null 25.823ms
[2024-09-09 01:00:38.557 +01:00] [INF] [21] Microsoft.AspNetCore.Hosting.Diagnostics: Request starting "HTTP/1.1" "GET" "http"://"---.---.-.--:----""""/web/95947.css""" - null null
[2024-09-09 01:00:38.561 +01:00] [INF] [21] Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware: Sending file. Request path: '"/95947.css"'. Physical path: '"C:\Program Files\Jellyfin\Server\jellyfin-web\95947.css"'
[2024-09-09 01:00:38.562 +01:00] [INF] [21] Microsoft.AspNetCore.Hosting.Diagnostics: Request finished "HTTP/1.1" "GET" "http"://"---.---.-.--:----""""/web/95947.css""" - 200 null "text/css" 5.9015ms
[2024-09-09 01:00:39.224 +01:00] [INF] [23] Microsoft.AspNetCore.Hosting.Diagnostics: Request starting "HTTP/1.1" "GET" "http"://"---.---.-.--:----""""/Videos/fe070472-e832-32a1-7b5f-90c68a451b8c/fe070472e83232a17b5f90c68a451b8c/Subtitles/5/0/Stream.js""?api_key=------------------" - null null
[2024-09-09 01:00:39.230 +01:00] [INF] [23] Microsoft.AspNetCore.Routing.EndpointMiddleware: Executing endpoint '"Jellyfin.Api.Controllers.SubtitleController.GetSubtitleWithTicks (Jellyfin.Api)"'
[2024-09-09 01:00:39.234 +01:00] [INF] [23] Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Route matched with "{action = \"GetSubtitleWithTicks\", controller = \"Subtitle\"}". Executing controller action with signature "System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.ActionResult] GetSubtitleWithTicks(System.Guid, System.String, Int32, Int64, System.String, System.Nullable`1[System.Guid], System.String, System.Nullable`1[System.Int32], System.Nullable`1[System.Int64], System.String, System.Nullable`1[System.Int64], Boolean, Boolean)" on controller "Jellyfin.Api.Controllers.SubtitleController" ("Jellyfin.Api").
[2024-09-09 01:00:39.252 +01:00] [INF] [23] Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Executed action "Jellyfin.Api.Controllers.SubtitleController.GetSubtitleWithTicks (Jellyfin.Api)" in 14.9636ms
[2024-09-09 01:00:39.255 +01:00] [INF] [23] Microsoft.AspNetCore.Routing.EndpointMiddleware: Executed endpoint '"Jellyfin.Api.Controllers.SubtitleController.GetSubtitleWithTicks (Jellyfin.Api)"'
[2024-09-09 01:00:39.257 +01:00] [ERR] [23] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/Videos/fe070472-e832-32a1-7b5f-90c68a451b8c/fe070472e83232a17b5f90c68a451b8c/Subtitles/5/0/Stream.js".
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_method1152(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 ---
dmitrylyzo commented 2 months ago

Just tried on "Incendies" with debug logging and there is no such lines, only Unsupported format: srt

😕 Do you see any [DBG] marked lines? Just to make sure debugging is active.

ganda234 commented 2 months ago

I thought that debugging was on when I tried the last time, but it actually wasn't. I tried again with it actually working:

[2024-09-09 16:03:27.253 +01:00] [INF] [13] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "User". EnablePlaybackRemuxing: False EnableVideoPlaybackTranscoding: False EnableAudioPlaybackTranscoding: False
[2024-09-09 16:03:27.259 +01:00] [DBG] [13] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Unknown Profile", Path: "E:\Filmes\Incendies.2010.2160p.UHD.Blu-ray.Remux.DV.HDR.HEVC.DTS-HD.MA.5.1-CiNEPHiLES.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: False
[2024-09-09 16:03:27.279 +01:00] [DBG] [13] Jellyfin.Api.Helpers.MediaInfoHelper: DirectPlay Result for Profile: "Anonymous Profile", Path: "E:\Filmes\Incendies.2010.2160p.UHD.Blu-ray.Remux.DV.HDR.HEVC.DTS-HD.MA.5.1-CiNEPHiLES.mkv", PlayMethod: DirectPlay, AudioStreamIndex: 3, SubtitleStreamIndex: 5, Reasons: 0
[2024-09-09 16:03:27.284 +01:00] [DBG] [13] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="E:\Filmes\Incendies.2010.2160p.UHD.Blu-ray.Remux.DV.HDR.HEVC.DTS-HD.MA.5.1-CiNEPHiLES.mkv", AudioStreamIndex=3, SubtitleStreamIndex=5 ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) "media:/videos/fe070472-e832-32a1-7b5f-90c68a451b8c/stream.mkv?MediaSourceId=fe070472e83232a17b5f90c68a451b8c&Static=true&VideoCodec=hevc&AudioCodec=ac3&AudioStreamIndex=3&api_key=<token>&Tag=663b873aa6ec2f73dde62719d649d1a1"
[2024-09-09 16:03:27.983 +01:00] [DBG] [15] Emby.Server.Implementations.Session.SessionWebSocketListener: Watching 1 WebSockets.
[2024-09-09 16:03:28.413 +01:00] [DBG] [13] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2024-09-09 16:03:39.984 +01:00] [DBG] [10] Emby.Server.Implementations.Session.SessionWebSocketListener: Watching 1 WebSockets.
[2024-09-09 16:03:40.769 +01:00] [DBG] [18] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2024-09-09 16:03:40.773 +01:00] [DBG] [18] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2024-09-09 16:03:44.510 +01:00] [DBG] [18] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2024-09-09 16:03:44.513 +01:00] [DBG] [18] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2024-09-09 16:03:51.533 +01:00] [DBG] [18] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2024-09-09 16:03:51.641 +01:00] [DBG] [18] MediaBrowser.MediaEncoding.Subtitles.SubtitleEditParser: Trying to parse '"srt"' subtitle using the "SubRip" format parser
[2024-09-09 16:03:51.646 +01:00] [ERR] [18] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/Videos/fe070472-e832-32a1-7b5f-90c68a451b8c/fe070472e83232a17b5f90c68a451b8c/Subtitles/5/0/Stream.js".
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_method1164(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 ---
dmitrylyzo commented 2 months ago

tried again with it actually working:

So it is actually trying to parse the file. Since there's no parse error, maybe file is just empty (extraction failed earlier)?

Subtitles are extracted to C:\ProgramData\Jellyfin\Server\data\subtitles, but they have non-obvious names. I think we need another debug message indicating the path that is being processed.

ganda234 commented 2 months ago

Went to check and I can confirm that there are subtitles on the folders, maybe their names should be more direct as you mentioned? Weird thing is that they work on the other movies I mentioned before