XMLTV¶
mw.epg.xmltv
Addresses¶
| What | Address |
|---|---|
| Channel list | /playback/tv/playlist.m3u8?token=<token> |
| Channel list for IPTV players | /playback/tv/iptv.m3u8?token=<token> |
| Programme guide | /playback/tv/xmltv.xml?token=<token> |
The addresses are relative to the root of the installation: if the storefront opens at https://tv.example.com/tv/, the regular playlist is at https://tv.example.com/playback/tv/playlist.m3u8, and the IPTV one at https://tv.example.com/playback/tv/iptv.m3u8.
Either token works:
- the subscriber's playback token — the one the operator sees on the subscriber's card, field Playback token;
- a device token obtained by signing in to the storefront.
The only difference is revocation: revoking a device kills its link as well, while the playback token lives with the subscriber.
What is inside the XMLTV¶
The file holds channel declarations and their programmes. The default window is one day back and six forward: the past day is what catch-up needs, and six days ahead is the guide's own limit.
The window can be set explicitly with the from and to parameters — RFC 3339 moments, for example ?from=2026-08-20T00:00:00Z&to=2026-08-22T00:00:00Z.
Programme times are always converted to UTC and written in the XMLTV form YYYYMMDDHHMMSS +0000. A programme whose bounds cannot be parsed is skipped: one broken date makes a player draw the whole file as an empty guide, not just that one row.
The schedule comes from the programme guide. If it is empty, the XMLTV arrives with channel declarations and no programmes — and that is fixed at the source, not in the export.
Limits¶
- The screen limit applies here too. A view from a third-party player occupies a screen exactly like a view in the storefront; at the limit the player is refused (How many screens at once).
- Catch-up in the regular playlist is built by the player itself, from the programme bounds in the XMLTV. In the IPTV playlist the window is declared on the entry if the stream has an archive. What is recorded is decided by the stream's archive: beyond it there is nothing to play.
- The file does not refresh itself. A new channel in the subscription means the subscriber downloads the playlist again. The IPTV file is also re-downloaded when the permit in the links has expired.