Jellyfins TMDB plugin can no longer find backdrop/folder/landscape/logo images #13171
Description
This issue respects the following points:
- This is a bug, not a question or a configuration issue; Please visit our forum or chat rooms first to troubleshoot with volunteers, before creating a report. The links can be found here.
- This issue is not already reported on GitHub (I've searched it).
- I'm using an up to date version of Jellyfin Server stable, unstable or master; We generally do not support previous older versions. If possible, please update to the latest version before opening an issue.
- I agree to follow Jellyfin's Code of Conduct.
- This report addresses only a single issue; If you encounter multiple issues, kindly create separate reports for each one.
Description of the bug
Today when uploading a series to jellyfin i noticed it wasn't getting any of the main cover images. (Season/Actor/Episode still worked though)
Ok, thought maybe it is not there.
Then I added another one and saw it had issues too. And i double checked if it was present.
After that i just out of curiosity reran another scan on part of my library.
And I keep getting this error.
[2024-12-07 02:47:01.518 +01:00] [ERR] [12] MediaBrowser.Providers.Manager.ProviderManager: "TmdbSeriesImageProvider" failed in GetImageInfos for type "Series" at "/volume5/video/serien/RWBY"
Newtonsoft.Json.JsonReaderException: Could not convert string to DateTime: 2024-07-05 19:01:08 UTC. Path 'videos.results[0].published_at', line 1, position 15997.
at Newtonsoft.Json.JsonReader.ReadDateTimeString(String s)
at Newtonsoft.Json.JsonTextReader.FinishReadQuotedStringValue(ReadType readType)
at Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at TMDbLib.Utilities.Serializer.TMDbJsonSerializer.Deserialize(Stream source, Type type)
at TMDbLib.Utilities.Serializer.SerializerExtensions.Deserialize[T](ITMDbSerializer serializer, Stream source)
at TMDbLib.Rest.RestResponse`1.GetDataObject()
at TMDbLib.Client.TMDbClient.GetTvShowAsync(Int32 id, TvShowMethods extraMethods, String language, String includeImageLanguage, CancellationToken cancellationToken)
at MediaBrowser.Providers.Plugins.Tmdb.TmdbClientManager.GetSeriesAsync(Int32 tmdbId, String language, String imageLanguages, CancellationToken cancellationToken)
at MediaBrowser.Providers.Plugins.Tmdb.TV.TmdbSeriesImageProvider.GetImages(BaseItem item, CancellationToken cancellationToken)
at MediaBrowser.Providers.Manager.ProviderManager.GetImages(BaseItem item, IRemoteImageProvider provider, String preferredLanguage, Boolean includeAllLanguages, CancellationToken cancellationToken, Nullable`1 type)
To me that looks like TMDB changed something and broke your code.
Mainly because it was fine 1 week ago and now it doesn't work anymore.
(And RWBY for example was added 1 week ago just fine)
Reproduction steps
Add a Series to your jellyfin and add a series, it should happen automatically.
What is the current bug behavior?
backdrop/folder/landscape/logo images not appearing
What is the expected correct behavior?
backdrop/folder/landscape/logo images should be appearing
Jellyfin Server version
10.10.0+
Specify commit id
No response
Specify unstable release number
No response
Specify version number
No response
Specify the build version
10.10.3
Environment
- OS: Synology Disk Station DSM 7.2.2-72806 Update 2
- Source: https://synocommunity.com/package/jellyfin
- Settings: Default settings/plugins + Transcoder/Trickplay enabled.
(I know synology is technically not fully supported. On the other hand this is a JSON parse error which can't be caused by the operating system from a networking callback)Jellyfin logs
[2024-12-07 02:47:01.518 +01:00] [ERR] [12] MediaBrowser.Providers.Manager.ProviderManager: "TmdbSeriesImageProvider" failed in GetImageInfos for type "Series" at "/volume5/video/serien/RWBY"
Newtonsoft.Json.JsonReaderException: Could not convert string to DateTime: 2024-07-05 19:01:08 UTC. Path 'videos.results[0].published_at', line 1, position 15997.
at Newtonsoft.Json.JsonReader.ReadDateTimeString(String s)
at Newtonsoft.Json.JsonTextReader.FinishReadQuotedStringValue(ReadType readType)
at Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at TMDbLib.Utilities.Serializer.TMDbJsonSerializer.Deserialize(Stream source, Type type)
at TMDbLib.Utilities.Serializer.SerializerExtensions.Deserialize[T](ITMDbSerializer serializer, Stream source)
at TMDbLib.Rest.RestResponse`1.GetDataObject()
at TMDbLib.Client.TMDbClient.GetTvShowAsync(Int32 id, TvShowMethods extraMethods, String language, String includeImageLanguage, CancellationToken cancellationToken)
at MediaBrowser.Providers.Plugins.Tmdb.TmdbClientManager.GetSeriesAsync(Int32 tmdbId, String language, String imageLanguages, CancellationToken cancellationToken)
at MediaBrowser.Providers.Plugins.Tmdb.TV.TmdbSeriesImageProvider.GetImages(BaseItem item, CancellationToken cancellationToken)
at MediaBrowser.Providers.Manager.ProviderManager.GetImages(BaseItem item, IRemoteImageProvider provider, String preferredLanguage, Boolean includeAllLanguages, CancellationToken cancellationToken, Nullable`1 type)FFmpeg logs
Not neededClient / Browser logs
No response
Relevant screenshots or videos
No response
Additional information
No response
Metadata
Assignees
Labels
Type
Projects
Status
Duplicate
Activity