Live TV refresh with schedule direct generating error and not pulling images #7285

Closed
opened 2026-02-07 04:48:35 +03:00 by OVERLORD · 3 comments
Owner

Originally created by @PrimordialRage on GitHub (Aug 27, 2025).

Description of the bug

unable to download metadata (specifically images seen in "on now" section of jellyfin) when refreshing guide

was working before no changes made in jellyfin, I want to see if this has been reported previously, checked the forums but didnt see this issue mentioned

also opened a ticket with schedules direct for following questions (will update this post if issue is on their end):
-has this been reported to schedules direct?
-if so is there a fix for this?
-if this has not been any reports, have there been any changes lately on schedule directs end that can cause this issue?

Reproduction steps

just need to click refresh guide, check on now section which now is missing images and check logs to see errors

What is the current bug behavior?

refreshing the guide does not download images needed for "on now" section like it did previously and now throws errors in the logs

Request to https://json.schedulesdirect.org/20141201/metadata/programs but fail with response "The request is improperly formatted"

then generates "Error getting image info from schedules direct"

What is the expected correct behavior?

We should be getting images to generate the following section

Image

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.7

Environment

- OS: win11 (exe install)
- Clients: firestick, android phones, iphones, android tablets
- Browser: google chrome
- FFmpeg Version: default for 10.10.7 install
- Hardware Acceleration: nvenc
- GPU Model: 3060 ti
- Plugins: anidb,anilist,anisearch,audiodb,fanart,introskipper,musicbrainz,omdb,opensubtitile,playbackreporting,studioimages,tmdb,tmdbboxset,tmdbtrailers,tvdv
- Jellyfin Data Storage: m.2
- Media Storage: local HDD
- Additonal setup info:
HDHOMERUN FLEX DUO
win 11 
    - 3060ti
    - 12th Gen Intel(R) Core(TM) i7-12700KF
    - GIGABYTE B760M Gaming Plus WiFi motherboard
    - 64gb ddr4 ram
jellyfin v10.10.7
usa-ota-77449

Jellyfin logs

Observations:

-can see that HDhomerun is found
-we are able to authenticate
-we find 162 channels, that we then map to stations
-added first two channel mappings

[2025-08-26 21:59:54.947 -05:00] [INF] [74] Jellyfin.LiveTv.TunerHosts.TunerHostManager: Discovered tuner device "HD Homerun" at "http://redacted.local.ip"
[2025-08-26 21:59:55.358 -05:00] [INF] [74] Jellyfin.LiveTv.Listings.SchedulesDirect: Authenticated with Schedules Direct token: "redacted_token"
[2025-08-26 21:59:55.463 -05:00] [INF] [36] Jellyfin.LiveTv.Listings.SchedulesDirect: Found 162 channels on the lineup on ScheduleDirect
[2025-08-26 21:59:55.464 -05:00] [INF] [36] Jellyfin.LiveTv.Listings.SchedulesDirect: Mapping Stations to Channel
[2025-08-26 21:59:55.465 -05:00] [INF] [36] Jellyfin.LiveTv.Listings.ListingsManager: Found epg channel in "Schedules Direct" "USA-OTA-77449" "KPRC-DT" "21250"
[2025-08-26 21:59:55.466 -05:00] [INF] [36] Jellyfin.LiveTv.Listings.ListingsManager: Found epg channel in "Schedules Direct" "USA-OTA-77449" "KPRC-DT2" "40465"


-we then see we are refreshing guide with 7 days of data
-we start with channel id 21250
-we successfully authenticate once again
-then we Request to https://json.schedulesdirect.org/20141201/metadata/programs but fail with response "The request is improperly formatted"
-this shows we are generating "Error getting image info from schedules direct"


