Jellyfin: TVDB API Failure

Created on 28 May 2020  ·  23Comments  ·  Source: jellyfin/jellyfin

Describe the bug
After a completely fresh install with default values, Jellyfin fails to download series artwork, as seen in the screenshots. Surprisingly, images of actors, episode titles and show descriptions get downloaded properly

System (please complete the following information):

  • OS: Armbian Buster, Rockchip RK3399 CPU
  • Virtualization: Docker
  • Clients: Firefox
  • Browser: Firefox 76.0.1 64-bit
  • Jellyfin Version: 10.5.5
  • Playback: Direct Play
  • Installed Plugins: none
  • Reverse Proxy: none
  • Base URL: none
  • Networking: Bridge
  • Storage: local

To Reproduce

  1. Install linuxserver.io's jellyfin docker image
  2. Set up Jellyfin using the default values, adding the directory containing TV Shows in the process
  3. Wait for Jellyfin to complete the directory scan
  4. Be dissapointed at the lack of artwork

Expected behavior
Beautiful cover art and artwork

Logs
Log containing the error: https://paste.debian.net/hidden/658dd188/
Full log: https://files.catbox.moe/d8bkpw.txt

Screenshots
Series overview
Game of Thrones

Additional context
My docker-compose config:

jellyfin:
        ports:
            - 8096:8096
        container_name: jellyfin
        environment:
            - PUID=1000
            - PGID=1000
            - TZ=Europe/Berlin
            - UMASK_SET=022
        volumes:
            - '/home/user/jellyfin:/config'
            - '/bigdata0/media/library/tv:/media/library/tv'
        restart: unless-stopped
        image: linuxserver/jellyfin
bug

Most helpful comment

I know why it broke I think, Jellyfin calls out to https://api.thetvdb.com/languages (using tvdbsharper) which fetches a bunch of json, one of them has a id of 'null':

{
  "id": null,
  "abbreviation": "yue",
  "name": "广东话",
  "englishName": "Chinese - Cantonese"
},

tvdbsharper seems to expect an int there.

All 23 comments

I am also seeing this issue on an x86 build of Debian Buster running Jellyfin from the Debian package (not Docker). I can also provide logs if they are useful, but they look just like what @just-an-alt is getting.

Hi there,

I can confirm this. Using docker and unraid.
I noticed this yesterday.

Can confirm on Windows 10 installation via Chocolatey and default fetcher settings.

i can also confirm on MacOS. No thumbnails for Banner, Poster, Poster card, Thumb or Thumb Card View since yesterday.

I think the problem is with TVDB. I was having the same issue yesterday, but after changing the image providers to TheMovieDB and completely turning off TVDB fixes this for me.
I am using Docker with Archlinux.

Also having the issue. Windows Server 2019. Going to try @DebChanda's suggestion.

I think the problem is with TVDB. I was having the same issue yesterday, but after changing the image providers to TheMovieDB and completely turning off TVDB fixes this for me.
I am using Docker with Archlinux.

Can deny, at least in my testing, that this made any difference.

It pulls the metadata correctly, the art will just not be pulled.

It pulls the metadata correctly, the art will just not be pulled.

Try these steps:

  1. From Home -> Hamburger menu -> Dashboard -> Libraries
    (Choose the library to change)
  2. Three dots menu ("...") -> Manage Library
  3. Toggle "Show advanced settings", it is at top right.
  4. Scroll down to where "Image fetchers" starts. It is after "Metadata savers:"
  5. For each of "Series Image Fetchers", "Season Image Fetchers", "Episode Image Fetchers", turn on TheMovieDB checkbox, Make sure it is at top. Hit "Ok"
  6. Three dots menu -> Scan Library -> Replace All Metadata -> Check "Replace existing images"

Wait for some time. :). I hope this is clear and helps you.
(I am facing some issues with fetching season posters, use Fanart for that).

It pulls the metadata correctly, the art will just not be pulled.

Try these steps:

  1. From Home -> Hamburger menu -> Dashboard -> Libraries
    (Choose the library to change)
  2. Three dots menu ("...") -> Manage Library
  3. Toggle "Show advanced settings", it is at top right.
  4. Scroll down to where "Image fetchers" starts. It is after "Metadata savers:"
  5. For each of "Series Image Fetchers", "Season Image Fetchers", "Episode Image Fetchers", turn on TheMovieDB checkbox, Make sure it is at top. Hit "Ok"
  6. Three dots menu -> Scan Library -> Replace All Metadata -> Check "Replace existing images"

