Verify Jellyfin Live TV is actually pulling channels/EPG from Dispatcharr #196

Closed
opened 2026-07-07 02:20:14 +00:00 by claude-bot · 1 comment
Collaborator

Context

Raised 2026-07-06 after confirming Dispatcharr's container and web UI (port 9191) were healthy, and separately after fixing a Komodo deploy issue for the Dispatcharr LXC (see #36 and #194).

What's unverified

Both Jellyfin (192.168.1.250:8096, v10.11.7) and Dispatcharr (192.168.1.254:9191) respond fine individually, but the actual Live TV integration between them — i.e. whether Jellyfin's Live TV tuner is successfully pulling the channel list and EPG/guide data from Dispatcharr — has never been confirmed via API. Checking this requires Jellyfin's Live TV API (e.g. tuner status, channel/guide endpoints), which needs an authenticated Jellyfin API key. No such key is currently stored/available.

Suggested next step

  1. Generate a Jellyfin API key: Jellyfin admin dashboard -> Dashboard -> API Keys -> create one (read-only if possible).
  2. Use it to query Jellyfin's Live TV endpoints (tuner devices, channels, guide data) and confirm channels/EPG are actually populated and current, not just that the tuner is configured.
  3. Alternatively/faster: just check the Jellyfin UI directly under Dashboard -> Live TV -> Tuner Devices and Guide, to eyeball whether Dispatcharr's channels and EPG are showing up with recent data.

This is a verification task, not a known-broken bug — flagging it because it was explicitly left unconfirmed rather than assumed working.

## Context Raised 2026-07-06 after confirming Dispatcharr's container and web UI (port 9191) were healthy, and separately after fixing a Komodo deploy issue for the Dispatcharr LXC (see #36 and #194). ## What's unverified Both Jellyfin (192.168.1.250:8096, v10.11.7) and Dispatcharr (192.168.1.254:9191) respond fine individually, but the actual Live TV integration between them — i.e. whether Jellyfin's Live TV tuner is successfully pulling the channel list and EPG/guide data from Dispatcharr — has never been confirmed via API. Checking this requires Jellyfin's Live TV API (e.g. tuner status, channel/guide endpoints), which needs an authenticated Jellyfin API key. No such key is currently stored/available. ## Suggested next step 1. Generate a Jellyfin API key: Jellyfin admin dashboard -> Dashboard -> API Keys -> create one (read-only if possible). 2. Use it to query Jellyfin's Live TV endpoints (tuner devices, channels, guide data) and confirm channels/EPG are actually populated and current, not just that the tuner is configured. 3. Alternatively/faster: just check the Jellyfin UI directly under Dashboard -> Live TV -> Tuner Devices and Guide, to eyeball whether Dispatcharr's channels and EPG are showing up with recent data. This is a verification task, not a known-broken bug — flagging it because it was explicitly left unconfirmed rather than assumed working.
Author
Collaborator

Verified end-to-end (2026-08-17) — Live TV integration is working correctly

Couldn't get a Jellyfin API key without logging into the web UI (which I won't do with a password), so instead got SSH access directly to the Jellyfin host (192.168.1.250, hostname jellyfin, Ubuntu 24.04, native systemd install, not Docker) and inspected config + the Jellyfin sqlite DB read-only.

Config (/etc/jellyfin/livetv.xml)

  • Tuner Host: type HdHomeRun, URL http://192.168.1.254:9191/hdhr — Dispatcharr's HDHomeRun-emulation endpoint, correctly targeted.
  • EPG Listings Provider: type xmltv, path http://192.168.1.254:9191/output/epg — Dispatcharr's XMLTV guide export, correctly targeted.

Data (jellyfin.db, BaseItems table)

  • 17 LiveTvChannel rows, ExternalId values hdhr_1...hdhr_18 (HDHR numbering from Dispatcharr), all DateLastRefreshed = 2026-08-17 20:54:18 — refreshed ~25 min before this check, so the tuner scan is live and current, not stale.
  • 306 LiveTvProgram rows (EPG/guide entries) — 18 per channel, evenly distributed across all 17 channels (no channels with zero guide data).
  • Guide window: 2026-08-17 20:00 → 2026-08-20 20:00 UTC, i.e. covers now through +3 days at check time (server clock was 2026-08-17 21:19 UTC) — current, not expired/frozen data.

