A complete field-by-field reference for M3UIPTV's global settings and per-provider configuration screens — exact labels, choices, defaults, and what each option actually controls.
Menu → Settings → IPTV → Settings. These apply to the whole plugin, not to any
single provider. A * after a field name means the plugin (or GUI) needs a restart for
the change to take effect.
Enable IPTV functionality and management. This is the master switch for the entire plugin — turning it off disables all providers, menus and the web manager until turned back on.
Checks that the network is available before trying to retrieve a playlist. If the network isn't reachable, the plugin falls back to backup services instead of failing immediately.
Timeout in seconds for the HTTP requests used to fetch a playlist. Increase this on slow or unreliable provider servers to avoid premature failures.
Maximum number of parallel threads used when downloading channel picons. If the box returns errors or fails to download some picons, lower this number.
Allows the "Video on Demand" entry to appear in the Extensions (blue button) menu, as an alternative or addition to the main menu entry above.
Specifies the character case used for generated bouquet names and titles.
Specifies the type of service generated for Video on Demand items.
Download and display poster/cover artwork for VoD items, where the provider supplies it.
Configures the buffer size for HTTP streaming (this is a core Enigma2 setting the plugin also surfaces here for convenience). A larger buffer can help with stuttering on unstable connections, but increases the delay behind live TV.
Fallback location for picons, used when the currently active picon location can't be detected automatically.
Enables the ability to scroll back in EPG screens to use older entries for invoking catchup/archive/timeshift playback.
Timeout in seconds before the catchup/archive playback "end of file" event is acted on — delaying it avoids false end-of-stream detection on some providers.
TCP port for the plugin's local EPG server. This is mainly used to serve synthesized EPG for Stalker portals, which otherwise have no persistent standalone EPG endpoint.
Enables a browser-based interface for viewing, adding, editing and deleting IPTV providers, reachable from any device on the local network.
The TCP port on which the Playlist manager web interface listens.
Protects the web interface with HTTP Basic Authentication, reusing the box's own system login — the same username/password used for the receiver's own web interface, Telnet and FTP (typically root). There is no separate web-manager-only account.
Shown per-provider in the provider list for M3U/M3U8 and Xtream Codes providers. Opens an editor for that provider's substitution rules — channel name, EPG id, service type and catch-up type overrides — without hand-editing substitutions.xml. Saving takes effect the next time the provider's bouquets are regenerated.
These are core Enigma2 settings that M3UIPTV surfaces on its own settings page for convenience. Each is only shown if your specific image/build exposes the underlying attribute — so this section may look different across OpenPLI, OpenATV, OpenViX, etc.
Recording servicetypes 4097, 5001 and 5002 aren't possible with external players, so this converts recordings of those types to servicetype 1 instead.
A group of standard Enigma2 timeshift settings, shown only where the underlying config path exists on your image:
Turns on automated updates of providers. Also requires enabling "Auto updates" individually on each provider that should be refreshed by the schedule.
The time of day at which the scheduled update runs.
Press OK to open a sub-screen listing Monday through Sunday, each toggled Enabled/Disabled (all enabled by default). At least one day must remain enabled.
Menu → Settings → IPTV → Playlist manager → Add/Edit provider. The fields shown change depending on the selected Provider Type — each field below is tagged with which type(s) it applies to. The web manager's browser form mirrors these exact fields.
Selects what kind of source this provider is. Locked once the provider is created — to change type, delete and re-add the provider.
A friendly name for the provider, used as the bouquet name and shown in the infobar while watching.
The playlist URL (.m3u/.m3u8), panel/portal/server URL, including the port if it differs from 80. If a playlist is already stored locally, a local file path can be used instead, e.g. /tmp/myplaylist.m3u.
The format of the standalone VOD playlist.
If enabled, stream URLs are treated as static rather than aliased. If the provider changes a service's underlying URL in the playlist, the bouquet entry will stop working since it isn't re-resolved.
How often the playlist is automatically re-fetched and updated.
tvg-id="{SID}"The search pattern used to locate a channel's stream/service ID inside its #EXTINF line. The literal placeholder {SID} acts as a wildcard capture — everything else in the field is matched literally. With the default value, whatever text appears inside tvg-id="..." is captured as the service ID.
Username used to authenticate with the streaming server.
Password used to authenticate with the streaming server.
The MAC address of an authorized device used to authenticate with the Stalker portal, e.g. 00:1A:79:XX:XX:XX. Changing this value clears any auto-generated Serial/Device ID/Signature below so they regenerate from the new MAC.
A custom device serial number. Leave empty to auto-generate it from the MAC address (the first 13 characters of its MD5 hash, uppercased).
A custom primary device ID. Leave empty to auto-generate it from the MAC address (its SHA-256 hash, uppercased).
A custom secondary device ID. Leave empty to reuse the same value as Device ID 1.
A custom device signature. Use this if you copied Serial/Device ID values from a real device and streaming still fails — paste the signature from that same device. Leave empty to auto-generate it (SHA-256 of MAC + Serial + Device ID 1 + Device ID 2, uppercased). Changing Serial, Device ID 1, Device ID 2 or Signature itself clears the cached signature so it regenerates on save.
Skips VOD (movies/series) entries found in the source, keeping only live channels for this provider.
Creates the source/channel files needed for EPG guide data to be imported via the separate EPGImport plugin.
How XMLTV guide entries are matched to channels.
Use your own XMLTV source instead of the one the plugin would otherwise generate or auto-detect.
The URL from which EPG data for this provider will be downloaded.
The player engine used for live playback.
The player engine used specifically for catchup/archive playback, which can differ from the live playback engine above.
The delivery format requested from the provider.
The catchup/archive API scheme used to build archive playback URLs.
Lets a plain M3U provider attach a separate Xtream-Codes-style backend purely for its Movies/TV Shows catalog, without affecting the live-channel source.
Turns on a separate VOD source for this provider, available at its own URL.
How the Media Library authenticates.
The URL of the Media Library server.
Credentials used to authenticate with the Media Library server.
Access token used to authenticate with the Media Library server, instead of username/password.
Downloads and installs channel picons where the provider makes them available. Downloading happens in the background after bouquet generation.
How downloaded picon files are named.
A per-provider override of the global "Picon max threads" setting.
Controls how channels are organized into bouquets.
Uses the transport-stream ID provided by the IPTV provider, if available — useful for keeping stable service references across regenerations, which helps EPG matching stay consistent.
Uses the channel numbers and ordering supplied by the provider. Only works for "All Channels" bouquets; if global numbering is configured, numbers may be offset depending on how many bouquets precede this one.
tvg-chno="{TSID}"Search pattern used to extract the numeric TSID/channel number from the playlist, using the same {placeholder} mechanism as the Filter field, but matching digits only.
How channels are ordered within their bouquet.
Sends a specific User-Agent string, for providers that restrict streaming to particular client types.
Includes this provider when the global scheduled update runs.
Press OK to choose which bouquets/categories to exclude from generation.
Press OK to choose which VOD movie categories to exclude.
Press OK to choose which VOD series categories to exclude.
A unique internal identifier for the provider — used inside bouquet filenames and service references. Use only letters/numbers with no spaces or special characters; other characters are stripped automatically on save. Must be unique across all configured providers, and cannot be changed once the provider is saved (it's used as the provider's key).
Two more per-provider customizations that live outside the Add/Edit provider screen — managed
from the Web Manager, or by hand-editing files under <config>/M3UIPTV/<scheme>/
(<scheme> is the provider's internal id, shown in the manager).
Per-channel overrides used when a provider's own playlist/API data for a channel is missing or wrong. Edit them from the Web Manager's Substitutions button on a M3U or Xtream Codes provider (see Web Manager above), or hand-edit substitutions.xml directly.
Overrides the channel's displayed name.
Overrides the id used to match this channel against EPG data.
Overrides the Enigma2 playback system used for this channel.
Overrides the playback system used for catch-up on this channel — same values as servicetype. Not applied for Xtream Codes providers.
Each override type holds one or more rules; a rule's body is a list of key:value lines (exactly one : per line; a trailing comma is optional).
search-line (#EXTINF or #URL) picks whether its search-regex — which must contain exactly one capture group — is matched against the raw #EXTINF: line or the resolved stream URL. The captured text is looked up as key; the matching value becomes the override. Several rules can be combined under one type to cover different matching patterns.search-line/search-regex are not used — key is the provider's numeric stream_id (for servicename/servicetype) or epg_channel_id (for epgid) directly.<substitutions>
<servicename>
<substitution search-line="#EXTINF" search-regex='tvg-id="(.*?)"'>
<![CDATA[
805:AAAA 1,
806:BBBB 1
]]>
</substitution>
</servicename>
</substitutions>
Excludes groups/categories from bouquet generation. An example listing every discovered group is generated automatically the first time a provider is imported; select entries via the "Bouquets blacklist" field on the Edit provider screen (only shown once bouquets have been generated at least once).
Excludes specific VoD movie or series categories, selected via "Blacklist VoD movie categories" / "Blacklist VoD series categories" on the Edit provider screen.
Quick cross-reference of which fields appear for which provider type.
| Field | M3U | Xtream | Stalker | TVHeadend | VOD |
|---|---|---|---|---|---|
| Provider name, URL, Scheme | ✓ | ✓ | ✓ | ✓ | ✓ |
| VOD playlist format | — | — | — | — | ✓ |
| Use static URLs / Refresh interval / Filter | ✓ | — | — | — | — |
| Username / Password | — | ✓ | — | ✓ | — |
| MAC / Serial / Device ID / Signature | — | — | ✓ | — | — |
| Skip VOD entries | — | ✓ | ✓ | — | — |
| Generate EPG files + related fields | ✓ | ✓ | ✓ | ✓ | — |
| Playback system / Catchup playback system | ✓ | ✓ | ✓ | ✓ | — |
| Stream output format | — | ✓ | ✓ | — | — |
| Catchup Type | ✓ | ✓ | — | — | — |
| Media Library fields | ✓ | — | — | — | — |
| Download picons + type + threads | ✓ | ✓ | ✓ | ✓ | — |
| Bouquet creation strategy | ✓ | ✓ | ✓ | ✓ | — |
| Use provider TSID / channel numbers | ✓ | ✓ | ✓ | ✓ | — |
| Provider TSID retrieval condition | ✓ | — | — | ✓ | — |
| Channel ordering criteria | ✓ | ✓ | ✓ | ✓ | — |
| Custom User-Agent | ✓ | ✓ | ✓ | ✓ | — |
| Auto updates (if scheduler on) | ✓ | ✓ | ✓ | ✓ | ✓ |
| Bouquets blacklist (if generated before) | ✓ | ✓ | ✓ | ✓ | ✓ |
| Blacklist VoD movie/series categories | — | — | ✓ | — | — |
These checks run when you save a provider from the Add/Edit screen.