Skip to content

Failed YouTube downloads are not shown in Dashboard for items present in Themerr DB #839

Description

@jojolll

Describe the Bug

When a YouTube download fails for a movie or series that exists in the Themerr database, the item does not appear in the "Realization Dashboard" (plugin settings).

Steps to reproduce

  • Have a movie or series that is present in the Themerr database but with a dead YouTube link
  • Trigger Themerr to process it
  • Check the "Realization Dashboard" in the plugin settings -> movie or serie is missing

Plugin version : 2026.530.2048.33

Expected Behavior

The item should still appear in the "Realization Dashboard" with a status indicating that it was found in the Themerr database but that the MP3 download failed.

Additional Context

Four examples from my library :

May 31 20:21:14 jellyfin jellyfin[51667]: [20:21:14] [ERR] Unable to download https://www.youtube.com/watch?v=bH42rcsO75A to /mnt/multimedia/tv/Doctor Who (2005) [tvdbid-78804]/theme.mp3
May 31 20:21:14 jellyfin jellyfin[51667]: YoutubeExplode.Exceptions.YoutubeExplodeException: Failed to extract the cipher manifest.
May 31 20:21:14 jellyfin jellyfin[51667]:    at YoutubeExplode.Videos.Streams.StreamClient.ResolveCipherManifestAsync(CancellationToken cancellationToken) in /_/YoutubeExplode/Videos/Streams/StreamClient.cs:line 40
May 31 20:21:14 jellyfin jellyfin[51667]:    at YoutubeExplode.Videos.Streams.StreamClient.GetStreamInfosAsync(VideoId videoId, CancellationToken cancellationToken) in /_/YoutubeExplode/Videos/Streams/StreamClient.cs:line 284
May 31 20:21:14 jellyfin jellyfin[51667]:    at YoutubeExplode.Videos.Streams.StreamClient.GetManifestAsync(VideoId videoId, CancellationToken cancellationToken) in /_/YoutubeExplode/Videos/Streams/StreamClient.cs:line 309
May 31 20:21:14 jellyfin jellyfin[51667]:    at Jellyfin.Plugin.Themerr.YoutubeClientWrapper.DownloadAudioAsync(String videoUrl, String destination)
May 31 20:21:14 jellyfin jellyfin[51667]:    at Jellyfin.Plugin.Themerr.ThemerrManager.SaveMp3(String destination, String videoUrl)
May 31 20:21:15 jellyfin jellyfin[51667]: [20:21:15] [ERR] Unable to download https://www.youtube.com/watch?v=qnNQJI_jUIA to /mnt/multimedia/movies/Le Chateau dans le ciel (1986) [tmdbid-10515] (Castle in the Sky)/theme.mp3
May 31 20:21:15 jellyfin jellyfin[51667]: YoutubeExplode.Exceptions.YoutubeExplodeException: Failed to extract the cipher manifest.
May 31 20:21:15 jellyfin jellyfin[51667]:    at YoutubeExplode.Videos.Streams.StreamClient.ResolveCipherManifestAsync(CancellationToken cancellationToken) in /_/YoutubeExplode/Videos/Streams/StreamClient.cs:line 40
May 31 20:21:15 jellyfin jellyfin[51667]:    at YoutubeExplode.Videos.Streams.StreamClient.GetStreamInfosAsync(VideoId videoId, CancellationToken cancellationToken) in /_/YoutubeExplode/Videos/Streams/StreamClient.cs:line 284
May 31 20:21:15 jellyfin jellyfin[51667]:    at YoutubeExplode.Videos.Streams.StreamClient.GetManifestAsync(VideoId videoId, CancellationToken cancellationToken) in /_/YoutubeExplode/Videos/Streams/StreamClient.cs:line 309
May 31 20:21:15 jellyfin jellyfin[51667]:    at Jellyfin.Plugin.Themerr.YoutubeClientWrapper.DownloadAudioAsync(String videoUrl, String destination)
May 31 20:21:15 jellyfin jellyfin[51667]:    at Jellyfin.Plugin.Themerr.ThemerrManager.SaveMp3(String destination, String videoUrl)
May 31 20:21:16 jellyfin jellyfin[51667]: [20:21:16] [ERR] Unable to download https://www.youtube.com/watch?v=fTcKrxOjIA8 to /mnt/multimedia/movies/Les Gardiens de la Galaxie Vol. 2 (2017)/theme.mp3
May 31 20:21:16 jellyfin jellyfin[51667]: YoutubeExplode.Exceptions.YoutubeExplodeException: Failed to extract the cipher manifest.
May 31 20:21:16 jellyfin jellyfin[51667]:    at YoutubeExplode.Videos.Streams.StreamClient.ResolveCipherManifestAsync(CancellationToken cancellationToken) in /_/YoutubeExplode/Videos/Streams/StreamClient.cs:line 40
May 31 20:21:16 jellyfin jellyfin[51667]:    at YoutubeExplode.Videos.Streams.StreamClient.GetStreamInfosAsync(VideoId videoId, CancellationToken cancellationToken) in /_/YoutubeExplode/Videos/Streams/StreamClient.cs:line 284
May 31 20:21:16 jellyfin jellyfin[51667]:    at YoutubeExplode.Videos.Streams.StreamClient.GetManifestAsync(VideoId videoId, CancellationToken cancellationToken) in /_/YoutubeExplode/Videos/Streams/StreamClient.cs:line 309
May 31 20:21:16 jellyfin jellyfin[51667]:    at Jellyfin.Plugin.Themerr.YoutubeClientWrapper.DownloadAudioAsync(String videoUrl, String destination)
May 31 20:21:16 jellyfin jellyfin[51667]:    at Jellyfin.Plugin.Themerr.ThemerrManager.SaveMp3(String destination, String videoUrl)
May 31 20:21:16 jellyfin jellyfin[51667]: [20:21:16] [ERR] Unable to download https://www.youtube.com/watch?v=y9ZNTtRez08 to /mnt/multimedia/movies/Madagascar (2005)/theme.mp3
May 31 20:21:16 jellyfin jellyfin[51667]: YoutubeExplode.Exceptions.VideoUnavailableException: Video 'y9ZNTtRez08' is not available.
May 31 20:21:16 jellyfin jellyfin[51667]:    at YoutubeExplode.Videos.VideoController.GetPlayerResponseAsync(VideoId videoId, CancellationToken cancellationToken) in /_/YoutubeExplode/Videos/VideoController.cs:line 146
May 31 20:21:16 jellyfin jellyfin[51667]:    at YoutubeExplode.Videos.Streams.StreamClient.GetStreamInfosAsync(VideoId videoId, CancellationToken cancellationToken) in /_/YoutubeExplode/Videos/Streams/StreamClient.cs:line 272
May 31 20:21:16 jellyfin jellyfin[51667]:    at YoutubeExplode.Videos.Streams.StreamClient.GetManifestAsync(VideoId videoId, CancellationToken cancellationToken) in /_/YoutubeExplode/Videos/Streams/StreamClient.cs:line 309
May 31 20:21:16 jellyfin jellyfin[51667]:    at Jellyfin.Plugin.Themerr.YoutubeClientWrapper.DownloadAudioAsync(String videoUrl, String destination)
May 31 20:21:16 jellyfin jellyfin[51667]:    at Jellyfin.Plugin.Themerr.ThemerrManager.SaveMp3(String destination, String videoUrl)
May 31 20:21:17 jellyfin jellyfin[51667]: [20:21:17] [ERR] Unable to download https://www.youtube.com/watch?v=zyGQE7dHm4k to /mnt/multimedia/movies/Twilight chapitre 1 Fascination (2008)/theme.mp3
May 31 20:21:17 jellyfin jellyfin[51667]: YoutubeExplode.Exceptions.YoutubeExplodeException: Failed to extract the cipher manifest.
May 31 20:21:17 jellyfin jellyfin[51667]:    at YoutubeExplode.Videos.Streams.StreamClient.ResolveCipherManifestAsync(CancellationToken cancellationToken) in /_/YoutubeExplode/Videos/Streams/StreamClient.cs:line 40
May 31 20:21:17 jellyfin jellyfin[51667]:    at YoutubeExplode.Videos.Streams.StreamClient.GetStreamInfosAsync(VideoId videoId, CancellationToken cancellationToken) in /_/YoutubeExplode/Videos/Streams/StreamClient.cs:line 284
May 31 20:21:17 jellyfin jellyfin[51667]:    at YoutubeExplode.Videos.Streams.StreamClient.GetManifestAsync(VideoId videoId, CancellationToken cancellationToken) in /_/YoutubeExplode/Videos/Streams/StreamClient.cs:line 309
May 31 20:21:17 jellyfin jellyfin[51667]:    at Jellyfin.Plugin.Themerr.YoutubeClientWrapper.DownloadAudioAsync(String videoUrl, String destination)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions