jellyfin / jellyfin

The Free Software Media System
https://jellyfin.org
GNU General Public License v2.0
31.97k stars 2.92k forks source link

[Issue]: "Second path fragment must not be a drive or UNC name" while indexing films #10902

Open eppesuig opened 5 months ago

eppesuig commented 5 months ago

Please describe your bug

I have d directory with a complete backup of my DVD, most of them converted to MKX, but a few of them are just a copy of DVD file system. While scanning the directories added to the film library, I get this error message in the log:

gen 21 12:12:56 mantide jellyfin[1230641]: [12:12:56] [ERR] Error in ffprobe
gen 21 12:12:56 mantide jellyfin[1230641]: System.ArgumentException: Second path fragment must not be a drive or UNC name. (Parameter 'expression')
gen 21 12:12:56 mantide jellyfin[1230641]:    at System.IO.Enumeration.FileSystemEnumerableFactory.NormalizeInputs(String& directory, String& expression, MatchType matchType)
gen 21 12:12:56 mantide jellyfin[1230641]:    at System.IO.DirectoryInfo.InternalEnumerateInfos(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
gen 21 12:12:56 mantide jellyfin[1230641]:    at System.IO.DirectoryInfo.GetFiles(String searchPattern, EnumerationOptions enumerationOptions)
gen 21 12:12:56 mantide jellyfin[1230641]:    at DvdLib.Ifo.Dvd..ctor(String path)
gen 21 12:12:56 mantide jellyfin[1230641]:    at MediaBrowser.Providers.MediaInfo.FFProbeVideoInfo.FetchFromDvdLib(Video item)
gen 21 12:12:56 mantide jellyfin[1230641]:    at MediaBrowser.Providers.MediaInfo.FFProbeVideoInfo.ProbeVideo[T](T item, MetadataRefreshOptions options, CancellationToken cancellationToken)
gen 21 12:12:56 mantide jellyfin[1230641]:    at MediaBrowser.Providers.Manager.MetadataService`2.RunCustomProvider(ICustomMetadataProvider`1 provider, TItemType item, String logName, MetadataRefreshOptions options, RefreshResult refreshResult, CancellationToken cancellationToken)

from what I understood, this happens while the FFProbeProvider list file in the VIDEO_TS directory.

Jellyfin Version

10.8.z

if other:

18-8-13

Environment

- OS: Debian 12
- Linux Kernel: 6.1.69-1
- Virtualization: no
- Clients: firefox
- Browser: firefox
- FFmpeg Version: 5.1.4-0+deb12u1
- Playback Method: firefox
- Hardware Acceleration: no
- GPU Model: not used
- Plugins: empty list
- Reverse Proxy: no
- Base URL: http://192.168.222.54:8096/
- Networking: local LAN
- Storage: local

Jellyfin logs