[2025-08-26 21:59:55.689 -05:00] [INF] [36] Jellyfin.LiveTv.Guide.GuideManager: Refreshing guide with 7 days of guide data
[2025-08-26 21:59:55.691 -05:00] [INF] [36] Jellyfin.LiveTv.Listings.SchedulesDirect: Channel Station ID is: "21250"
[2025-08-26 21:59:56.197 -05:00] [INF] [69] Jellyfin.LiveTv.Listings.SchedulesDirect: Authenticated with Schedules Direct token: "redacted_token"
[2025-08-26 21:59:56.243 -05:00] [ERR] [69] Jellyfin.LiveTv.Listings.SchedulesDirect: Request to https://json.schedulesdirect.org/20141201/metadata/programs failed with response "{\"response\":\"INCORRECT_REQUEST\",\"code\":1008,\"serverID\":\"20141201.web\",\"message\":\"The request is improperly formatted.\",\"datetime\":\"2025-08-27T02:59:58Z\",\"serverTime\":1756263598}"
[2025-08-26 21:59:56.244 -05:00] [ERR] [69] Jellyfin.LiveTv.Listings.SchedulesDirect: Error getting image info from schedules direct
System.Net.Http.HttpRequestException: Request failed: Bad Request
   at Jellyfin.LiveTv.Listings.SchedulesDirect.Request[T](HttpRequestMessage message, Boolean enableRetry, ListingsProviderInfo providerInfo, CancellationToken cancellationToken, HttpCompletionOption completionOption)
   at Jellyfin.LiveTv.Listings.SchedulesDirect.Request[T](HttpRequestMessage message, Boolean enableRetry, ListingsProviderInfo providerInfo, CancellationToken cancellationToken, HttpCompletionOption completionOption)
   at Jellyfin.LiveTv.Listings.SchedulesDirect.GetImageForPrograms(ListingsProviderInfo info, IReadOnlyList`1 programIds, CancellationToken cancellationToken)
[2025-08-26 21:59:56.506 -05:00] [INF] [69] Jellyfin.LiveTv.Listings.SchedulesDirect: Channel Station ID is: "40465"
[2025-08-26 21:59:57.071 -05:00] [INF] [69] Jellyfin.LiveTv.Listings.SchedulesDirect: Authenticated with Schedules Direct token: "redacted_token"
[2025-08-26 21:59:57.118 -05:00] [ERR] [69] Jellyfin.LiveTv.Listings.SchedulesDirect: Request to https://json.schedulesdirect.org/20141201/metadata/programs failed with response "{\"response\":\"INCORRECT_REQUEST\",\"code\":1008,\"serverID\":\"20141201.web\",\"message\":\"The request is improperly formatted.\",\"datetime\":\"2025-08-27T02:59:59Z\",\"serverTime\":1756263599}"
[2025-08-26 21:59:57.121 -05:00] [ERR] [69] Jellyfin.LiveTv.Listings.SchedulesDirect: Error getting image info from schedules direct
System.Net.Http.HttpRequestException: Request failed: Bad Request
   at Jellyfin.LiveTv.Listings.SchedulesDirect.Request[T](HttpRequestMessage message, Boolean enableRetry, ListingsProviderInfo providerInfo, CancellationToken cancellationToken, HttpCompletionOption completionOption)
   at Jellyfin.LiveTv.Listings.SchedulesDirect.Request[T](HttpRequestMessage message, Boolean enableRetry, ListingsProviderInfo providerInfo, CancellationToken cancellationToken, HttpCompletionOption completionOption)
   at Jellyfin.LiveTv.Listings.SchedulesDirect.GetImageForPrograms(ListingsProviderInfo info, IReadOnlyList`1 programIds, CancellationToken cancellationToken)

FFmpeg logs


Client / Browser logs

No response

Relevant screenshots or videos

No response

Additional information

No response

