Reference Documentation

Every setting, explained

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.

Contents

Section 1

Global Settings

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.

General

Enable IPTV manager *Yes/No — default: Yes

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.

Check for Networkoff / 1,2,3,5,7,10 sec — default: 2 sec

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.

Request timeoutoff / 1,2,3,5,7,10 sec — default: 2 sec

Timeout in seconds for the HTTP requests used to fetch a playlist. Increase this on slow or unreliable provider servers to avoid premature failures.

Picon max threads50–1000, step 50 — default: 100

Maximum number of parallel threads used when downloading channel picons. If the box returns errors or fails to download some picons, lower this number.

Note: this is the global fallback. Each provider also has its own "Picon max threads" field (see Per-Provider settings) that overrides this value for that provider specifically.

Menus & Playback

Show 'Video on Demand' menu entry *Yes/No — default: Yes

Allows the "Video on Demand" entry to appear in the main menu.

Show 'Video on Demand' extensions entry *Yes/No — default: No

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.

Bouquet name character casedefault: UPPER case

Specifies the character case used for generated bouquet names and titles.

Choices
Original case · lower case · UPPER case
VoD playback systemdefault: HiSilicon/GStreamer

Specifies the type of service generated for Video on Demand items.

Choices
HiSilicon or GStreamer (label depends on your box's media service) · Exteplayer3 (only shown if the ServiceApp plugin is installed)
Download and display posters for VoD itemsYes/No — default: Yes

Download and display poster/cover artwork for VoD items, where the provider supplies it.

Size of buffer for http streaming1–20 MB — default: 2 MB

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.

Choices
1 MB · 2 MB · 4 MB · 8 MB · 16 MB · 20 MB
Fallback location for piconsConditional

Fallback location for picons, used when the currently active picon location can't be detected automatically.

Only shown when more than one candidate storage mount is detected on the box.

Catchup & EPG Server

Enable catchup/archive entries in EPG screens for periodcore Enigma2 setting

Enables the ability to scroll back in EPG screens to use older entries for invoking catchup/archive/timeshift playback.

Catchup/Archive EOF timeout1,2,3,5,7,10,15 sec — default: 3 sec

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.

Local EPG server listening port *number — default: 9010

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.

Web Manager

Enable Playlist manager web interface *Yes/No — default: No

Enables a browser-based interface for viewing, adding, editing and deleting IPTV providers, reachable from any device on the local network.

Web interface listening port *Conditionalnumber — default: 8090

The TCP port on which the Playlist manager web interface listens.

Only shown when "Enable Playlist manager web interface" is set to Yes.
Require authentication *ConditionalYes/No — default: Yes

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.

Only shown when "Enable Playlist manager web interface" is set to Yes.
Substitutions buttonM3U & Xtream Codes providers

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.

Recording & Timeshift

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.

Recordings - convert IPTV servicetypes to 1Conditional

Recording servicetypes 4097, 5001 and 5002 aren't possible with external players, so this converts recordings of those types to servicetype 1 instead.

Timeshift optionsConditional, per-image

A group of standard Enigma2 timeshift settings, shown only where the underlying config path exists on your image:

Auto-start timeshift after…Starts timeshift automatically in the background after a set delay.
Show warning when timeshift is stoppedPrompts with an option to stop or continue when timeshift would otherwise end.
Timeshift-save action on zapWhether timeshift continues when the channel is set to record.
Stop timeshift while recording?Stops timeshift use during an active recording — advisable for USB-stick storage.
Use timeshift seekbar while timeshifting?Allows using the seekbar to jump to a point within the event.
Skip jumping to live while timeshifting with pluginsAllows timeshift to be used together with alternative audio plugins.
ServiceApp playback settingsOnly if ServiceApp plugin installed
Enigma2 playback systemSwitches the playback engine to one of the players available in the ServiceApp plugin.
Player selectionSelects which ServiceApp player to use. Only shown if the setting above is enabled.

Scheduled Updates

Schedule updateYes/No — default: No

Turns on automated updates of providers. Also requires enabling "Auto updates" individually on each provider that should be refreshed by the schedule.

Schedule time of dayConditionaldefault: 01:00

The time of day at which the scheduled update runs.

Only shown when "Schedule update" is Yes.
Schedule days of the weekConditional

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.

Only shown when "Schedule update" is Yes.
Section 2

Per-Provider Settings

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.

Identity & Source

Provider TypeAdd screen only

Selects what kind of source this provider is. Locked once the provider is created — to change type, delete and re-add the provider.

Choices
M3U/M3U8 · Xtream Codes · Stalker portal · TVHeadend server · Video on Demand
Provider nameRequired

A friendly name for the provider, used as the bouquet name and shown in the infobar while watching.

M3UXtreamStalkerTVHeadendVOD
URLRequired

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.

M3UXtreamStalkerTVHeadendVOD
VOD playlist format

The format of the standalone VOD playlist.

Choices
M3U/M3U8 · TXT
VOD
Use static URLsYes/No

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.

M3U
Refresh intervalConditionaldefault: 1 hour

How often the playlist is automatically re-fetched and updated.

Choices
off · on · 1, 2, 3, 4, 5, 6, 12 or 24 hour(s)
Only shown when "Use static URLs" is No.
M3U
FilterConditionaldefault: 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.

Only shown when "Use static URLs" is No.
M3U

Authentication

UsernameRequired for Xtream

Username used to authenticate with the streaming server.

XtreamTVHeadend
PasswordRequired for Xtream, masked input

Password used to authenticate with the streaming server.

XtreamTVHeadend
MAC address

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.

Stalker
SerialOptional, advanced

A custom device serial number. Leave empty to auto-generate it from the MAC address (the first 13 characters of its MD5 hash, uppercased).

Stalker
Device ID 1Optional, advanced

A custom primary device ID. Leave empty to auto-generate it from the MAC address (its SHA-256 hash, uppercased).

Stalker
Device ID 2Optional, advanced

A custom secondary device ID. Leave empty to reuse the same value as Device ID 1.

Stalker
SignatureOptional, advanced

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.

Stalker
Skip VOD entriesYes/No — default: Yes

Skips VOD (movies/series) entries found in the source, keeping only live channels for this provider.

XtreamStalker

EPG

Generate EPG files for EPGImport pluginYes/No — default: Yes

Creates the source/channel files needed for EPG guide data to be imported via the separate EPGImport plugin.

M3UXtreamStalkerTVHeadend
EPG matching conditionConditional

How XMLTV guide entries are matched to channels.

Choices
By tvg-id · By channel name
Only shown when "Generate EPG files" is Yes.
M3U
Use custom XMLTV URLConditionalYes/No — default: No

Use your own XMLTV source instead of the one the plugin would otherwise generate or auto-detect.

Only shown when "Generate EPG files" is Yes.
M3UXtreamStalkerTVHeadend
Custom XMLTV URLConditional

The URL from which EPG data for this provider will be downloaded.

Only shown when both "Generate EPG files" and "Use custom XMLTV URL" are Yes.
M3UXtreamStalkerTVHeadend

Playback & Catchup

Playback system

The player engine used for live playback.

Choices
DVB · GStreamer/HiSilicon · Exteplayer3 (if ServiceApp installed)
M3UXtreamStalkerTVHeadend
Playback system for Catchup/Archive

The player engine used specifically for catchup/archive playback, which can differ from the live playback engine above.

Choices
DVB · GStreamer/HiSilicon · Exteplayer3 (if ServiceApp installed)
M3UXtreamStalkerTVHeadend
Stream output format

The delivery format requested from the provider.

Choices
Transport stream (TS) · HLS (M3U8)
Note: setting Playback system to DVB makes it impossible to use HLS as the output format.
XtreamStalker
Catchup Type

The catchup/archive API scheme used to build archive playback URLs.

Choices (M3U)
Standard · Append · Shift · Xtream Codes · Xtream Codes 60 · Stalker · Flussonic · VoD
Choices (Xtream)
Xtream Codes · Xtream Codes 60 (restricted list)
M3UXtream

Media Library (M3U only)

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.

Enable Media LibraryYes/No — default: No

Turns on a separate VOD source for this provider, available at its own URL.

M3U
Media Library typeConditional

How the Media Library authenticates.

Choices
Xtream Codes (Username/Password) · Xtream Codes (Token)
M3U
Media Library URLConditional

The URL of the Media Library server.

M3U
Media Library Username / PasswordConditional — type = Username/Password

Credentials used to authenticate with the Media Library server.

M3U
Media Library Access TokenConditional — type = Token

Access token used to authenticate with the Media Library server, instead of username/password.

M3U

Picons & Bouquets

Download piconsYes/No — default: No

Downloads and installs channel picons where the provider makes them available. Downloading happens in the background after bouquet generation.

M3UXtreamStalkerTVHeadend
Picons typeConditional

How downloaded picon files are named.

Choices
Picons by name (SNP) · Picons by service reference (SRP)
Only shown when "Download picons" is Yes.
M3UXtreamStalkerTVHeadend
Picon max threadsConditional

A per-provider override of the global "Picon max threads" setting.

Choices
off · No Threads · 50 through 950 in steps of 50
Only shown when "Download picons" is Yes.
M3UXtreamStalkerTVHeadend
Bouquet creation strategy

Controls how channels are organized into bouquets.

Choices
Only bouquets for groups · Only bouquet for "All Channels" · Bouquets for "All Channels" and groups · Bouquet for provider with sub-bouquets for groups
M3UXtreamStalkerTVHeadend

Advanced & Blacklists

Use provider TSIDYes/No — default: No

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.

M3UXtreamStalkerTVHeadend
Use channel numbers from providerConditional

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.

Only shown when "Use provider TSID" is Yes.
M3UXtreamStalkerTVHeadend
Provider TSID retrieval conditionConditionaldefault: 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.

Only shown when both "Use provider TSID" and "Use channel numbers from provider" are Yes.
M3UTVHeadend
Channel ordering criteriaConditional

How channels are ordered within their bouquet.

Choices
Use provider order · By channel number · Alphabetically
Hidden only when both "Use provider TSID" and "Use channel numbers from provider" are enabled, since ordering is then driven entirely by the provider.
M3UXtreamStalkerTVHeadend
Custom User-Agent

Sends a specific User-Agent string, for providers that restrict streaming to particular client types.

Choices
off · Android 15 · iOS 17 · Windows 11 (Edge) · VLC 3.0.18
M3UXtreamStalkerTVHeadend
Auto updatesConditionalYes/No — default: No

Includes this provider when the global scheduled update runs.

Only shown when the global "Schedule update" setting is enabled.
M3UXtreamStalkerTVHeadendVOD
Bouquets blacklistConditional

Press OK to choose which bouquets/categories to exclude from generation.

Only shown when editing a provider that has already generated bouquets at least once.
M3UXtreamStalkerTVHeadendVOD
Blacklist VoD movie categoriesConditional

Press OK to choose which VOD movie categories to exclude.

Only shown when "Skip VOD entries" is No.
Stalker
Blacklist VoD series categoriesConditional

Press OK to choose which VOD series categories to exclude.

Only shown when "Skip VOD entries" is No.
Stalker
SchemeRequired, locked after creation

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).