[2024-01-21 12:48:13.507 +01:00] [INF] Deleting previous image "/var/lib/jellyfin/metadata/library/f2/f25c63bc9b6e57f50a9d92530b48977c/poster.jpg"
[2024-01-21 12:48:13.541 +01:00] [INF] Deleting previous image "/var/lib/jellyfin/metadata/library/f2/f25c63bc9b6e57f50a9d92530b48977c/logo.png"
[2024-01-21 12:48:21.068 +01:00] [ERR] Error in "ffprobe"
System.ArgumentException: Second path fragment must not be a drive or UNC name. (Parameter 'expression')
   at System.IO.Enumeration.FileSystemEnumerableFactory.NormalizeInputs(String& directory, String& expression, MatchType matchType)
   at System.IO.DirectoryInfo.InternalEnumerateInfos(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
   at System.IO.DirectoryInfo.GetFiles(String searchPattern, EnumerationOptions enumerationOptions)
   at DvdLib.Ifo.Dvd..ctor(String path)
   at MediaBrowser.Providers.MediaInfo.FFProbeVideoInfo.FetchFromDvdLib(Video item)
   at MediaBrowser.Providers.MediaInfo.FFProbeVideoInfo.ProbeVideo[T](T item, MetadataRefreshOptions options, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.RunCustomProvider(ICustomMetadataProvider`1 provider, TItemType item, String logName, MetadataRefreshOptions options, RefreshResult refreshRes
ult, CancellationToken cancellationToken)
[2024-01-21 12:48:21.323 +01:00] [INF] Deleting previous image "/var/lib/jellyfin/metadata/library/8a/8a6ef23dea02888a271ceb5287ed8acd/poster.jpg"
[2024-01-21 12:48:21.347 +01:00] [INF] Deleting previous image "/var/lib/jellyfin/metadata/library/8a/8a6ef23dea02888a271ceb5287ed8acd/logo.png"

FFmpeg logs

No response

Please attach any browser or client logs here

No response

Please attach any screenshots here

No response

Code of Conduct

felix920506 commented 5 months ago

Hi, please post the folder structure of the problematic items.

eppesuig commented 5 months ago

Hello, here it is:

Il grande lupo chiama/
Il grande lupo chiama/VIDEO_TS
Il grande lupo chiama/VIDEO_TS/VIDEO_TS.IFO
Il grande lupo chiama/VIDEO_TS/VIDEO_TS.BUP
Il grande lupo chiama/VIDEO_TS/VIDEO_TS.VOB
Il grande lupo chiama/VIDEO_TS/VTS_01_0.IFO
Il grande lupo chiama/VIDEO_TS/VTS_01_0.BUP
Il grande lupo chiama/VIDEO_TS/VTS_01_1.VOB
Il grande lupo chiama/VIDEO_TS/VTS_01_2.VOB
Il grande lupo chiama/VIDEO_TS/VTS_01_3.VOB
Il grande lupo chiama/VIDEO_TS/VTS_01_4.VOB
Il grande lupo chiama/VIDEO_TS/VTS_02_0.IFO
Il grande lupo chiama/VIDEO_TS/VTS_02_0.BUP
Il grande lupo chiama/VIDEO_TS/VTS_02_1.VOB
strugee commented 4 months ago

I can reproduce this with a playback attempt.

Logs:

[2024-03-11 06:08:24.080 +00:00] [WRN] Slow HTTP Response from "https://<base URL>/Items/6b96bcfefa1973e751c2520bfae252e7/Images/Backdrop/0?maxWidth=1800&tag=bb2c2a13e187952033394a7665692cb5&quality=80" to "192.168.1.16" in 0:00:01.2889709 with Status Code 200
[2024-03-11 06:08:49.216 +00:00] [ERR] Error in "ffprobe"
System.ArgumentException: Second path fragment must not be a drive or UNC name. (Parameter 'expression')
   at System.IO.Enumeration.FileSystemEnumerableFactory.NormalizeInputs(String& directory, String& expression, MatchType matchType)
   at System.IO.DirectoryInfo.InternalEnumerateInfos(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
   at System.IO.DirectoryInfo.GetFiles(String searchPattern, EnumerationOptions enumerationOptions)
   at DvdLib.Ifo.Dvd..ctor(String path)
   at MediaBrowser.Providers.MediaInfo.FFProbeVideoInfo.FetchFromDvdLib(Video item)
   at MediaBrowser.Providers.MediaInfo.FFProbeVideoInfo.ProbeVideo[T](T item, MetadataRefreshOptions options, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.RunCustomProvider(ICustomMetadataProvider`1 provider, TItemType item, String logName, MetadataRefreshOptions options, RefreshResult refreshResult, CancellationToken cancellationToken)
[2024-03-11 06:08:50.988 +00:00] [INF] User policy for "<user>". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-03-11 06:08:51.321 +00:00] [INF] StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/iso_test/BASIC_INSTINCT", AudioStreamIndex=null, SubtitleStreamIndex=-1 ) => ( PlayMethod=Transcode, TranscodeReason=ContainerNotSupported, VideoCodecNotSupported ) "media:/videos/6b96bcfe-fa19-73e7-51c2-520bfae252e7/master.m3u8?MediaSourceId=6b96bcfefa1973e751c2520bfae252e7&VideoCodec=h264&AudioCodec=aac,mp3&VideoBitrate=139808000&AudioBitrate=192000&api_key=<token>&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=543b6ca4c9f21c87d81daf7a932499c0&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&TranscodeReasons=ContainerNotSupported,%20VideoCodecNotSupported"
[2024-03-11 06:08:51.357 +00:00] [WRN] Slow HTTP Response from "https://<base URL>/Items/6b96bcfefa1973e751c2520bfae252e7/PlaybackInfo?UserId=fe460ca06e48491a99fb38da14f1a20e&StartTimeTicks=0&IsPlayback=true&AutoOpenLiveStream=true&SubtitleStreamIndex=-1&MediaSourceId=6b96bcfefa1973e751c2520bfae252e7&MaxStreamingBitrate=140000000" to "192.168.1.16" in 0:00:02.5265579 with Status Code 200
[2024-03-11 06:08:53.022 +00:00] [INF] Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2024-03-11 06:08:53.075 +00:00] [INF] "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -autorotate 0 -i file:\"/iso_test/BASIC_INSTINCT\" -map_metadata -1 -map_chapters -1 -threads 0 -sn   -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_base_url \"hls/7c8fb90cac5700e4ebc155945acf2185/\" -hls_segment_filename \"/var/lib/jellyfin/transcodes/7c8fb90cac5700e4ebc155945acf2185%d.ts\" -hls_playlist_type event -hls_list_size 0 -y \"/var/lib/jellyfin/transcodes/7c8fb90cac5700e4ebc155945acf2185.m3u8\""
[2024-03-11 06:08:53.828 +00:00] [INF] Sending ForceKeepAlive message to 1 inactive WebSockets.
[2024-03-11 06:08:54.262 +00:00] [ERR] FFmpeg exited with code 1
[2024-03-11 06:08:54.311 +00:00] [ERR] Error processing request. URL "GET" "/videos/6b96bcfe-fa19-73e7-51c2-520bfae252e7/live.m3u8".
MediaBrowser.Common.FfmpegException: FFmpeg exited with code 1
   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.GetLiveHlsStream(Guid itemId, String container, 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 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, Nullable`1 maxWidth, Nullable`1 maxHeight, Nullable`1 enableSubtitlesInManifest)
   at lambda_method1308(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 Prometheus.HttpMetrics.HttpRequestDurationMiddleware.Invoke(HttpContext context)
   at Prometheus.HttpMetrics.HttpRequestCountMiddleware.Invoke(HttpContext context)
   at Prometheus.HttpMetrics.HttpInProgressMiddleware.Invoke(HttpContext context)
   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)
[2024-03-11 06:08:54.339 +00:00] [WRN] Slow HTTP Response from "https://<base URL>/videos/6b96bcfe-fa19-73e7-51c2-520bfae252e7/live.m3u8?DeviceId=TW96aWxsYS81LjAgKFgxMTsgRmVkb3JhOyBMaW51eCB4ODZfNjQ7IHJ2Ojg5LjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvODkuMHwxNjI2MTY2MzY4MjMw&MediaSourceId=6b96bcfefa1973e751c2520bfae252e7&VideoCodec=h264&AudioCodec=aac,mp3&VideoBitrate=139808000&AudioBitrate=192000&PlaySessionId=b0f2f451c52d436fbecfb3a31bf2d393&api_key=8a61d8c8d30446b18e82b5e8d856f99b&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=543b6ca4c9f21c87d81daf7a932499c0&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&TranscodeReasons=ContainerNotSupported,%20VideoCodecNotSupported" to "192.168.1.16" in 0:00:01.3589197 with Status Code 500
[2024-03-11 06:08:54.541 +00:00] [ERR] Error in "ffprobe"
System.ArgumentException: Second path fragment must not be a drive or UNC name. (Parameter 'expression')
   at System.IO.Enumeration.FileSystemEnumerableFactory.NormalizeInputs(String& directory, String& expression, MatchType matchType)
   at System.IO.DirectoryInfo.InternalEnumerateInfos(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
   at System.IO.DirectoryInfo.GetFiles(String searchPattern, EnumerationOptions enumerationOptions)
   at DvdLib.Ifo.Dvd..ctor(String path)
   at MediaBrowser.Providers.MediaInfo.FFProbeVideoInfo.FetchFromDvdLib(Video item)
   at MediaBrowser.Providers.MediaInfo.FFProbeVideoInfo.ProbeVideo[T](T item, MetadataRefreshOptions options, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.RunCustomProvider(ICustomMetadataProvider`1 provider, TItemType item, String logName, MetadataRefreshOptions options, RefreshResult refreshResult, CancellationToken cancellationToken)