Originally created by @PrimordialRage on GitHub (Aug 27, 2025). ### Description of the bug unable to download metadata (specifically images seen in "on now" section of jellyfin) when refreshing guide was working before no changes made in jellyfin, I want to see if this has been reported previously, checked the forums but didnt see this issue mentioned also opened a ticket with schedules direct for following questions (will update this post if issue is on their end): -has this been reported to schedules direct? -if so is there a fix for this? -if this has not been any reports, have there been any changes lately on schedule directs end that can cause this issue? ### Reproduction steps just need to click refresh guide, check on now section which now is missing images and check logs to see errors ### What is the current _bug_ behavior? refreshing the guide does not download images needed for "on now" section like it did previously and now throws errors in the logs Request to https://json.schedulesdirect.org/20141201/metadata/programs but fail with response "The request is improperly formatted" then generates "Error getting image info from schedules direct" ### What is the expected _correct_ behavior? We should be getting images to generate the following section <img width="1198" height="314" alt="Image" src="https://github.com/user-attachments/assets/dd387c3a-0b0a-41a0-ac15-0e5f27fd4a13" /> ### 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.7 ### Environment ```markdown - OS: win11 (exe install) - Clients: firestick, android phones, iphones, android tablets - Browser: google chrome - FFmpeg Version: default for 10.10.7 install - Hardware Acceleration: nvenc - GPU Model: 3060 ti - Plugins: anidb,anilist,anisearch,audiodb,fanart,introskipper,musicbrainz,omdb,opensubtitile,playbackreporting,studioimages,tmdb,tmdbboxset,tmdbtrailers,tvdv - Jellyfin Data Storage: m.2 - Media Storage: local HDD - Additonal setup info: HDHOMERUN FLEX DUO win 11 - 3060ti - 12th Gen Intel(R) Core(TM) i7-12700KF - GIGABYTE B760M Gaming Plus WiFi motherboard - 64gb ddr4 ram jellyfin v10.10.7 usa-ota-77449 ``` ### Jellyfin logs ```shell Observations: -can see that HDhomerun is found -we are able to authenticate -we find 162 channels, that we then map to stations -added first two channel mappings [2025-08-26 21:59:54.947 -05:00] [INF] [74] Jellyfin.LiveTv.TunerHosts.TunerHostManager: Discovered tuner device "HD Homerun" at "http://redacted.local.ip" [2025-08-26 21:59:55.358 -05:00] [INF] [74] Jellyfin.LiveTv.Listings.SchedulesDirect: Authenticated with Schedules Direct token: "redacted_token" [2025-08-26 21:59:55.463 -05:00] [INF] [36] Jellyfin.LiveTv.Listings.SchedulesDirect: Found 162 channels on the lineup on ScheduleDirect [2025-08-26 21:59:55.464 -05:00] [INF] [36] Jellyfin.LiveTv.Listings.SchedulesDirect: Mapping Stations to Channel [2025-08-26 21:59:55.465 -05:00] [INF] [36] Jellyfin.LiveTv.Listings.ListingsManager: Found epg channel in "Schedules Direct" "USA-OTA-77449" "KPRC-DT" "21250" [2025-08-26 21:59:55.466 -05:00] [INF] [36] Jellyfin.LiveTv.Listings.ListingsManager: Found epg channel in "Schedules Direct" "USA-OTA-77449" "KPRC-DT2" "40465" -we then see we are refreshing guide with 7 days of data -we start with channel id 21250 -we successfully authenticate once again -then we Request to https://json.schedulesdirect.org/20141201/metadata/programs but fail with response "The request is improperly formatted" -this shows we are generating "Error getting image info from schedules direct" [2025-08-26 21:59:55.689 -05:00] [INF] [36] Jellyfin.LiveTv.Guide.GuideManager: Refreshing guide with 7 days of guide data [2025-08-26 21:59:55.691 -05:00] [INF] [36] Jellyfin.LiveTv.Listings.SchedulesDirect: Channel Station ID is: "21250" [2025-08-26 21:59:56.197 -05:00] [INF] [69] Jellyfin.LiveTv.Listings.SchedulesDirect: Authenticated with Schedules Direct token: "redacted_token" [2025-08-26 21:59:56.243 -05:00] [ERR] [69] Jellyfin.LiveTv.Listings.SchedulesDirect: Request to https://json.schedulesdirect.org/20141201/metadata/programs failed with response "{\"response\":\"INCORRECT_REQUEST\",\"code\":1008,\"serverID\":\"20141201.web\",\"message\":\"The request is improperly formatted.\",\"datetime\":\"2025-08-27T02:59:58Z\",\"serverTime\":1756263598}" [2025-08-26 21:59:56.244 -05:00] [ERR] [69] Jellyfin.LiveTv.Listings.SchedulesDirect: Error getting image info from schedules direct System.Net.Http.HttpRequestException: Request failed: Bad Request at Jellyfin.LiveTv.Listings.SchedulesDirect.Request[T](HttpRequestMessage message, Boolean enableRetry, ListingsProviderInfo providerInfo, CancellationToken cancellationToken, HttpCompletionOption completionOption) at Jellyfin.LiveTv.Listings.SchedulesDirect.Request[T](HttpRequestMessage message, Boolean enableRetry, ListingsProviderInfo providerInfo, CancellationToken cancellationToken, HttpCompletionOption completionOption) at Jellyfin.LiveTv.Listings.SchedulesDirect.GetImageForPrograms(ListingsProviderInfo info, IReadOnlyList`1 programIds, CancellationToken cancellationToken) [2025-08-26 21:59:56.506 -05:00] [INF] [69] Jellyfin.LiveTv.Listings.SchedulesDirect: Channel Station ID is: "40465" [2025-08-26 21:59:57.071 -05:00] [INF] [69] Jellyfin.LiveTv.Listings.SchedulesDirect: Authenticated with Schedules Direct token: "redacted_token" [2025-08-26 21:59:57.118 -05:00] [ERR] [69] Jellyfin.LiveTv.Listings.SchedulesDirect: Request to https://json.schedulesdirect.org/20141201/metadata/programs failed with response "{\"response\":\"INCORRECT_REQUEST\",\"code\":1008,\"serverID\":\"20141201.web\",\"message\":\"The request is improperly formatted.\",\"datetime\":\"2025-08-27T02:59:59Z\",\"serverTime\":1756263599}" [2025-08-26 21:59:57.121 -05:00] [ERR] [69] Jellyfin.LiveTv.Listings.SchedulesDirect: Error getting image info from schedules direct System.Net.Http.HttpRequestException: Request failed: Bad Request at Jellyfin.LiveTv.Listings.SchedulesDirect.Request[T](HttpRequestMessage message, Boolean enableRetry, ListingsProviderInfo providerInfo, CancellationToken cancellationToken, HttpCompletionOption completionOption) at Jellyfin.LiveTv.Listings.SchedulesDirect.Request[T](HttpRequestMessage message, Boolean enableRetry, ListingsProviderInfo providerInfo, CancellationToken cancellationToken, HttpCompletionOption completionOption) at Jellyfin.LiveTv.Listings.SchedulesDirect.GetImageForPrograms(ListingsProviderInfo info, IReadOnlyList`1 programIds, CancellationToken cancellationToken) ``` ### FFmpeg logs ```shell ``` ### Client / Browser logs _No response_ ### Relevant screenshots or videos _No response_ ### Additional information _No response_
OVERLORD added the buglive-tv labels 2026-02-07 04:48:35 +03:00
Author
Owner