Wait for some time. :). I hope this is clear and helps you.
(I am facing some issues with fetching season posters, use Fanart for that).

This worked like a charm. Just took its sweet time.

Ideally regardless of if this is the fault of TVDB or Jellyfin, it shouldn't be the default option right now if they're experiencing issues. Especially when I had to enter advanced settings for basic functionality.

Thanks for the help.

@Da532 This literally happened two days ago, I imagine it's because of an API change from TVDB.

@just-an-alt Can you rename the title to TVDB API Failure

It pulls the metadata correctly, the art will just not be pulled.

Try these steps:

  1. From Home -> Hamburger menu -> Dashboard -> Libraries
    (Choose the library to change)
  2. Three dots menu ("...") -> Manage Library
  3. Toggle "Show advanced settings", it is at top right.
  4. Scroll down to where "Image fetchers" starts. It is after "Metadata savers:"
  5. For each of "Series Image Fetchers", "Season Image Fetchers", "Episode Image Fetchers", turn on TheMovieDB checkbox, Make sure it is at top. Hit "Ok"
  6. Three dots menu -> Scan Library -> Replace All Metadata -> Check "Replace existing images"

Wait for some time. :). I hope this is clear and helps you.
(I am facing some issues with fetching season posters, use Fanart for that).

This worked like a charm. Just took its sweet time.

Ideally regardless of if this is the fault of TVDB or Jellyfin, it shouldn't be the default option right now if they're experiencing issues. Especially when I had to enter advanced settings for basic functionality.

Thanks for the help.

This does not appear to work for me. I get https://pastebin.com/Uy8FZC2s and https://pastebin.com/0U6bYrXd errors in the logs.

I know why it broke I think, Jellyfin calls out to https://api.thetvdb.com/languages (using tvdbsharper) which fetches a bunch of json, one of them has a id of 'null':

{
  "id": null,
  "abbreviation": "yue",
  "name": "广东话",
  "englishName": "Chinese - Cantonese"
},

tvdbsharper seems to expect an int there.

I put up a PR to ignore languages in TvDbSharper that have null id's since I don't see why the entire function should fail if one language has bad data, however I don't know if that is the "correct" fix long term.

See https://github.com/HristoKolev/TvDbSharper/issues/20

Looks like tvdb fixed the id null issue, my images are restored.

I’m running the latest nightly build. I performed a library scan with replacing all images checked. No change for me.

I’m running the latest nightly build. I performed a library scan with replacing all images checked. No change for me.

Same problem here, doesn't seem to work just yet. Also checked my logs and it's still the original error message.
Cantonese still has a null id: https://api.thetvdb.com/languages

Unfortunately, from some quick research, there's nothing we can really do on our side.

The issue is due to TVDB deploying new languages that don't have an ID, in preparation for their "v4" API that isn't out yet, without testing the impact on the older (current) API.

The only solution is waiting for TVDB to fix their crap or change your metadata provider to TheMovieDB.

It's odd that the folks at Sonarr, who also use TVDB, are able to fix it. New TV shows added at first don't have a poster, but show up within a day or two.

It's odd that the folks at Sonarr, who also use TVDB, are able to fix it. New TV shows added at first don't have a poster, but show up within a day or two.

Afaik, Sonarr proxies all the requests through their own server and merges TVDB with other stuff.

Their way of doing things is significantly different from ours since we query the API directly, through a C# library.

Yeah, Sonarr uses something called SkyHook to parse TVDB. http://skyhook.sonarr.tv/

Ok. An update of TvDbSharper to v3.2.0 should fix the issue.

The Id property is now int? so you can decide what to do with the null's.

I put up a PR to fix this since TvDbSharper in 3.2.0 addresses the null field issue, https://github.com/jellyfin/jellyfin/pull/3250

Please let me know if I'm missing something or this approach is not recommended.

TVDB seems to have fixed the issue, but I think @shayaantx's pull request is still good, as this might happen again in the future. Who knows.

Was this page helpful?
0 / 5 - 0 ratings