[2024-03-11 06:08:54.697 +00:00] [INF] Adding playback tracker : TW96aWxsYS81LjAgKFgxMTsgRmVkb3JhOyBMaW51eCB4ODZfNjQ7IHJ2Ojg5LjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvODkuMHwxNjI2MTY2MzY4MjMw-fe460ca06e48491a99fb38da14f1a20e-6b96bcfefa1973e751c2520bfae252e7
[2024-03-11 06:08:54.700 +00:00] [INF] PlaybackTracker : Adding Start Event : 03/11/2024 06:08:54
[2024-03-11 06:08:54.701 +00:00] [INF] Creating StartPlaybackTimer Task
[2024-03-11 06:08:54.748 +00:00] [INF] StartPlaybackTimer : Entered
[2024-03-11 06:08:54.788 +00:00] [INF] User policy for "<user>". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-03-11 06:08:54.790 +00:00] [INF] StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/iso_test/BASIC_INSTINCT", AudioStreamIndex=null, SubtitleStreamIndex=-1 ) => ( PlayMethod=Transcode, TranscodeReason=ContainerNotSupported, VideoCodecNotSupported ) "media:/videos/6b96bcfe-fa19-73e7-51c2-520bfae252e7/master.m3u8?MediaSourceId=6b96bcfefa1973e751c2520bfae252e7&VideoCodec=h264&AudioCodec=aac,mp3&VideoBitrate=139808000&AudioBitrate=192000&api_key=<token>&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=543b6ca4c9f21c87d81daf7a932499c0&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&TranscodeReasons=ContainerNotSupported,%20VideoCodecNotSupported"
[2024-03-11 06:08:54.888 +00:00] [INF] Deleting partial stream file(s) "/var/lib/jellyfin/transcodes/7c8fb90cac5700e4ebc155945acf2185.m3u8"
[2024-03-11 06:08:54.989 +00:00] [INF] Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2024-03-11 06:08:54.990 +00:00] [INF] "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -autorotate 0 -i file:\"/iso_test/BASIC_INSTINCT\" -map_metadata -1 -map_chapters -1 -threads 0 -sn   -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_base_url \"hls/605d0bd64c404d9d96180184d757b798/\" -hls_segment_filename \"/var/lib/jellyfin/transcodes/605d0bd64c404d9d96180184d757b798%d.ts\" -hls_playlist_type event -hls_list_size 0 -y \"/var/lib/jellyfin/transcodes/605d0bd64c404d9d96180184d757b798.m3u8\""
[2024-03-11 06:08:55.108 +00:00] [ERR] FFmpeg exited with code 1
[2024-03-11 06:08:55.143 +00:00] [INF] Started user data sync
[2024-03-11 06:08:55.195 +00:00] [ERR] Error processing request. URL "GET" "/videos/6b96bcfe-fa19-73e7-51c2-520bfae252e7/live.m3u8".
MediaBrowser.Common.FfmpegException: FFmpeg exited with code 1
   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.GetLiveHlsStream(Guid itemId, String container, 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 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, Nullable`1 maxWidth, Nullable`1 maxHeight, Nullable`1 enableSubtitlesInManifest)
   at lambda_method1308(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 Prometheus.HttpMetrics.HttpRequestDurationMiddleware.Invoke(HttpContext context)
   at Prometheus.HttpMetrics.HttpRequestCountMiddleware.Invoke(HttpContext context)
   at Prometheus.HttpMetrics.HttpInProgressMiddleware.Invoke(HttpContext context)
   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)
[2024-03-11 06:08:55.323 +00:00] [ERR] Error in "ffprobe"
System.ArgumentException: Second path fragment must not be a drive or UNC name. (Parameter 'expression')
   at System.IO.Enumeration.FileSystemEnumerableFactory.NormalizeInputs(String& directory, String& expression, MatchType matchType)
   at System.IO.DirectoryInfo.InternalEnumerateInfos(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
   at System.IO.DirectoryInfo.GetFiles(String searchPattern, EnumerationOptions enumerationOptions)
   at DvdLib.Ifo.Dvd..ctor(String path)
   at MediaBrowser.Providers.MediaInfo.FFProbeVideoInfo.FetchFromDvdLib(Video item)
   at MediaBrowser.Providers.MediaInfo.FFProbeVideoInfo.ProbeVideo[T](T item, MetadataRefreshOptions options, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.RunCustomProvider(ICustomMetadataProvider`1 provider, TItemType item, String logName, MetadataRefreshOptions options, RefreshResult refreshResult, CancellationToken cancellationToken)
