Playlist and server compatibility
A playlist, a programme guide and a server API do different jobs. No single IPTV file guarantees every metadata, catch-up or recording feature.
AMP already has M3U/XMLTV parsing and source-dependent catch-up paths. New server connectors and AMP Light are planned, not released features. All examples below are deliberately non-working: hosts end in .example.invalid and credentials are fake. AMP does not provide channels, movies or access rights.
What each format supplies
- M3U/M3U8 catalog: item names, groups, channel identifiers, logos and media URLs; optional attributes depend on the provider and player.
- XMLTV guide: channels, programme times and descriptions, with optional categories, credits, episode numbers, ratings and artwork.
- HLS manifest: media segments or stream variants. An HLS
.m3u8is not a list of television channels. - Server API: structured movie/series libraries, authentication, stream negotiation and sometimes recording controls.
AMP compatibility and planned expansion
This is a code-audited overview, not a guarantee for every server configuration or device. New connectors require real-server and cross-device verification before their status changes.
| Source | Information available | AMP status |
|---|---|---|
| Extended M3U/M3U8 | Names, IDs, logos, groups, URLs, optional duration/catch-up attributes. | Existing parser. Rich metadata, supplied channel numbers and durable direct import are expansion work. |
| XMLTV | Guide times, descriptions and optional rich programme data. | Existing dates/title/description path. Broader metadata preservation is planned. |
| Flussonic | Live media and enabled DVR archives. | Existing legacy archive/template paths; explicit adapter and broader interoperability testing planned. |
| Xtream-compatible panels | M3U/XMLTV exports; API-based live, VOD and series catalogs. | Exports can use existing parsers. Native account/library and separate catch-up adapter planned. |
| Tvheadend | M3U channels, XMLTV, channel tags and DVR API. | Secure native source, tags and retained recorded-TV history tested in AMP 1.2 (5). Recorder permissions required. Setup guide. Growing-recording start, live timeshift and recorder controls are separate work. |
| Jellyfin / Emby / Plex | Rich movie, season, episode, artwork and playback APIs. | Native library connectors planned. A playable media URL is not full server integration. |
| HDHomeRun / Enigma2 OpenWebif | Tuner lineups or receiver bouquets, guide and recordings. | Future connector work; capability and permission dependent. |
| Ministra / Stalker | Operator/client services that depend on deployment and licensed access. | Investigation only. No universal portal or MAC-emulation support claim. |
| XSPF / PLS / .strm | Additional track lists or single media references. | Secondary import roadmap; not a universal EPG or DVR solution. |
Light and Pro direction: use the same basic source compatibility and source-provided metadata. Light is intended to keep direct imports and local presets independent of an optional web Manager; Pro's maintained online enrichment is a separate service. This describes the plan, not current purchase terms.
Example: live channel and movie in M3U
#EXTM3U x-tvg-url="https://guide.example.invalid/epg.xml" #EXTINF:-1 tvg-id="demo.news" tvg-name="Demo News" tvg-logo="https://media.example.invalid/news.png" group-title="Live TV",Demo News https://stream.example.invalid/news/index.m3u8 #EXTINF:5400 tvg-id="demo.movie" type="video" tvg-logo="https://media.example.invalid/movie.jpg" group-title="VOD",Demo Movie https://media.example.invalid/movie.mp4
The current AMP parser recognizes the names, IDs, logos and groups in this example. The movie uses explicit type="video" and a VOD group. Do not expect arbitrary movie plots, ratings or release years in M3U attributes to appear automatically today.
Use UTF-8. Keep a stable tvg-id for guide matching, and follow the provider's URL and authorization instructions. More detail: M3U format and playlist attributes.
Example: matching XMLTV guide
<?xml version="1.0" encoding="UTF-8"?>
<tv>
<channel id="demo.news">
<display-name>Demo News</display-name>
</channel>
<programme channel="demo.news" start="20261002100000 +0000" stop="20261002103000 +0000">
<title lang="en">Demo Bulletin</title>
<desc lang="en">A fictional programme for format testing.</desc>
<category lang="en">News</category>
<icon src="https://media.example.invalid/bulletin.jpg" />
</programme>
</tv>
The XMLTV channel ID must match the playlist's tvg-id. These times are UTC. AMP's existing guide model handles dates, titles and descriptions; this example's category and programme image illustrate richer fields planned for preservation, not a current display promise. See guide matching.
Example: explicit Flussonic catch-up source
#EXTM3U
#EXTINF:-1 tvg-id="demo.news" group-title="Live TV" catchup="flussonic" catchup-days="7" catchup-source="https://stream.example.invalid/news/archive-{utc}-{duration}.m3u8",Demo News
https://stream.example.invalid/news/index.m3u8
This illustrates an explicit template: {utc} is the programme start in Unix seconds and {duration} is its duration in seconds. The server must actually enable and retain that archive. A seven-day tag cannot create seven days of recordings. Ongoing programmes and server authentication require additional handling.
AMP also has legacy Flussonic index-… paths. Do not assume other providers' append, shift or xtream modes use the same URL syntax.
Example: Tvheadend exports
Channels: https://tvh.example.invalid/playlist/channels Guide: https://tvh.example.invalid/xmltv/channels Recordings: https://tvh.example.invalid/playlist/recordings
These are representative Tvheadend export paths behind an HTTPS endpoint. Your administrator must provide the actual address, permissions and playback profile. Keep authentication separate where possible; temporary tickets can expire. Playing an exported recording does not mean the app can schedule or delete recordings.
For secure native TVH setup, use the channels playlist URL as a Live TV source and pair its same-server XMLTV guide. Follow the account and DVR permission checklist; live access alone does not grant recorded catch-up.
Example: Xtream-compatible export URLs
https://panel.example.invalid/get.php?username=DEMO_USER&password=DEMO_PASSWORD&type=m3u_plus&output=ts https://panel.example.invalid/xmltv.php?username=DEMO_USER&password=DEMO_PASSWORD https://panel.example.invalid/player_api.php?username=DEMO_USER&password=DEMO_PASSWORD
These endpoint shapes are used by a maintained client implementation; they are not a universal vendor standard. The first two supply a playlist and guide. The third is a structured API requiring a dedicated connector to retain full movie and series metadata. Providers differ in archive URLs, timestamps, authentication and available actions.
Never paste real versions of these URLs into public screenshots, logs or third-party conversion tools. See credential safety.
Illustrative VOD detail response — connector planned
{
"info": {
"name": "Demo Movie",
"plot": "A fictional film for format testing.",
"movie_image": "https://media.example.invalid/movie.jpg",
"backdrop_path": ["https://media.example.invalid/backdrop.jpg"],
"genre": "Drama",
"duration": "01:30:00"
},
"movie_data": {"name": "Demo Movie"}
}
A common get_vod_info response can carry plot, poster, backdrop, genre and duration separately from the stream URL. This synthetic subset follows fields read by XStreamity's VOD client; it is neither a complete schema nor an AMP import format. Server responses vary, and AMP's native connector is planned.
Catch-up, timeshift and DVR are different
- Catch-up: request a retained past programme from the provider.
- Live timeshift: seek within an available live buffer.
- Recording library: browse and play completed recordings.
- DVR control: schedule, cancel, stop or delete server recordings with the appropriate permissions.
Likewise, a movie file URL does not include an entire movie database. Rich libraries need provider metadata or server APIs. DRM declarations and media URLs never override content rights or guarantee protected playback.
Primary references
- Kodi IPTV Simple — practical M3U/XMLTV and catch-up dialect reference.
- XMLTV schema and HLS specification.
- Flussonic DVR documentation.
- Tvheadend exports and DVR API.
- XStreamity endpoint implementation — evidence for the example dialect, not an AMP dependency.
- Jellyfin API, Emby playback API and Plex developer documentation.
- HDHomeRun API, OpenWebif API, Ministra documentation and XSPF specification.