[GH-ISSUE #21] [Bug]: Error Creating Season #20

Closed
opened 2026-03-23 20:34:48 +00:00 by mirror · 3 comments
Owner

Originally created by @line72 on GitHub (Aug 13, 2024).
Original GitHub issue: https://github.com/tubearchivist/tubearchivist-jf-plugin/issues/21

I've read the documentation

Operating System

Linux

Your Bug Report

Describe the bug

One of my tubearchivist channels doesn't correctly show Seasons in Jellyfin, leaving me unable to play any videos.

Steps To Reproduce

I have several channels in TubeArchivist that work fine, but this one never does (https://www.youtube.com/channel/UCncbOtiyIkJosXs_J1Nhmxg).

I have tried deleting the channel from TubeArchivist, and re-adding the channel, but I get the same issue.

In jellyfin, I can see the video under "Up Next", however, clicking on it gives me a "Playback Error: Unable to find a valid media source to play." Yet, the media is definitely available to Jellyfin.

Screenshot from 2024-08-13 11-39-04

If you notice in the above screenshot, the problem seems to be that this plugin was unable to create a "season" for this channel.

Expected behavior

A season would be created with all the video from tubearchivist.

Relevant Jellyfin log output

Aug 13 11:34:33 fitlet.localdomain docker[2601]: [16:34:33] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: https://tubearchivist.line72.net/api/channel/UCncbOtiyIkJosXs_J1Nhmx
g/: OK
Aug 13 11:34:33 fitlet.localdomain docker[2601]: [16:34:33] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: Getting metadata for channel: Jelles MarbleCast (UCncbOtiyIkJosXs_J1Nhmxg)
Aug 13 11:34:33 fitlet.localdomain docker[2601]: [16:34:33] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: Received metadata:
Aug 13 11:34:33 fitlet.localdomain docker[2601]: {"channel_banner_url":"/cache/channels/UCncbOtiyIkJosXs_J1Nhmxg_banner.jpg","channel_description":"Covering all things Jelles Marble Runs. Currently: Marble Survival 100","channel_id":"UCncbOtiyIkJosXs_J1Nhmxg","channel_name":"Jelles MarbleCast","channel_tags":[],"channel_thumb_url":"/cache/channels/UCncbOtiyIkJosXs_J1Nhmxg_thumb.jpg","channel_tvart_url":"/cache/channels/UCncbOtiyIkJosXs_J1Nhmxg_tvart.jpg"}
Aug 13 11:34:52 fitlet.localdomain docker[2601]: [16:34:52] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: https://tubearchivist.line72.net/api/channel/UCncbOtiyIkJosXs_J1Nhmxg/: OK
Aug 13 11:34:52 fitlet.localdomain docker[2601]: [16:34:52] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: Getting images for channel: Jelles MarbleCast (UCncbOtiyIkJosXs_J1Nhmxg)
Aug 13 11:34:52 fitlet.localdomain docker[2601]: [16:34:52] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: Thumb URI: /cache/channels/UCncbOtiyIkJosXs_J1Nhmxg_thumb.jpg
Aug 13 11:34:52 fitlet.localdomain docker[2601]: [16:34:52] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: TVArt URI: /cache/channels/UCncbOtiyIkJosXs_J1Nhmxg_tvart.jpg
Aug 13 11:34:52 fitlet.localdomain docker[2601]: [16:34:52] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: Banner URI: /cache/channels/UCncbOtiyIkJosXs_J1Nhmxg_banner.jpg
Aug 13 11:34:52 fitlet.localdomain docker[2601]: [16:34:52] [INF] [52] MediaBrowser.Providers.TV.SeriesMetadataService: Creating Season Season Unknown entry for Jelles MarbleCast
Aug 13 11:34:52 fitlet.localdomain docker[2601]: [16:34:52] [INF] [52] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Starting /usr/lib/jellyfin-ffmpeg/ffprobe with args -analyzeduration 200M -probesize 1G -i file:"/media/youtube/UCncbOtiyIkJosXs_J1Nhmxg/Yh0sO1vw2F4.mp4" -threads 0 -v warning -print_format json -show_streams -show_chapters -show_format
Aug 13 11:34:52 fitlet.localdomain docker[2601]: [16:34:52] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: https://tubearchivist.line72.net/api/video/Yh0sO1vw2F4/: OK
Aug 13 11:34:52 fitlet.localdomain docker[2601]: [16:34:52] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: Getting metadata for video: WHAT A FINAL! A Sand Rally Champion is Crowned and a Shake up to the JMR Team (Yh0sO1vw2F4)
Aug 13 11:34:52 fitlet.localdomain docker[2601]: [16:34:52] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: Received metadata:
Aug 13 11:34:52 fitlet.localdomain docker[2601]: {"channel":{"channel_banner_url":"/cache/channels/UCncbOtiyIkJosXs_J1Nhmxg_banner.jpg","channel_description":"Covering all things Jelles Marble Runs. Currently: Marble Survival 100","channel_id":"UCncbOtiyIkJosXs_J1Nhmxg","channel_name":"Jelles MarbleCast","channel_tags":[],"channel_thumb_url":"/cache/channels/UCncbOtiyIkJosXs_J1Nhmxg_thumb.jpg","channel_tvart_url":"/cache/channels/UCncbOtiyIkJosXs_J1Nhmxg_tvart.jpg"},"tags":[],"title":"WHAT A FINAL! A Sand Rally Champion is Crowned and a Shake up to the JMR Team","description":"Sorry for the lack of video. It was our first remote podcast and we forgot to record video. This mistake will not be made again. It came down to three marbles for the Sand Rally title and the final race was fitting of a championship. We break down the tournament as a whole and talk about our new champion.","published":"2024-08-13T00:00:00","vid_thumb_url":"/cache/videos/y/Yh0sO1vw2F4.jpg","youtube_id":"Yh0sO1vw2F4"}
Aug 13 11:34:53 fitlet.localdomain docker[2601]: [16:34:53] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: https://tubearchivist.line72.net/api/video/Yh0sO1vw2F4/: OK
Aug 13 11:34:53 fitlet.localdomain docker[2601]: [16:34:53] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: Getting images for video: WHAT A FINAL! A Sand Rally Champion is Crowned and a Shake up to the JMR Team (Yh0sO1vw2F4)
Aug 13 11:34:53 fitlet.localdomain docker[2601]: [16:34:53] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: Thumb URI: /cache/videos/y/Yh0sO1vw2F4.jpg
Aug 13 11:34:53 fitlet.localdomain docker[2601]: [16:34:53] [INF] [52] MediaBrowser.Providers.TV.SeriesMetadataService: Removing virtual season null in series Jelles MarbleCast
Aug 13 11:34:53 fitlet.localdomain docker[2601]: [16:34:53] [INF] [52] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: Season, Name: Season Unknown, Path: , Id: d8176ddd-b382-540d-4556-b29c0fd337ea
Aug 13 11:34:53 fitlet.localdomain docker[2601]: [16:34:53] [INF] [52] MediaBrowser.Providers.TV.SeriesMetadataService: Creating Season Season 2024 entry for Jelles MarbleCast
Aug 13 11:34:54 fitlet.localdomain docker[2601]: [16:34:54] [INF] [8] Emby.Server.Implementations.IO.LibraryMonitor: Jelles MarbleCast (/media/youtube/UCncbOtiyIkJosXs_J1Nhmxg) will be refreshed.
Aug 13 11:34:54 fitlet.localdomain docker[2601]: [16:34:54] [INF] [8] Emby.Server.Implementations.IO.LibraryMonitor: WHAT A FINAL! A Sand Rally Champion is Crowned and a Shake up to the JMR Team (/media/youtube/UCncbOtiyIkJosXs_J1Nhmxg/Yh0sO1vw2F4.mp4) will be refreshed.
Aug 13 11:34:54 fitlet.localdomain docker[2601]: [16:34:54] [INF] [52] MediaBrowser.Providers.TV.SeriesMetadataService: Removing virtual season 2024 in series Jelles MarbleCast
Aug 13 11:34:54 fitlet.localdomain docker[2601]: [16:34:54] [INF] [52] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: Season, Name: Season 2024, Path: , Id: b48ebc86-6558-16fa-e2b0-bd27bf81cd3c
Aug 13 11:34:54 fitlet.localdomain docker[2601]: [16:34:54] [INF] [52] MediaBrowser.Providers.TV.SeriesMetadataService: Creating Season Season 2024 entry for Jelles MarbleCast
Aug 13 11:34:54 fitlet.localdomain docker[2601]: [16:34:54] [INF] [52] MediaBrowser.Providers.TV.SeriesMetadataService: Removing virtual season 2024 in series Jelles MarbleCast
Aug 13 11:34:54 fitlet.localdomain docker[2601]: [16:34:54] [INF] [52] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: Season, Name: Season 2024, Path: , Id: b48ebc86-6558-16fa-e2b0-bd27bf81cd3c
Aug 13 11:34:54 fitlet.localdomain docker[2601]: [16:34:54] [INF] [52] MediaBrowser.Providers.TV.SeriesMetadataService: Creating Season Season 2024 entry for Jelles MarbleCast

Anything else?

  • Jellyfin 10.9.3
  • TubeArchivist 0.4.10
  • plugin: 1.3.0
Originally created by @line72 on GitHub (Aug 13, 2024). Original GitHub issue: https://github.com/tubearchivist/tubearchivist-jf-plugin/issues/21 ### I've read the documentation - [X] I'm running the latest version of tubearchivist-jf-plugin. - [X] I have read the [how to open an issue](https://github.com/tubearchivist/tubearchivist/blob/master/CONTRIBUTING.md#how-to-open-an-issue) guide, particularly the [bug report](https://github.com/tubearchivist/tubearchivist/blob/master/CONTRIBUTING.md#bug-report) section. ### Operating System Linux ### Your Bug Report ## Describe the bug One of my tubearchivist channels doesn't correctly show Seasons in Jellyfin, leaving me unable to play any videos. ## Steps To Reproduce I have several channels in TubeArchivist that work fine, but this one never does (https://www.youtube.com/channel/UCncbOtiyIkJosXs_J1Nhmxg). I have tried deleting the channel from TubeArchivist, and re-adding the channel, but I get the same issue. In jellyfin, I can see the video under "Up Next", however, clicking on it gives me a "Playback Error: Unable to find a valid media source to play." Yet, the media is definitely available to Jellyfin. ![Screenshot from 2024-08-13 11-39-04](https://github.com/user-attachments/assets/00f31aef-966a-4cff-bc5b-1a6ff59f1d17) If you notice in the above screenshot, the problem seems to be that this plugin was unable to create a "season" for this channel. ## Expected behavior A season would be created with all the video from tubearchivist. ### Relevant Jellyfin log output ```shell Aug 13 11:34:33 fitlet.localdomain docker[2601]: [16:34:33] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: https://tubearchivist.line72.net/api/channel/UCncbOtiyIkJosXs_J1Nhmx g/: OK Aug 13 11:34:33 fitlet.localdomain docker[2601]: [16:34:33] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: Getting metadata for channel: Jelles MarbleCast (UCncbOtiyIkJosXs_J1Nhmxg) Aug 13 11:34:33 fitlet.localdomain docker[2601]: [16:34:33] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: Received metadata: Aug 13 11:34:33 fitlet.localdomain docker[2601]: {"channel_banner_url":"/cache/channels/UCncbOtiyIkJosXs_J1Nhmxg_banner.jpg","channel_description":"Covering all things Jelles Marble Runs. Currently: Marble Survival 100","channel_id":"UCncbOtiyIkJosXs_J1Nhmxg","channel_name":"Jelles MarbleCast","channel_tags":[],"channel_thumb_url":"/cache/channels/UCncbOtiyIkJosXs_J1Nhmxg_thumb.jpg","channel_tvart_url":"/cache/channels/UCncbOtiyIkJosXs_J1Nhmxg_tvart.jpg"} Aug 13 11:34:52 fitlet.localdomain docker[2601]: [16:34:52] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: https://tubearchivist.line72.net/api/channel/UCncbOtiyIkJosXs_J1Nhmxg/: OK Aug 13 11:34:52 fitlet.localdomain docker[2601]: [16:34:52] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: Getting images for channel: Jelles MarbleCast (UCncbOtiyIkJosXs_J1Nhmxg) Aug 13 11:34:52 fitlet.localdomain docker[2601]: [16:34:52] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: Thumb URI: /cache/channels/UCncbOtiyIkJosXs_J1Nhmxg_thumb.jpg Aug 13 11:34:52 fitlet.localdomain docker[2601]: [16:34:52] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: TVArt URI: /cache/channels/UCncbOtiyIkJosXs_J1Nhmxg_tvart.jpg Aug 13 11:34:52 fitlet.localdomain docker[2601]: [16:34:52] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: Banner URI: /cache/channels/UCncbOtiyIkJosXs_J1Nhmxg_banner.jpg Aug 13 11:34:52 fitlet.localdomain docker[2601]: [16:34:52] [INF] [52] MediaBrowser.Providers.TV.SeriesMetadataService: Creating Season Season Unknown entry for Jelles MarbleCast Aug 13 11:34:52 fitlet.localdomain docker[2601]: [16:34:52] [INF] [52] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Starting /usr/lib/jellyfin-ffmpeg/ffprobe with args -analyzeduration 200M -probesize 1G -i file:"/media/youtube/UCncbOtiyIkJosXs_J1Nhmxg/Yh0sO1vw2F4.mp4" -threads 0 -v warning -print_format json -show_streams -show_chapters -show_format Aug 13 11:34:52 fitlet.localdomain docker[2601]: [16:34:52] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: https://tubearchivist.line72.net/api/video/Yh0sO1vw2F4/: OK Aug 13 11:34:52 fitlet.localdomain docker[2601]: [16:34:52] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: Getting metadata for video: WHAT A FINAL! A Sand Rally Champion is Crowned and a Shake up to the JMR Team (Yh0sO1vw2F4) Aug 13 11:34:52 fitlet.localdomain docker[2601]: [16:34:52] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: Received metadata: Aug 13 11:34:52 fitlet.localdomain docker[2601]: {"channel":{"channel_banner_url":"/cache/channels/UCncbOtiyIkJosXs_J1Nhmxg_banner.jpg","channel_description":"Covering all things Jelles Marble Runs. Currently: Marble Survival 100","channel_id":"UCncbOtiyIkJosXs_J1Nhmxg","channel_name":"Jelles MarbleCast","channel_tags":[],"channel_thumb_url":"/cache/channels/UCncbOtiyIkJosXs_J1Nhmxg_thumb.jpg","channel_tvart_url":"/cache/channels/UCncbOtiyIkJosXs_J1Nhmxg_tvart.jpg"},"tags":[],"title":"WHAT A FINAL! A Sand Rally Champion is Crowned and a Shake up to the JMR Team","description":"Sorry for the lack of video. It was our first remote podcast and we forgot to record video. This mistake will not be made again. It came down to three marbles for the Sand Rally title and the final race was fitting of a championship. We break down the tournament as a whole and talk about our new champion.","published":"2024-08-13T00:00:00","vid_thumb_url":"/cache/videos/y/Yh0sO1vw2F4.jpg","youtube_id":"Yh0sO1vw2F4"} Aug 13 11:34:53 fitlet.localdomain docker[2601]: [16:34:53] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: https://tubearchivist.line72.net/api/video/Yh0sO1vw2F4/: OK Aug 13 11:34:53 fitlet.localdomain docker[2601]: [16:34:53] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: Getting images for video: WHAT A FINAL! A Sand Rally Champion is Crowned and a Shake up to the JMR Team (Yh0sO1vw2F4) Aug 13 11:34:53 fitlet.localdomain docker[2601]: [16:34:53] [INF] [52] Jellyfin.Plugin.TubeArchivistMetadata.Plugin: Thumb URI: /cache/videos/y/Yh0sO1vw2F4.jpg Aug 13 11:34:53 fitlet.localdomain docker[2601]: [16:34:53] [INF] [52] MediaBrowser.Providers.TV.SeriesMetadataService: Removing virtual season null in series Jelles MarbleCast Aug 13 11:34:53 fitlet.localdomain docker[2601]: [16:34:53] [INF] [52] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: Season, Name: Season Unknown, Path: , Id: d8176ddd-b382-540d-4556-b29c0fd337ea Aug 13 11:34:53 fitlet.localdomain docker[2601]: [16:34:53] [INF] [52] MediaBrowser.Providers.TV.SeriesMetadataService: Creating Season Season 2024 entry for Jelles MarbleCast Aug 13 11:34:54 fitlet.localdomain docker[2601]: [16:34:54] [INF] [8] Emby.Server.Implementations.IO.LibraryMonitor: Jelles MarbleCast (/media/youtube/UCncbOtiyIkJosXs_J1Nhmxg) will be refreshed. Aug 13 11:34:54 fitlet.localdomain docker[2601]: [16:34:54] [INF] [8] Emby.Server.Implementations.IO.LibraryMonitor: WHAT A FINAL! A Sand Rally Champion is Crowned and a Shake up to the JMR Team (/media/youtube/UCncbOtiyIkJosXs_J1Nhmxg/Yh0sO1vw2F4.mp4) will be refreshed. Aug 13 11:34:54 fitlet.localdomain docker[2601]: [16:34:54] [INF] [52] MediaBrowser.Providers.TV.SeriesMetadataService: Removing virtual season 2024 in series Jelles MarbleCast Aug 13 11:34:54 fitlet.localdomain docker[2601]: [16:34:54] [INF] [52] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: Season, Name: Season 2024, Path: , Id: b48ebc86-6558-16fa-e2b0-bd27bf81cd3c Aug 13 11:34:54 fitlet.localdomain docker[2601]: [16:34:54] [INF] [52] MediaBrowser.Providers.TV.SeriesMetadataService: Creating Season Season 2024 entry for Jelles MarbleCast Aug 13 11:34:54 fitlet.localdomain docker[2601]: [16:34:54] [INF] [52] MediaBrowser.Providers.TV.SeriesMetadataService: Removing virtual season 2024 in series Jelles MarbleCast Aug 13 11:34:54 fitlet.localdomain docker[2601]: [16:34:54] [INF] [52] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: Season, Name: Season 2024, Path: , Id: b48ebc86-6558-16fa-e2b0-bd27bf81cd3c Aug 13 11:34:54 fitlet.localdomain docker[2601]: [16:34:54] [INF] [52] MediaBrowser.Providers.TV.SeriesMetadataService: Creating Season Season 2024 entry for Jelles MarbleCast ``` ### Anything else? * Jellyfin 10.9.3 * TubeArchivist 0.4.10 * plugin: 1.3.0
Author
Owner

@craftcm commented on GitHub (Mar 10, 2025):

I'm also having a similar problem. Either there are no season folders or for channels that have been around for a few years, it seems that random season folders are being created - season 1, 2, 7.

<!-- gh-comment-id:2709312679 --> @craftcm commented on GitHub (Mar 10, 2025): I'm also having a similar problem. Either there are no season folders or for channels that have been around for a few years, it seems that random season folders are being created - season 1, 2, 7.
Author
Owner

@bashman83 commented on GitHub (Mar 10, 2025):

I'm also having a similar problem. Either there are no season folders or for channels that have been around for a few years, it seems that random season folders are being created - season 1, 2, 7.

This is known bug. It's deep in the Jellyfin codebase. It is due to be fixed at the next Jellyfin update. @DarkFighterLuke should have more details about this.

<!-- gh-comment-id:2709320777 --> @bashman83 commented on GitHub (Mar 10, 2025): > I'm also having a similar problem. Either there are no season folders or for channels that have been around for a few years, it seems that random season folders are being created - season 1, 2, 7. This is known bug. It's deep in the Jellyfin codebase. It is due to be fixed at the next Jellyfin update. @DarkFighterLuke should have more details about this.
Author
Owner

@DarkFighterLuke commented on GitHub (Mar 10, 2025):

Hi all, the issue was on Jellyfin side, you can find more details in https://github.com/tubearchivist/tubearchivist-jf-plugin/issues/30

<!-- gh-comment-id:2709506927 --> @DarkFighterLuke commented on GitHub (Mar 10, 2025): Hi all, the issue was on Jellyfin side, you can find more details in https://github.com/tubearchivist/tubearchivist-jf-plugin/issues/30
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
tubearchivist/archived-tubearchivist-jf-plugin#20
No description provided.