@PrimordialRage commented on GitHub (Aug 29, 2025):

For anyone else that comes across this issue in the future

ScheduleDirect advised this is due to a JF bug and advised the following workaround

  1. disable JF's native SchedulesDirect grabber
  2. use something like EPG123 or one of the tv_grab_zz grabbers from the xmltv.org project to download schedules, convert to XML, and then import the XML into JF until the bugs can be fixed

I personally went with EPG123 by garyan2, ran the grabber and uploaded XML path to jellyfin, once I did that the images are now visable. This program also allows you to create schedules to auto run the grabber.

Image
@PrimordialRage commented on GitHub (Aug 29, 2025): For anyone else that comes across this issue in the future ScheduleDirect advised this is due to a JF bug and advised the following workaround 1. disable JF's native SchedulesDirect grabber 2. use something like EPG123 or one of the tv_grab_zz grabbers from the xmltv.org project to download schedules, convert to XML, and then import the XML into JF until the bugs can be fixed I personally went with EPG123 by garyan2, ran the grabber and uploaded XML path to jellyfin, once I did that the images are now visable. This program also allows you to create schedules to auto run the grabber. <img width="1199" height="318" alt="Image" src="https://github.com/user-attachments/assets/28ab2bbd-e8ee-45d1-89fc-38f182d35ae9" />
Author
Owner