[snipped - looks like some more basically identical repeats of FFmpeg attempts]

Directory structure:

$ find /iso_test/
/iso_test/
/iso_test/BASIC_INSTINCT
/iso_test/BASIC_INSTINCT/AUDIO_TS
/iso_test/BASIC_INSTINCT/VIDEO_TS
/iso_test/BASIC_INSTINCT/VIDEO_TS/VIDEO_TS.BUP
/iso_test/BASIC_INSTINCT/VIDEO_TS/VIDEO_TS.IFO
/iso_test/BASIC_INSTINCT/VIDEO_TS/VIDEO_TS.VOB
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_01_0.BUP
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_01_0.IFO
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_01_0.VOB
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_01_1.VOB
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_01_2.VOB
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_01_3.VOB
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_01_4.VOB
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_01_5.VOB
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_01_6.VOB
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_02_0.BUP
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_02_0.IFO
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_02_0.VOB
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_02_1.VOB
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_02_2.VOB
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_03_0.BUP
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_03_0.IFO
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_03_0.VOB
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_03_1.VOB
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_04_0.BUP
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_04_0.IFO
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_04_0.VOB
/iso_test/BASIC_INSTINCT/VIDEO_TS/VTS_04_1.VOB
jellyfin-bot commented 1 week ago

This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs.

If you have any questions you can use one of several ways to contact us.