Xtream Codes is the de-facto standard for modern IPTV providers — a single URL gives you channels, EPG, VOD and series in one bundle. Here is how to wire your portal into OneTV Connect on Apple TV in under two minutes, plus the half-dozen gotchas that derail most first-time setups.
1 — Install OneTV Connect
Open the App Store on your Apple TV, search for OneTV Connect, install. The base app is free and includes full IPTV playback — Pro is only needed for Plex, Sport Centre, Trakt and themes. Sign in to iCloud beforehand: any playlist you add on Apple TV will appear automatically on your iPhone and iPad.
2 — Open the Xtream wizard
From the home screen, head to Settings → Playlists → Add a playlist → Xtream Codes. The dedicated Xtream wizard skips the M3U parsing step entirely and uses the provider's JSON API directly, which is faster and gives a richer category tree.
3 — Paste your portal credentials
You need three things from your provider: the portal URL (without trailing slash, format http://host:port), your username and your password. Paste them in, hit Validate. The app pings the portal, retrieves the user info, and starts indexing channels in the background — typically 5 to 30 seconds for a 5,000-channel playlist.
4 — Verify EPG and VOD
Once indexing finishes, open the Live tab — programmes should appear next to each channel name. If a channel shows "No programme", long-press it and pick the correct EPG channel from the searchable list (the mapping is then synced via iCloud). VOD and series live in their own tabs and are populated from the same Xtream endpoint, with TMDB enrichment running automatically over the next few minutes.
5 — The gotchas no provider tells you
- HTTPS portals with self-signed certificates fail silently. OneTV Connect handles this transparently via its proxy layer for MPV, but VLC and KSPlayer can still error — switch to MPV in Settings → Player if you see SSL errors.
- Provider blocks "non-MAG" user agents. Some portals refuse the default Apple TV user agent. Settings → Player → Custom user agent lets you spoof a generic VLC string.
- VOD playback returns HTTP 404. Most Xtream VOD endpoints don't support HTTP range requests. OneTV Connect detects this and disables seeking — but if you see 404 on every VOD launch, the provider has a routing bug; ask them to enable byte-range support.
- EPG is stale or one day behind. Some providers refresh XMLTV at midnight UTC only. Settings → EPG → Refresh now forces a re-fetch on demand.
- Channel logos are missing. The provider didn't fill in
tvg-logo. OneTV Connect falls back to the EPG channel logo when the M3U logo is empty — add a custom logo URL in long-press menu if you want a specific one.
That's it. Adding a second Xtream portal works the same way — both will appear in the playlist switcher and you can move between them in one gesture. Need help with a specific provider or error message? The support page has the full troubleshooting checklist.