crobibero / jellyfin-plugin-tmdb-trailers

GNU General Public License v3.0
128 stars 17 forks source link

Plugin keeps losing trailer cache when scheduled task fails #98

Open QuickListTech opened 10 months ago

QuickListTech commented 10 months ago

Every day when the plugin tries to download new trailers, it removes existing files and that fails downloading the new files. Also when manually executing the scheduled task, it is stuck at 0.0% according to the dashboard.

Please see the following log:

[2023-11-08 04:00:00.005 +00:00] [INF] [64] Emby.Server.Implementations.ScheduledTasks.TaskManager: Queuing task "TmdbTrailerChannel"
[2023-11-08 04:00:00.006 +00:00] [INF] [64] Emby.Server.Implementations.ScheduledTasks.TaskManager: Executing "TMDb Trailers"
[2023-11-08 04:00:01.006 +00:00] [INF] [64] Emby.Server.Implementations.ScheduledTasks.TaskManager: Daily trigger for "TMDb Trailers" set to fire at 2023-11-09 04:00:00.000 +00:00, which is 23:59:58.9948020 from now.
[2023-11-08 04:00:03.697 +00:00] [INF] [20] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: "Trailer", Name: "Prizefighter: The Life of Jem Belcher - PRIZEFIGHTER: THE LIFE OF JEM BELCHER Official Trailer (2022)", Path: "/cache/tmdb-intro-trailers/6465b95f2bcf6700e3b92994.mp4", Id: 9cd1986a-2330-6b7d-05d3-e073dfca8b52
[2023-11-08 04:00:03.698 +00:00] [INF] [20] Emby.Server.Implementations.Library.LibraryManager: Deleting item path, Type: "Trailer", Name: "Prizefighter: The Life of Jem Belcher - PRIZEFIGHTER: THE LIFE OF JEM BELCHER Official Trailer (2022)", Path: "/cache/tmdb-intro-trailers", Id: 9cd1986a-2330-6b7d-05d3-e073dfca8b52
[2023-11-08 04:00:04.012 +00:00] [INF] [20] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: "Trailer", Name: "Epic Tails - ARGONUTS - Official Australian Trailer", Path: "/cache/tmdb-intro-trailers/63c9c55903f0b600843d128e.mp4", Id: 69a6a74e-70bf-f6af-0a2e-a7a1eaa18148
[2023-11-08 04:00:04.076 +00:00] [INF] [20] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: "Trailer", Name: "The Marvels - Official Trailer", Path: "/cache/tmdb-intro-trailers/64ba0412efd3c200dfdf810e.mp4", Id: 28c15835-7b00-3b60-c253-7845c8749745
[2023-11-08 04:00:04.119 +00:00] [INF] [20] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: "Trailer", Name: "Blue Beetle - Official Final Trailer", Path: "/cache/tmdb-intro-trailers/64adbf6f66a0d30100db2e48.mp4", Id: 7d22a759-c193-7215-c602-56372f9df2b1
[2023-11-08 04:00:04.181 +00:00] [INF] [20] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: "Trailer", Name: "Megalomaniac - Megalomaniac | Official Trailer | Horror Brains", Path: "/cache/tmdb-intro-trailers/62e0ee06a44d0907dc16f669.mp4", Id: 0e1145fd-4f4f-749a-2a37-087dc0d75d6a
[2023-11-08 04:00:04.292 +00:00] [INF] [20] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: "Trailer", Name: "Heroic - Heroico | Trailer | 21 de septiembre | Cinépolis Distribución", Path: "/cache/tmdb-intro-trailers/64fd6dce2dffd8010013a1ae.mp4", Id: d7f60787-832d-1892-196e-e5ab9b204bbc
[2023-11-08 04:00:04.350 +00:00] [INF] [20] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: "Trailer", Name: "Past Lives - Official Trailer", Path: "/cache/tmdb-intro-trailers/63f62471fc31d30081290378.mp4", Id: a9259fc5-4f09-34c8-2a77-a4120b2b4948
[2023-11-08 04:00:04.398 +00:00] [INF] [20] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: "Trailer", Name: "Mavka: The Forest Song - Official Trailer", Path: "/cache/tmdb-intro-trailers/63fe225b699fb700e6fd21c0.mp4", Id: dc70b2b3-c792-4bc1-ba35-ab2291118d38
[2023-11-08 04:00:04.434 +00:00] [INF] [20] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: "Trailer", Name: "Terrifier 2 - UK Trailer", Path: "/cache/tmdb-intro-trailers/634c6a651b1f3c007c0fd913.mp4", Id: 83914458-ae25-e954-abc6-17690f65ac8d
[2023-11-08 04:00:04.459 +00:00] [INF] [20] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: "Trailer", Name: "The Royal Hotel - Official Trailer", Path: "/cache/tmdb-intro-trailers/64f9f44b5f2b8d011b50ad8b.mp4", Id: 4325bed6-8928-0bff-660f-5f06763be2d5
[2023-11-08 04:00:06.353 +00:00] [WRN] [67] Jellyfin.Plugin.Tmdb.Trailers.TmdbManager: Unable to cache "https://rr1---sn-u2bpouxgoxu-5qas.googlevideo.com/videoplayback?expire=1699437604&ei=xAdLZb22ML_t4-EPsu2xqAM&ip=27.33.90.30&id=o-ACIjU_nZ-yLacYLFistyvSmXZgziCkLWmpTSOpawZFj6&itag=22&source=youtube&requiressl=yes&mh=HY&mm=31%2C29&mn=sn-u2bpouxgoxu-5qas%2Csn-hxa7zn7z&ms=au%2Crdu&mv=m&mvi=1&pl=24&initcwndbps=1722500&vprv=1&mime=video%2Fmp4&cnr=14&ratebypass=yes&dur=106.300&lmt=1686363603282566&mt=1699415597&fvip=5&fexp=24007246&beids=24350018&c=ANDROID_TESTSUITE&txp=5532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Ccnr%2Cratebypass%2Cdur%2Clmt&sig=ANLwegAwRgIhAKtAEsP_4xtGcOnTsOJFg6POxEN4xCMHJEp6AJPkJAkzAiEA4zrcOPjzeMOAUom8BMbIuIIq3GNajc5mLSSAKzOxhL8%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AM8Gb2swRgIhAJrEOkuzxN9tYG0V-f3d2MA7zwR-utzIOQKCoEVMKgQUAiEA-JWWOxPqB6Kl-x9UWcIMoqhWhLiORTCM7MMW6qNoCaY%3D"
System.IO.DirectoryNotFoundException: Could not find a part of the path '/cache/tmdb-intro-trailers/647fba98bf31f2011d40f0a4.mp4.stream-0.tmp'.
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Interop.CheckIo(Error error, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at YoutubeExplode.Videos.Streams.StreamClient.DownloadAsync(IStreamInfo streamInfo, String filePath, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode\Videos\Streams\StreamClient.cs:line 311
   at YoutubeExplode.Converter.Converter.PopulateStreamInputsAsync(String baseFilePath, IReadOnlyList`1 streamInfos, ICollection`1 streamInputs, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\Converter.cs:line 178
   at YoutubeExplode.Converter.Converter.ProcessAsync(String filePath, Container container, IReadOnlyList`1 streamInfos, IReadOnlyList`1 closedCaptionTrackInfos, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\Converter.cs:line 248
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, IReadOnlyList`1 streamInfos, IReadOnlyList`1 closedCaptionTrackInfos, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 89
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, IReadOnlyList`1 streamInfos, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 100
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, VideoId videoId, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 118
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, VideoId videoId, String outputFilePath, Action`1 configure, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 145
   at Jellyfin.Plugin.Tmdb.Trailers.TmdbManager.UpdateIntroCache(CancellationToken cancellationToken)
[2023-11-08 04:00:07.534 +00:00] [WRN] [67] Jellyfin.Plugin.Tmdb.Trailers.TmdbManager: Unable to cache "https://rr8---sn-u2bpouxgoxu-5qal.googlevideo.com/videoplayback?expire=1699437606&ei=xgdLZa3HH63D4-EP4bKhgAM&ip=27.33.90.30&id=o-ABrwUvTPT8AvCUt-sYZ4_1ldogd0TfVmy9h7rd6sokp1&itag=22&source=youtube&requiressl=yes&mh=U6&mm=31%2C29&mn=sn-u2bpouxgoxu-5qal%2Csn-hxa7zn7z&ms=au%2Crdu&mv=m&mvi=8&pl=24&initcwndbps=1608750&vprv=1&mime=video%2Fmp4&cnr=14&ratebypass=yes&dur=107.996&lmt=1695696745927882&mt=1699415597&fvip=5&fexp=24007246&beids=24350018&c=ANDROID_TESTSUITE&txp=5532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Ccnr%2Cratebypass%2Cdur%2Clmt&sig=ANLwegAwRAIgKhtM3dJfEOPZGz2t5Uhu6yBiwA8UEiwk7gbCKm5BvjYCIDrWlW9ilUoKB0OnrZMyslyCew7PWPdwV1BWqyW69FCP&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AM8Gb2swRQIgBjO1e2ufSIeoIC9-DMpwUGUWMvdkyqO3pwTuIR1cKHgCIQCutha-qSemhUCWfwpC4nDFhvht9lENj_uCaRN4Pi2EEg%3D%3D"
System.IO.DirectoryNotFoundException: Could not find a part of the path '/cache/tmdb-intro-trailers/64cdc3c4d4a68b0106ff4977.mp4.stream-0.tmp'.
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Interop.CheckIo(Error error, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at YoutubeExplode.Videos.Streams.StreamClient.DownloadAsync(IStreamInfo streamInfo, String filePath, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode\Videos\Streams\StreamClient.cs:line 311
   at YoutubeExplode.Converter.Converter.PopulateStreamInputsAsync(String baseFilePath, IReadOnlyList`1 streamInfos, ICollection`1 streamInputs, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\Converter.cs:line 178
   at YoutubeExplode.Converter.Converter.ProcessAsync(String filePath, Container container, IReadOnlyList`1 streamInfos, IReadOnlyList`1 closedCaptionTrackInfos, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\Converter.cs:line 248
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, IReadOnlyList`1 streamInfos, IReadOnlyList`1 closedCaptionTrackInfos, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 89
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, IReadOnlyList`1 streamInfos, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 100
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, VideoId videoId, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 118
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, VideoId videoId, String outputFilePath, Action`1 configure, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 145
   at Jellyfin.Plugin.Tmdb.Trailers.TmdbManager.UpdateIntroCache(CancellationToken cancellationToken)
[2023-11-08 04:00:08.483 +00:00] [WRN] [64] Jellyfin.Plugin.Tmdb.Trailers.TmdbManager: Unable to cache "https://rr2---sn-u2bpouxgoxu-5qal.googlevideo.com/videoplayback?expire=1699437607&ei=xwdLZfb8KKDh4-EPlMmnsAE&ip=27.33.90.30&id=o-AC8P11cFhbL0l6ub5ZdCoSWG9qtaOYyUOS89RMHZJY1h&itag=22&source=youtube&requiressl=yes&mh=MY&mm=31%2C29&mn=sn-u2bpouxgoxu-5qal%2Csn-hxa76n7z&ms=au%2Crdu&mv=m&mvi=2&pl=24&initcwndbps=1608750&vprv=1&mime=video%2Fmp4&cnr=14&ratebypass=yes&dur=135.767&lmt=1686074968719139&mt=1699415597&fvip=5&fexp=24007246&beids=24350018&c=ANDROID_TESTSUITE&txp=5532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Ccnr%2Cratebypass%2Cdur%2Clmt&sig=ANLwegAwRgIhAKwaIsSB75uR0yAdjUeIFU-HTy6IduJ4CQL0aGVxY5ILAiEA5wmCtqte0iedTONi8eTQEbfCSn2w_bG_THbdvBnc2mk%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AM8Gb2swRgIhAM-UubLVw3cTRIJyuQgaLFt7d6HZx5eXfaw45hFCNDiVAiEA9Ax7Vp5DAJdmcPBWET2dC4XTzAUm2abQ341fCf2ARzM%3D"
System.IO.DirectoryNotFoundException: Could not find a part of the path '/cache/tmdb-intro-trailers/647f5951caef2d00c29c00a3.mp4.stream-0.tmp'.
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Interop.CheckIo(Error error, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at YoutubeExplode.Videos.Streams.StreamClient.DownloadAsync(IStreamInfo streamInfo, String filePath, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode\Videos\Streams\StreamClient.cs:line 311
   at YoutubeExplode.Converter.Converter.PopulateStreamInputsAsync(String baseFilePath, IReadOnlyList`1 streamInfos, ICollection`1 streamInputs, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\Converter.cs:line 178
   at YoutubeExplode.Converter.Converter.ProcessAsync(String filePath, Container container, IReadOnlyList`1 streamInfos, IReadOnlyList`1 closedCaptionTrackInfos, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\Converter.cs:line 248
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, IReadOnlyList`1 streamInfos, IReadOnlyList`1 closedCaptionTrackInfos, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 89
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, IReadOnlyList`1 streamInfos, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 100
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, VideoId videoId, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 118
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, VideoId videoId, String outputFilePath, Action`1 configure, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 145
   at Jellyfin.Plugin.Tmdb.Trailers.TmdbManager.UpdateIntroCache(CancellationToken cancellationToken)
[2023-11-08 04:00:10.275 +00:00] [WRN] [32] Jellyfin.Plugin.Tmdb.Trailers.TmdbManager: Unable to cache "https://rr4---sn-u2bpouxgoxu-5qas.googlevideo.com/videoplayback?expire=1699437608&ei=yAdLZdGAJoPB4-EPp7unyAE&ip=27.33.90.30&id=o-AH4zzLBiPIKkQdz-CB7sTSNPVmMH9ziuW-HQ9vt_s7-5&itag=22&source=youtube&requiressl=yes&mh=k8&mm=31%2C29&mn=sn-u2bpouxgoxu-5qas%2Csn-hxa7zn7s&ms=au%2Crdu&mv=m&mvi=4&pl=24&gcr=au&initcwndbps=1722500&vprv=1&mime=video%2Fmp4&cnr=14&ratebypass=yes&dur=107.067&lmt=1699366598986241&mt=1699415597&fvip=1&fexp=24007246&beids=24350018&c=ANDROID_TESTSUITE&txp=5318224&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cgcr%2Cvprv%2Cmime%2Ccnr%2Cratebypass%2Cdur%2Clmt&sig=ANLwegAwRAIgFx97pEKPlUjmHzx0C60ZrHR79xnd3kgETmxb4rsxQxwCIHaRBMVvIl_xpABSLB78gizh284SR2o29oG9qtO_a-nO&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AM8Gb2swRAIgehHSRhXCzs1oGZvtL-6uT3XP1nozV6A07sRVMaf0SkACIFE8JF_37Gf1y0Z-5bvJe8U8CIsC_I_95Q7RUQ0i--wO"
System.IO.DirectoryNotFoundException: Could not find a part of the path '/cache/tmdb-intro-trailers/654a39026beaea00ac220e8d.mp4.stream-0.tmp'.
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Interop.CheckIo(Error error, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at YoutubeExplode.Videos.Streams.StreamClient.DownloadAsync(IStreamInfo streamInfo, String filePath, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode\Videos\Streams\StreamClient.cs:line 311
   at YoutubeExplode.Converter.Converter.PopulateStreamInputsAsync(String baseFilePath, IReadOnlyList`1 streamInfos, ICollection`1 streamInputs, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\Converter.cs:line 178
   at YoutubeExplode.Converter.Converter.ProcessAsync(String filePath, Container container, IReadOnlyList`1 streamInfos, IReadOnlyList`1 closedCaptionTrackInfos, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\Converter.cs:line 248
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, IReadOnlyList`1 streamInfos, IReadOnlyList`1 closedCaptionTrackInfos, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 89
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, IReadOnlyList`1 streamInfos, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 100
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, VideoId videoId, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 118
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, VideoId videoId, String outputFilePath, Action`1 configure, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 145
   at Jellyfin.Plugin.Tmdb.Trailers.TmdbManager.UpdateIntroCache(CancellationToken cancellationToken)
[2023-11-08 04:00:11.345 +00:00] [WRN] [20] Jellyfin.Plugin.Tmdb.Trailers.TmdbManager: Unable to cache "https://rr6---sn-u2bpouxgoxu-5qal.googlevideo.com/videoplayback?expire=1699437610&ei=ygdLZeX0GPTo4-EPm56R8AQ&ip=27.33.90.30&id=o-AD_H4pj8uLDU16-6rK8VtvzBLLcNWJx3-k4z6FF9rPfI&itag=22&source=youtube&requiressl=yes&mh=oa&mm=31%2C29&mn=sn-u2bpouxgoxu-5qal%2Csn-hxa7zn7z&ms=au%2Crdu&mv=m&mvi=6&pcm2cms=yes&pl=24&initcwndbps=1608750&vprv=1&mime=video%2Fmp4&cnr=14&ratebypass=yes&dur=160.960&lmt=1683443828123067&mt=1699415597&fvip=4&fexp=24007246&beids=24350018&c=ANDROID_TESTSUITE&txp=5532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Ccnr%2Cratebypass%2Cdur%2Clmt&sig=ANLwegAwRAIgRUFtMbgBiRUVMqpQiwx74JpikCXz93LFAKhBFBXIToYCIBpTLZsRKTaXkXQjApU0qxUszT2MLvZXwLO1_jzTHdUK&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AM8Gb2swRAIgCHEgpBoYYrarwFGrE2YjiHW-7uRdC_f-hDNjanlZK-oCIAL-BRq2WDqnEfp_p8DbXLZoJJEtOPDWAdOxqs5SHkqG"
System.IO.DirectoryNotFoundException: Could not find a part of the path '/cache/tmdb-intro-trailers/6411d486b42242008a2f3102.mp4.stream-0.tmp'.
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Interop.CheckIo(Error error, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at YoutubeExplode.Videos.Streams.StreamClient.DownloadAsync(IStreamInfo streamInfo, String filePath, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode\Videos\Streams\StreamClient.cs:line 311
   at YoutubeExplode.Converter.Converter.PopulateStreamInputsAsync(String baseFilePath, IReadOnlyList`1 streamInfos, ICollection`1 streamInputs, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\Converter.cs:line 178
   at YoutubeExplode.Converter.Converter.ProcessAsync(String filePath, Container container, IReadOnlyList`1 streamInfos, IReadOnlyList`1 closedCaptionTrackInfos, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\Converter.cs:line 248
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, IReadOnlyList`1 streamInfos, IReadOnlyList`1 closedCaptionTrackInfos, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 89
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, IReadOnlyList`1 streamInfos, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 100
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, VideoId videoId, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 118
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, VideoId videoId, String outputFilePath, Action`1 configure, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 145
   at Jellyfin.Plugin.Tmdb.Trailers.TmdbManager.UpdateIntroCache(CancellationToken cancellationToken)
[2023-11-08 04:00:12.747 +00:00] [WRN] [64] Jellyfin.Plugin.Tmdb.Trailers.TmdbManager: Unable to cache "https://rr6---sn-u2bpouxgoxu-5qas.googlevideo.com/videoplayback?expire=1699437611&ei=ywdLZZirH5-LjuMPz4if0Ag&ip=27.33.90.30&id=o-AOy65Wjl8Zg0Np93fwkVhon6LkH_RWC-7j3LxECNLasB&itag=22&source=youtube&requiressl=yes&mh=lg&mm=31%2C29&mn=sn-u2bpouxgoxu-5qas%2Csn-hxa7zn7z&ms=au%2Crdu&mv=m&mvi=6&pl=24&initcwndbps=1722500&vprv=1&mime=video%2Fmp4&cnr=14&ratebypass=yes&dur=89.048&lmt=1694644586289515&mt=1699415597&fvip=3&fexp=24007246&beids=24350018&c=ANDROID_TESTSUITE&txp=5318224&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Ccnr%2Cratebypass%2Cdur%2Clmt&sig=ANLwegAwRAIgLNFdda0gC7xFwC4WDLU5PReQBu93IgbusTXwZB4jWTECICJUht4zduNBbeAiIILc8Lu3aEN5ZTmpHqvhNEDn3VMo&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AM8Gb2swRQIhAKMbFru8VzryUS2aPZ0gN_oA7C9_8JwniCfwDleyHenmAiAtY62EpXNt7wrt5r9dcqRRllBjqPI1YrQsXw06yngPjA%3D%3D"
System.IO.DirectoryNotFoundException: Could not find a part of the path '/cache/tmdb-intro-trailers/65048eb259e8a900e4d9c8f3.mp4.stream-0.tmp'.
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Interop.CheckIo(Error error, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at YoutubeExplode.Videos.Streams.StreamClient.DownloadAsync(IStreamInfo streamInfo, String filePath, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode\Videos\Streams\StreamClient.cs:line 311
   at YoutubeExplode.Converter.Converter.PopulateStreamInputsAsync(String baseFilePath, IReadOnlyList`1 streamInfos, ICollection`1 streamInputs, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\Converter.cs:line 178
   at YoutubeExplode.Converter.Converter.ProcessAsync(String filePath, Container container, IReadOnlyList`1 streamInfos, IReadOnlyList`1 closedCaptionTrackInfos, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\Converter.cs:line 248
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, IReadOnlyList`1 streamInfos, IReadOnlyList`1 closedCaptionTrackInfos, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 89
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, IReadOnlyList`1 streamInfos, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 100
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, VideoId videoId, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 118
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, VideoId videoId, String outputFilePath, Action`1 configure, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 145
   at Jellyfin.Plugin.Tmdb.Trailers.TmdbManager.UpdateIntroCache(CancellationToken cancellationToken)
[2023-11-08 04:00:13.358 +00:00] [WRN] [76] Jellyfin.Plugin.Tmdb.Trailers.TmdbManager: Unable to cache "https://rr1---sn-u2bpouxgoxu-5qas.googlevideo.com/videoplayback?expire=1699437612&ei=zAdLZZm6NpDBjuMP8I6j4Ag&ip=27.33.90.30&id=o-AMHyR57iRlj5No4AFIHFOcFIiiJkmOZdQ_39BqydnYMC&itag=22&source=youtube&requiressl=yes&mh=HY&mm=31%2C29&mn=sn-u2bpouxgoxu-5qas%2Csn-hxa7zn7z&ms=au%2Crdu&mv=m&mvi=1&pl=24&initcwndbps=1722500&vprv=1&mime=video%2Fmp4&cnr=14&ratebypass=yes&dur=106.300&lmt=1686363603282566&mt=1699415597&fvip=5&fexp=24007246&beids=24350018&c=ANDROID_TESTSUITE&txp=5532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Ccnr%2Cratebypass%2Cdur%2Clmt&sig=ANLwegAwRgIhANjURMNVnBeowCMcewDhlxeS16vRyZSJQt8K74t1hWv7AiEAk1K4eoljrtvyvDgw9fyhogCepLJscfGF122sSYc9jTA%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AM8Gb2swRgIhAO5WRjbASfvjIKnEhUO1twBi2cWxHliVJHfp6vm4i6mqAiEA36HqIeB-spek8a5sCmMl71pYUk8LV378V1ZtKg5hoLE%3D"
System.IO.DirectoryNotFoundException: Could not find a part of the path '/cache/tmdb-intro-trailers/647fba98bf31f2011d40f0a4.mp4.stream-0.tmp'.
   at Interop.CheckIo(Error error, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at YoutubeExplode.Videos.Streams.StreamClient.DownloadAsync(IStreamInfo streamInfo, String filePath, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode\Videos\Streams\StreamClient.cs:line 311
   at YoutubeExplode.Converter.Converter.PopulateStreamInputsAsync(String baseFilePath, IReadOnlyList`1 streamInfos, ICollection`1 streamInputs, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\Converter.cs:line 178
   at YoutubeExplode.Converter.Converter.ProcessAsync(String filePath, Container container, IReadOnlyList`1 streamInfos, IReadOnlyList`1 closedCaptionTrackInfos, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\Converter.cs:line 248
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, IReadOnlyList`1 streamInfos, IReadOnlyList`1 closedCaptionTrackInfos, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 89
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, IReadOnlyList`1 streamInfos, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 100
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, VideoId videoId, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 118
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, VideoId videoId, String outputFilePath, Action`1 configure, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 145
   at Jellyfin.Plugin.Tmdb.Trailers.TmdbManager.UpdateIntroCache(CancellationToken cancellationToken)
[2023-11-08 04:00:13.952 +00:00] [WRN] [76] Jellyfin.Plugin.Tmdb.Trailers.TmdbManager: Unable to cache "https://rr8---sn-u2bpouxgoxu-5qal.googlevideo.com/videoplayback?expire=1699437613&ei=zQdLZYiSHr_g4-EPjsuEwAE&ip=27.33.90.30&id=o-APDdc65QaCB0ReOI-7FgUnWAYh6JpKO5plRTgnLoVHdZ&itag=22&source=youtube&requiressl=yes&mh=U6&mm=31%2C29&mn=sn-u2bpouxgoxu-5qal%2Csn-hxa7zn7z&ms=au%2Crdu&mv=m&mvi=8&pl=24&initcwndbps=1608750&vprv=1&mime=video%2Fmp4&cnr=14&ratebypass=yes&dur=107.996&lmt=1695696745927882&mt=1699415597&fvip=5&fexp=24007246&beids=24350018&c=ANDROID_TESTSUITE&txp=5532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Ccnr%2Cratebypass%2Cdur%2Clmt&sig=ANLwegAwRgIhAJ2mrcd_ZQRVYu0wIY7PsTQyWnpK9qK4VtxiLfpnEN2hAiEA6ujefSaIKSJ80NlqT-TPI0W6c0D8nLQAzMAvTCA1o4g%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AM8Gb2swRQIhAJOPuwps_O57r3EGya_eOlo60axcNO1bEqxLSi2WrPx2AiBjbcepLQcrUoyV4CzKmmcpI74ApHCJ68AU5HwG9-aP_g%3D%3D"
System.IO.DirectoryNotFoundException: Could not find a part of the path '/cache/tmdb-intro-trailers/64cdc3c4d4a68b0106ff4977.mp4.stream-0.tmp'.
   at Interop.CheckIo(Error error, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at YoutubeExplode.Videos.Streams.StreamClient.DownloadAsync(IStreamInfo streamInfo, String filePath, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode\Videos\Streams\StreamClient.cs:line 311
   at YoutubeExplode.Converter.Converter.PopulateStreamInputsAsync(String baseFilePath, IReadOnlyList`1 streamInfos, ICollection`1 streamInputs, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\Converter.cs:line 178
   at YoutubeExplode.Converter.Converter.ProcessAsync(String filePath, Container container, IReadOnlyList`1 streamInfos, IReadOnlyList`1 closedCaptionTrackInfos, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\Converter.cs:line 248
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, IReadOnlyList`1 streamInfos, IReadOnlyList`1 closedCaptionTrackInfos, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 89
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, IReadOnlyList`1 streamInfos, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 100
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, VideoId videoId, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 118
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, VideoId videoId, String outputFilePath, Action`1 configure, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 145
   at Jellyfin.Plugin.Tmdb.Trailers.TmdbManager.UpdateIntroCache(CancellationToken cancellationToken)
[2023-11-08 04:00:14.803 +00:00] [WRN] [20] Jellyfin.Plugin.Tmdb.Trailers.TmdbManager: Unable to cache "https://rr2---sn-u2bpouxgoxu-5qal.googlevideo.com/videoplayback?expire=1699437614&ei=zgdLZYncBZ7B4-EP0NW_kAk&ip=27.33.90.30&id=o-AJSwTPcsehQ9Y7bcOaAJGW-O9WuALbUG6zrWWhqry4jk&itag=22&source=youtube&requiressl=yes&mh=MY&mm=31%2C29&mn=sn-u2bpouxgoxu-5qal%2Csn-hxa76n7z&ms=au%2Crdu&mv=m&mvi=2&pl=24&initcwndbps=1608750&vprv=1&mime=video%2Fmp4&cnr=14&ratebypass=yes&dur=135.767&lmt=1686074968719139&mt=1699415597&fvip=5&fexp=24007246&beids=24350018&c=ANDROID_TESTSUITE&txp=5532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Ccnr%2Cratebypass%2Cdur%2Clmt&sig=ANLwegAwRQIhAIqwRDbIyZCpk07NNWrk5x7IzYkMY94BX4NeNu_XzFrwAiABnPAXM0ipGnhOWoC3xcDD7HwJFaIJCwoXfS2ygrzxug%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AM8Gb2swRgIhAORzwqsbZe44zgruVMn5QgXIFw0INs5rzBMES0VbB5WYAiEA6860oW1-bf9-HFh_3tU_X9bQaUzKeW3kDJwrJKyNzcE%3D"
System.IO.DirectoryNotFoundException: Could not find a part of the path '/cache/tmdb-intro-trailers/647f5951caef2d00c29c00a3.mp4.stream-0.tmp'.
   at Interop.CheckIo(Error error, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at YoutubeExplode.Videos.Streams.StreamClient.DownloadAsync(IStreamInfo streamInfo, String filePath, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode\Videos\Streams\StreamClient.cs:line 311
   at YoutubeExplode.Converter.Converter.PopulateStreamInputsAsync(String baseFilePath, IReadOnlyList`1 streamInfos, ICollection`1 streamInputs, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\Converter.cs:line 178
   at YoutubeExplode.Converter.Converter.ProcessAsync(String filePath, Container container, IReadOnlyList`1 streamInfos, IReadOnlyList`1 closedCaptionTrackInfos, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\Converter.cs:line 248
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, IReadOnlyList`1 streamInfos, IReadOnlyList`1 closedCaptionTrackInfos, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 89
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, IReadOnlyList`1 streamInfos, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 100
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, VideoId videoId, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 118
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, VideoId videoId, String outputFilePath, Action`1 configure, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 145
   at Jellyfin.Plugin.Tmdb.Trailers.TmdbManager.UpdateIntroCache(CancellationToken cancellationToken)
[2023-11-08 04:00:15.489 +00:00] [WRN] [20] Jellyfin.Plugin.Tmdb.Trailers.TmdbManager: Unable to cache "https://rr4---sn-u2bpouxgoxu-5qas.googlevideo.com/videoplayback?expire=1699437614&ei=zgdLZcTPOOPi4-EP7_-v4AQ&ip=27.33.90.30&id=o-AK6i4V9Qyaha6QbgoQ5yEnPZ7InN9RLrAsq-4DIbFNzW&itag=22&source=youtube&requiressl=yes&mh=k8&mm=31%2C29&mn=sn-u2bpouxgoxu-5qas%2Csn-hxa76n7s&ms=au%2Crdu&mv=m&mvi=4&pl=24&gcr=au&initcwndbps=1722500&vprv=1&mime=video%2Fmp4&cnr=14&ratebypass=yes&dur=107.067&lmt=1699366598986241&mt=1699415597&fvip=4&fexp=24007246&beids=24350018&c=ANDROID_TESTSUITE&txp=5318224&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cgcr%2Cvprv%2Cmime%2Ccnr%2Cratebypass%2Cdur%2Clmt&sig=ANLwegAwRQIgHKCihOcICl-EfWjR_NuP_Qp__qJrjf6mpKVlEGKYODICIQCNyi_NXo_x1zgh3IcxIdh84cu76MQ3GVHJ0ln2CmPoiw%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AM8Gb2swRQIhAO2GJi2m0-vWUKDw9vbDtu2FIpUhgxQ_4Dv6BQhVJ1UDAiBVjsW5QwKIewwXe7q5sbMpHQNHXt9CjmRoghTw03Udqw%3D%3D"
System.IO.DirectoryNotFoundException: Could not find a part of the path '/cache/tmdb-intro-trailers/654a39026beaea00ac220e8d.mp4.stream-0.tmp'.
   at Interop.CheckIo(Error error, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at YoutubeExplode.Videos.Streams.StreamClient.DownloadAsync(IStreamInfo streamInfo, String filePath, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode\Videos\Streams\StreamClient.cs:line 311
   at YoutubeExplode.Converter.Converter.PopulateStreamInputsAsync(String baseFilePath, IReadOnlyList`1 streamInfos, ICollection`1 streamInputs, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\Converter.cs:line 178
   at YoutubeExplode.Converter.Converter.ProcessAsync(String filePath, Container container, IReadOnlyList`1 streamInfos, IReadOnlyList`1 closedCaptionTrackInfos, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\Converter.cs:line 248
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, IReadOnlyList`1 streamInfos, IReadOnlyList`1 closedCaptionTrackInfos, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 89
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, IReadOnlyList`1 streamInfos, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 100
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, VideoId videoId, ConversionRequest request, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 118
   at YoutubeExplode.Converter.ConversionExtensions.DownloadAsync(VideoClient videoClient, VideoId videoId, String outputFilePath, Action`1 configure, IProgress`1 progress, CancellationToken cancellationToken) in D:\a\YoutubeExplode\YoutubeExplode\YoutubeExplode.Converter\ConversionExtensions.cs:line 145
   at Jellyfin.Plugin.Tmdb.Trailers.TmdbManager.UpdateIntroCache(CancellationToken cancellationToken)
[2023-11-08 04:00:16.141 +00:00] [WRN] [56] Jellyfin.Plugin.Tmdb.Trailers.TmdbManager: Unable to cache "https://rr6---sn-u2bpouxgoxu-5qal.googlevideo.com/videoplayback?expire=1699437615&ei=zwdLZfO4JZHAjuMPzPeRwAE&ip=27.33.90.30&id=o-AHVzQFVa6ln_cm4zdiu_t0sLSZ4fWLkIt1u8wUzCWjjA&itag=22&source=youtube&requiressl=yes&mh=oa&mm=31%2C29&mn=sn-u2bpouxgoxu-5qal%2Csn-hxa7zn7z&ms=au%2Crdu&mv=m&mvi=6&pcm2cms=yes&pl=24&initcwndbps=1608750&vprv=1&mime=video%2Fmp4&cnr=14&ratebypass=yes&dur=160.960&lmt=1683443828123067&mt=1699415597&fvip=4&fexp=24007246&beids=24350018&c=ANDROID_TESTSUITE&txp=5532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Ccnr%2Cratebypass%2Cdur%2Clmt&sig=ANLwegAwRAIgXcnyq2I-A4u2166aCxAJGB2gYV-H_8tuL2lDgliAt98CICtZQaQrkW0BhCgLku7yv4ksO3lSviW1OpUqmJSnouKY&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Cinitcwndbps&lsig=AM8Gb2swRQIhAN_CW9q4hVoeKnm8KYK1LQtiGwMJJLnEmCRgVnO_7UmSAiAzJ_Cr5f0QRq3FUm9u8aX_Lgn7XOLQ9l2utgviqd6qfA%3D%3D"
System.IO.DirectoryNotFoundException: Could not find a part of the path '/cache/tmdb-intro-trailers/6411d486b42242008a2f3102.mp4.stream-0.tmp'.