M3UXtreamStalkerTVHeadendVOD
Section 3

Per-Provider Extras

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).

Substitutions (M3U & Xtream Codes only)

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.

servicename

Overrides the channel's displayed name.

M3UXtream
epgid

Overrides the id used to match this channel against EPG data.

M3UXtream
servicetype

Overrides the Enigma2 playback system used for this channel.

Values
1 = DVB · 4097 = GStreamer/HiSilicon · 5002 = Exteplayer3 (needs ServiceApp)
M3UXtream
catchuptypeM3U only

Overrides the playback system used for catch-up on this channel — same values as servicetype. Not applied for Xtream Codes providers.

M3U
How matching works

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).

M3U/M3U8A rule's 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.
Xtream Codessearch-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>

Blacklists

Bouquets blacklist

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).

M3UXtreamStalkerTVHeadendVOD
VoD movie/series category blacklist

Excludes specific VoD movie or series categories, selected via "Blacklist VoD movie categories" / "Blacklist VoD series categories" on the Edit provider screen.

Stalker
Section 4

Field Applicability Matrix

Quick cross-reference of which fields appear for which provider type.

FieldM3UXtreamStalkerTVHeadendVOD
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——✓——
Section 5

Validation Rules on Save

These checks run when you save a provider from the Add/Edit screen.

  • Provider name, URL and Scheme must all be filled in — saving is blocked with "All fields must be filled in." otherwise.
  • Scheme must be unique among all configured providers when adding a new one; a duplicate is rejected with a message naming the conflicting value.
  • For Provider Type Xtream Codes, Username and Password are also required.
  • On the day-of-week schedule screen, at least one day must remain enabled.
↑