@isamudaison commented on GitHub (Oct 18, 2025):

It's worse than that; Even just trying to add SchedulesDirect as a provider doesn't work anymore.

Reproduction Steps

  • Delete your existing SD provider entry
  • Add back a "new" SD provider
  • Enter your credentials (ensuring you can still log in via schedulesdirect.org)
  • Try selecting your region
  • Result:
[2025-10-17 22:34:44.190 -07:00] [ERR] [52] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/LiveTv/ListingProviders/Lineups".
System.Net.Http.HttpRequestException: Request failed: Bad Request
   at Jellyfin.LiveTv.Listings.SchedulesDirect.Request[T](HttpRequestMessage message, Boolean enableRetry, ListingsProviderInfo providerInfo, CancellationToken cancellationToken, HttpCompletionOption completionOption)
   at Jellyfin.LiveTv.Listings.SchedulesDirect.GetTokenInternal(String username, String password, CancellationToken cancellationToken)
   at Jellyfin.LiveTv.Listings.SchedulesDirect.GetToken(ListingsProviderInfo info, CancellationToken cancellationToken)
   at Jellyfin.LiveTv.Listings.SchedulesDirect.GetHeadends(ListingsProviderInfo info, String country, String location, CancellationToken cancellationToken)
   at Jellyfin.Api.Controllers.LiveTvController.GetLineups(String id, String type, String location, String country)
   at lambda_method1586(Closure, Object)
@isamudaison commented on GitHub (Oct 18, 2025): It's worse than that; Even just trying to *add* SchedulesDirect as a provider doesn't work anymore. ## Reproduction Steps - Delete your existing SD provider entry - Add back a "new" SD provider - Enter your credentials (ensuring you can still log in via schedulesdirect.org) - Try selecting your region - Result: ``` [2025-10-17 22:34:44.190 -07:00] [ERR] [52] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/LiveTv/ListingProviders/Lineups". System.Net.Http.HttpRequestException: Request failed: Bad Request at Jellyfin.LiveTv.Listings.SchedulesDirect.Request[T](HttpRequestMessage message, Boolean enableRetry, ListingsProviderInfo providerInfo, CancellationToken cancellationToken, HttpCompletionOption completionOption) at Jellyfin.LiveTv.Listings.SchedulesDirect.GetTokenInternal(String username, String password, CancellationToken cancellationToken) at Jellyfin.LiveTv.Listings.SchedulesDirect.GetToken(ListingsProviderInfo info, CancellationToken cancellationToken) at Jellyfin.LiveTv.Listings.SchedulesDirect.GetHeadends(ListingsProviderInfo info, String country, String location, CancellationToken cancellationToken) at Jellyfin.Api.Controllers.LiveTvController.GetLineups(String id, String type, String location, String country) at lambda_method1586(Closure, Object) ```
Author
Owner

@williamthrilliam commented on GitHub (Oct 22, 2025):

I think this is a dupe of https://github.com/jellyfin/jellyfin/issues/13147

@williamthrilliam commented on GitHub (Oct 22, 2025): I think this is a dupe of https://github.com/jellyfin/jellyfin/issues/13147
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#7285