Jellyfin¶
M3Undle currently integrates with Jellyfin's Live TV feature. It can provide live channels and guide data in two modes: M3U + XMLTV or HDHomeRun-compatible tuner endpoints. HDHomeRun mode gets you Jellyfin's tuner-based Live TV UI; M3U mode is simpler to set up.
Movies and series are not Jellyfin libraries¶
M3Undle can ingest and publish IPTV movies and series through its Xtream-compatible API, but that does not make them appear in Jellyfin's native Movies or Shows libraries. The Live TV integrations below are channel and guide integrations; they do not map an IPTV VOD catalog into Jellyfin's library model.
An optional third-party Jellyfin Xtream plugin may be able to consume M3Undle's Xtream-compatible API, but M3Undle does not currently claim or test that plugin path as native Jellyfin VOD/series support. Plugin compatibility depends on the particular plugin and version.
Native Jellyfin library integration would require a future STRM export feature. M3Undle does not currently create movie .strm files, show/season/episode directory trees, or synchronize those files into a volume shared with Jellyfin.
M3U + XMLTV mode¶
- Dashboard → Live TV → Add M3U Tuner
http://<host>:8080/m3u/m3undle.m3u - Dashboard → Live TV → Add XMLTV
http://<host>:8080/xmltv/m3undle.xml - Save and let Jellyfin refresh its guide data.
HDHomeRun mode¶
- Dashboard → Live TV → Add Tuner Device → HD Homerun
- Enter the Discover JSON base address shown on M3Undle's HDHomeRun page — on the default install (see Install with Docker) this is
http://<host-ip>:5004. - Jellyfin fetches
discover.jsonandlineup.jsonand shows your channels.
Use manual entry, not auto-discovery
Jellyfin's "Detect My Devices" auto-discovery may not find M3Undle in Docker bridge or NAT-like setups. Use the manual Discover JSON URL displayed by M3Undle instead of guessing it.
If port 5004 isn't reachable
M3Undle serves the same HDHomeRun endpoints on every port it's actually listening on — if your deployment only publishes port 8080 (some reverse-proxy or custom-compose setups do), the HDHomeRun endpoints work there too. Whatever the actual URL is, use exactly what's shown on M3Undle's HDHomeRun page rather than assuming a port.
Validation scope
Jellyfin menu wording can vary by Jellyfin version. Validation of M3Undle's Live TV endpoints does not imply validation of a third-party Xtream plugin or native Movies/Shows library integration.
If endpoint security is enabled¶
If you've turned on endpoint credentials in Settings → Security → Endpoint Credentials, Jellyfin needs the username/password included — check how your Jellyfin version accepts credentials for M3U/XMLTV/tuner URLs (typically as part of the URL or a separate auth field, depending on version).
Troubleshooting¶
- No channels appear: confirm you've actually published a lineup — see Create the First Lineup/Profile.
- Movies or shows do not appear in Jellyfin libraries: this is expected; M3Undle currently supports Jellyfin Live TV, not native VOD/series library export.
- Tuner not found via auto-discovery: use manual entry as described above; see LAN and Reverse-Proxy Problems if you need discovery working across the LAN, not just from the Docker host.
- Guide data missing or misaligned: see EPG.