Playback evidence (not just metadata)

Found an FFmpeg remux log from an actual Live TV session on 2026-08-16 (/var/log/jellyfin/FFmpeg.Remux-...log): a client opened http://192.168.1.250:8096/LiveTv/LiveStreamFiles/..., backed by a real Dispatcharr stream, successfully decoded as 1080p H264/AAC. So this isn't just "channels listed" — actual playback through the Dispatcharr pipeline has worked.

Today's Jellyfin log (3813 lines) has no LiveTV/tuner/EPG-related errors or warnings (the only ERR entries are an unrelated YoutubeMetadata/youtube-dl plugin issue).

Minor non-issue observation

A few channels (Pluto TV Anime, Toonami Aftermath, TVS Western Movie, WeatherSpy, etc.) show the same program name repeated across all their 4-hour guide blocks rather than per-episode titles. This is normal for these particular free/looping IPTV-style channels — their upstream XMLTV source only provides coarse block-level metadata, not a defect in the Jellyfin<->Dispatcharr pipeline.

Conclusion: closing as verified working. Tuner config, EPG config, populated + fresh channel/guide data, and real playback all confirmed independently via direct DB/log inspection.

## Verified end-to-end (2026-08-17) — Live TV integration is working correctly Couldn't get a Jellyfin API key without logging into the web UI (which I won't do with a password), so instead got SSH access directly to the Jellyfin host (`192.168.1.250`, hostname `jellyfin`, Ubuntu 24.04, **native systemd install, not Docker**) and inspected config + the Jellyfin sqlite DB read-only. ### Config (`/etc/jellyfin/livetv.xml`) - **Tuner Host:** type `HdHomeRun`, URL `http://192.168.1.254:9191/hdhr` — Dispatcharr's HDHomeRun-emulation endpoint, correctly targeted. - **EPG Listings Provider:** type `xmltv`, path `http://192.168.1.254:9191/output/epg` — Dispatcharr's XMLTV guide export, correctly targeted. ### Data (`jellyfin.db`, BaseItems table) - **17 `LiveTvChannel` rows**, `ExternalId` values `hdhr_1`...`hdhr_18` (HDHR numbering from Dispatcharr), all `DateLastRefreshed = 2026-08-17 20:54:18` — refreshed ~25 min before this check, so the tuner scan is live and current, not stale. - **306 `LiveTvProgram` rows** (EPG/guide entries) — 18 per channel, evenly distributed across all 17 channels (no channels with zero guide data). - **Guide window: 2026-08-17 20:00 → 2026-08-20 20:00 UTC**, i.e. covers now through +3 days at check time (server clock was 2026-08-17 21:19 UTC) — current, not expired/frozen data. ### Playback evidence (not just metadata) Found an FFmpeg remux log from an actual Live TV session on 2026-08-16 (`/var/log/jellyfin/FFmpeg.Remux-...log`): a client opened `http://192.168.1.250:8096/LiveTv/LiveStreamFiles/...`, backed by a real Dispatcharr stream, successfully decoded as 1080p H264/AAC. So this isn't just "channels listed" — actual playback through the Dispatcharr pipeline has worked. Today's Jellyfin log (3813 lines) has no LiveTV/tuner/EPG-related errors or warnings (the only ERR entries are an unrelated `YoutubeMetadata`/youtube-dl plugin issue). ### Minor non-issue observation A few channels (Pluto TV Anime, Toonami Aftermath, TVS Western Movie, WeatherSpy, etc.) show the same program name repeated across all their 4-hour guide blocks rather than per-episode titles. This is normal for these particular free/looping IPTV-style channels — their upstream XMLTV source only provides coarse block-level metadata, not a defect in the Jellyfin<->Dispatcharr pipeline. **Conclusion: closing as verified working.** Tuner config, EPG config, populated + fresh channel/guide data, and real playback all confirmed independently via direct DB/log inspection.
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
matt/homelab-docker#196
No description provided.