Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Issue]: build in ass subtitile and build in fonts with windows path result in ffmpeg fail. #11692

Open
1 task done
zzdywc opened this issue May 17, 2024 · 7 comments
Open
1 task done
Labels
bug Something isn't working

Comments

@zzdywc
Copy link

zzdywc commented May 17, 2024

Please describe your bug

when paly build in subtitle with space and chinese character & build in fonts with windows path will fail.
when I use shell to test this command, the original command fail with regognize, the fixed command( remove some \ and ") will fail with fonts path problem. this issue has been mentioned before, but it seem not purely fixed.

Reproduction Steps

  1. use build in subtile media, especially witch has [桜都字幕组] flag.
  2. select build in subtile.
  3. paly

Jellyfin Version

10.8.13

if other:

No response

Environment

- OS: debian 12
- Linux Kernel: 6.1
- Virtualization: docker
- Clients: browser
- Browser: edge
- FFmpeg Version: 6.0.1
- Playback Method: transcode
- Hardware Acceleration: QSV
- GPU Model: uhd770
- Plugins: none
- Reverse Proxy: none
- Base URL: none
- Networking: host
- Storage: NFS

Jellyfin logs

[2024-05-17 08:25:03.328 +00:00] [INF] [71] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/videos/anime/葬送的芙莉莲 (2023)/Season 1/葬送的芙莉莲 - S01E01 - 第1集.mkv", AudioStreamIndex=1, SubtitleStreamIndex=2 ) => ( PlayMethod=Transcode, TranscodeReason=SubtitleCodecNotSupported ) "media:/videos/38b17002-cae9-984d-429e-8534f12f198d/master.m3u8?MediaSourceId=38b17002cae9984d429e8534f12f198d&VideoCodec=hevc,h264,hevc&AudioCodec=aac&AudioStreamIndex=1&SubtitleStreamIndex=2&VideoBitrate=139770192&AudioBitrate=229808&AudioSampleRate=44100&MaxFramerate=23.976025&api_key=<token>&SubtitleMethod=Encode&TranscodingMaxAudioChannels=6&RequireAvc=false&Tag=a144e4b971787e464d3e6a1a0a5c4129&SegmentContainer=mp4&MinSegments=1&BreakOnNonKeyFrames=True&hevc-level=150&hevc-videobitdepth=10&hevc-profile=main10&hevc-audiochannels=2&aac-profile=lc&h264-profile=high,main,baseline,constrainedbaseline,high10&h264-rangetype=SDR&h264-level=52&h264-deinterlace=true&hevc-rangetype=SDR&hevc-deinterlace=true&TranscodeReasons=SubtitleCodecNotSupported"
[2024-05-17 08:25:03.352 +00:00] [INF] [76] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2024-05-17 08:25:03.352 +00:00] [INF] [76] MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-dump_attachment:t \"\" -y -i file:\"/videos/anime/葬送的芙莉莲 (2023)/Season 1/葬送的芙莉莲 - S01E01 - 第1集.mkv\" -t 0 -f null null"
[2024-05-17 08:25:03.365 +00:00] [WRN] [367] MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor: Deleting extracted attachments "/cache/attachments/38b17002cae9984d429e8534f12f198d" due to failure: 1
[2024-05-17 08:25:03.365 +00:00] [ERR] [367] MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor: ffmpeg attachment extraction failed for "file:\"/videos/anime/葬送的芙莉莲 (2023)/Season 1/葬送的芙莉莲 - S01E01 - 第1集.mkv\"" to "/cache/attachments/38b17002cae9984d429e8534f12f198d"
[2024-05-17 08:25:03.366 +00:00] [ERR] [367] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/videos/38b17002-cae9-984d-429e-8534f12f198d/hls1/main/-1.mp4".
System.InvalidOperationException: ffmpeg attachment extraction failed for file:"/videos/anime/葬送的芙莉莲 (2023)/Season 1/葬送的芙莉莲 - S01E01 - 第1集.mkv" to /cache/attachments/38b17002cae9984d429e8534f12f198d
   at MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor.ExtractAllAttachmentsInternal(String inputPath, String outputPath, Boolean isExternal, CancellationToken cancellationToken)
   at MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor.ExtractAllAttachments(String inputFile, MediaSourceInfo mediaSource, String outputPath, CancellationToken cancellationToken)
   at Jellyfin.Api.Helpers.TranscodingJobHelper.StartFfMpeg(StreamState state, String outputPath, String commandLineArguments, HttpRequest request, 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, 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)
   at lambda_method934(Closure , Object )
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(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>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 Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Jellyfin.Server.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
   at Jellyfin.Server.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
   at Jellyfin.Server.Middleware.IpBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
   at Jellyfin.Server.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
   at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Jellyfin.Server.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.Server.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
   at Jellyfin.Server.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
   at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
   at Jellyfin.Server.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
   at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context)

FFmpeg logs

No response

Please attach any browser or client logs here

No response

Please attach any screenshots here

image
image

Code of Conduct

  • I agree to follow this project's Code of Conduct
@zzdywc zzdywc added the bug Something isn't working label May 17, 2024
@jellyfin-bot
Copy link
Contributor

Hi, it seems like your issue report has the following item(s) that need to be addressed:

  • You are not running an up-to-date version of Jellyfin. Please update to the latest release.

This is an automated message, currently under testing. Please file an issue here if you encounter any problems.

@zzdywc
Copy link
Author

zzdywc commented May 17, 2024

#10506 this issue seem exactly same with my problem, he/her fixed this issue by update jellyfin verison, but my verison is already same with he/her. so this issue still there.

@zzdywc
Copy link
Author

zzdywc commented May 17, 2024

and I not only tested one series, there are two [桜都字幕组] version series facing same problem.

@Icarusradio
Copy link

Can confirm the issue still exists in Jellyfin 10.9.1

@zzdywc
Copy link
Author

zzdywc commented May 19, 2024

Can confirm the issue still exists in Jellyfin 10.9.1

feel exhausted, the subtitile downloader like shooter or thurder don't regognize anime episode, download extra subtitle also very troublesome.

@Icarusradio
Copy link

Can confirm the issue still exists in Jellyfin 10.9.1

feel exhausted, the subtitile downloader like shooter or thurder don't regognize anime episode, download extra subtitle also very troublesome.

I fixed the issue by repacking the fonts using MKVToolNix.

@zzdywc
Copy link
Author

zzdywc commented May 19, 2024

Can confirm the issue still exists in Jellyfin 10.9.1

feel exhausted, the subtitile downloader like shooter or thurder don't regognize anime episode, download extra subtitle also very troublesome.

I fixed the issue by repacking the fonts using MKVToolNix.

but I'm using pt, so modify original data isn't a good idea.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: No status
Development

No branches or pull requests

3 participants