Enigma2 System Plugin

IPTV that behaves like real TV on your Enigma2 box

M3UIPTV turns M3U playlists, Xtream Codes panels, Stalker (Ministra/MAG) portals and TVHeadend servers into native Enigma2 bouquets — complete with picons, EPG, catchup/archive playback and a full Video on Demand library.

OpenPLI OpenATV OpenViX OpenBH Egami GPL-3.0
Overview

One plugin, every IPTV source

M3UIPTV is a system plugin for Enigma2, the Linux-based firmware running on satellite, cable and IPTV set-top boxes from the OpenPLI / oe-alliance family of images (OpenPLI, OpenATV, OpenViX, OpenBH, Egami and similar). It runs natively inside the box's own menu system — no companion app, no phone, no separate server required.

📺

Real bouquets, not a hacky player

Channels from your IPTV sources are converted into genuine Enigma2 bouquets, so they zap, record, timeshift and appear in the channel list exactly like satellite or cable channels.

🔌

Multi-provider by design

Add as many M3U, Xtream Codes, Stalker portal, TVHeadend or standalone VOD sources as you like, each with its own settings, refresh schedule and blacklist.

🗂️

EPG, picons & catchup included

Generates EPGImport-compatible guide data, downloads channel logos automatically, and adds catchup/archive playback directly into the EPG screens you already use.

🎬

Video on Demand built in

A dedicated Movies and TV Shows browser aggregates VOD catalogs from every configured provider, with resume points, poster art and optional TMDb/IMDb lookups.

Features

What M3UIPTV actually does

Every feature below is configured from the box's own menus, or from the optional web manager.

🧩

Bouquet auto-generation

Choose per-group bouquets, one "All Channels" bouquet, both, or a master bouquet with sub-bouquets — plus channel ordering and a blacklist to exclude unwanted groups.

📡

EPGImport integration

Generates XMLTV source/channel files consumed by the community EPGImport plugin, including "dynamic" URLs that re-resolve on every fetch for providers that rotate their EPG link.

🖼️

Automatic picons

Downloads channel logos in parallel (configurable thread pool) and links them into your skin's picon path, without ever overwriting picons you've already installed yourself.

⏪

Catchup / archive TV

Adds a "play archive" action right inside the Graph Multi EPG and single EPG screens, with support for Standard, Xtream, Stalker and Flussonic-style catchup URL schemes.

🕹️

Movies & TV Shows

Genre browsing, search, resume/progress icons and cover art, aggregated across every Xtream, Stalker and VOD-enabled provider into one screen.

🌐

Web-based manager

An optional local web UI (default port 8090) for adding and editing providers from a PC or phone browser, secured with the box's own system login.

⏰

Scheduled updates

Set a time of day and days of the week to automatically refresh bouquets and EPG for every provider that opts in — no manual regeneration needed.

🛠️

Per-provider tuning

Custom User-Agent strings, playback engine selection (DVB / GStreamer / Exteplayer3), stream format (TS/HLS) and account-info lookups (expiry, connections, server details).

🔀

Substitutions & blacklists

Regex-based overrides for a channel's name, EPG id, service type or catch-up type, plus group/category exclusion lists — editable per provider from the web manager.

Supported Sources

Bring your own IPTV provider

Five provider types cover the vast majority of IPTV services in use today.

M3U / M3U8 Playlist

Any playlist URL or local file.

  • Reads #EXTINF, group-title, tvg-id, tvg-logo
  • Auto-detects embedded XMLTV EPG URL
  • Optional attached VOD "Media Library"

Xtream Codes

Panel URL + username + password.

  • Live TV, VOD and Series via the standard API
  • Auto-detects server timezone
  • Standard and 60-second catchup formats

Stalker Portal

Portal URL + device MAC address.

  • Auto-detects the portal entry point
  • Mimics a MAG250 STB device
  • Paginated VOD categories for large catalogs

TVHeadend

Server URL + username + password.

  • Pulls channels from TVHeadend's own playlist endpoint
  • EPG from TVHeadend's XMLTV export

Standalone VOD

A playlist used purely as a movie library.

  • M3U/M3U8 or simple name,url text format
  • No live bouquets, no catchup — VOD only

Catchup schemes

Selectable per provider.

  • Standard, Append, Shift
  • Xtream Codes, Xtream 60s
  • Stalker, Flussonic, VoD-style
Complete Tutorial

From install to watching TV

Follow these steps in order the first time you set up M3UIPTV.

1

Prerequisites

Before installing, make sure you have:

  • An Enigma2 box running an OpenPLI / oe-alliance family image (OpenPLI, OpenATV, OpenViX, OpenBH, Egami, etc.)
  • A working network connection on the box — required for any online M3U, Xtream, Stalker or TVHeadend source
  • Login credentials or URLs from your IPTV provider (playlist URL, or panel URL + username/password, or portal URL + MAC address)
Note: the plugin depends on python3-requests, python3-multiprocessing and python3-zoneinfo, which are pulled in automatically as package dependencies — you don't need to install them yourself.
2

Install the plugin

M3UIPTV is distributed as a system plugin package (enigma2-plugin-systemplugins-m3uiptv) through the OpenPLI / oe-alliance feed — the same feed your image already uses for updates.

  • Open your image's Plugin Manager / Green Panel → Download Plugins, search for M3UIPTV and install it, or
  • Install it manually via opkg install enigma2-plugin-systemplugins-m3uiptv over SSH/Telnet if your feed doesn't list it yet
Restart required: after installation, restart the GUI (or the whole box) so the new menu entries register.
3

Install EPGImport (optional, recommended)

M3UIPTV generates EPG source and channel files for programme guide data, but it doesn't import EPG itself — that's handled by the separate, widely-used EPGImport plugin. Install it the same way (Plugin Manager → Download Plugins → search "EPGImport") if you want a filled-in TV guide for your IPTV channels.

If you skip this step, everything else still works — you just won't get guide data for the imported channels.

4

Review the global settings

Go to Menu → Settings → IPTV → Settings. The defaults work for most setups, but it's worth knowing what's here:

SettingWhat it does
Enable IPTV managerMaster on/off switch for the whole plugin (requires restart)
Check network before fetchingWaits for connectivity before trying to reach a provider
Picon max threadsHow many channel logos download in parallel
Show VOD menu entryShows/hides "Video On Demand" in the main menu and/or Extensions
VoD playback systemGStreamer/HiSilicon, or Exteplayer3 if ServiceApp is installed
Catchup/Archive EOF timeoutHow long to wait before treating an archive stream as finished
Web interfaceEnables the browser-based playlist manager (see step 11)
Schedule updateTurns on automatic, unattended bouquet/EPG refresh (see step 12)
5

Add a provider

Go to Menu → Settings → IPTV → Playlist manager and press Green to add a new provider. Pick the type that matches your service, then fill in its fields:

TypeYou need
M3U / M3U8A playlist URL, or a local file path
Xtream CodesPanel URL, username, password
Stalker portalPortal URL, device MAC address
TVHeadendServer URL, username, password
Video on DemandA movie/series playlist URL (no login needed)

Also give the provider a friendly name and a unique scheme (an internal ID with no spaces). Everything else — EPG matching, bouquet strategy, picon downloads, catchup type, User-Agent — has a sensible default and can be left as-is on a first pass.

Tip: you can add multiple providers of different types at once — each one is managed and refreshed independently.
6

Generate bouquets

Back in the Playlist manager list, select your new provider and press Yellow to generate its bouquets. This downloads and parses the source, creates the Enigma2 bouquet(s), downloads picons if enabled, and writes the EPGImport source files. A status message confirms success or reports a network/parsing error.

Exit to the channel list — your IPTV channels now appear as regular bouquets, ready to zap, add to favorites, or record.

7

Import EPG data

If you installed EPGImport in step 3, open it from its own menu entry and run an import. M3UIPTV's generated source file is picked up automatically — no extra configuration needed — and your new channels' programme guide fills in.

8

Watch live channels

Your IPTV bouquets behave exactly like satellite or cable bouquets: browse the channel list, zap between them, use timeshift, or start a recording — all through the box's normal remote and UI.

9

Use Video on Demand

Go to Menu → Video On Demand → Movies or TV Shows (or find them in the Extensions/blue-button menu, depending on your settings). Browse by provider or genre, or search directly.

  • Partially-watched titles show a resume/progress icon
  • Poster art loads automatically if enabled in Settings
  • Press Yellow for TMDb/IMDb info lookup, if either plugin is installed
10

Use catchup / archive TV

For providers that support it, open the EPG for a channel — Graph Multi EPG, single EPG or grid EPG all work — and look for the catchup icon on past programmes. Select one and press play to watch it back from the archive instead of live.

Note: availability depends entirely on whether your provider offers server-side catchup, and how far back (the "Catchup/Archive EPG history window" setting controls how far the EPG lets you scroll back).
11

Use the web manager (optional)

Prefer managing providers from a PC or phone instead of the remote? Enable it in Settings → Enable Playlist manager web interface, note the port (default 8090), and open http://<box-ip>:8090/ in a browser.

  • Same provider types and fields as the on-box screens
  • Add, edit and delete providers from a simple web form
  • Optionally protected with your box's own system login (Basic Authentication) — the same credentials used for Telnet/FTP/the box's built-in web interface
12

Automate updates & maintain providers

To keep bouquets and EPG fresh without manual work:

  • Turn on Schedule update in Settings, and set a time of day plus days of the week
  • Enable Auto updates on each provider you want included in that schedule

To update a single provider on demand, revisit Playlist manager and press Yellow again at any time. To remove a provider completely — its bouquets, VOD data, EPG sources and picons — edit it and press Yellow → Delete.

Looking for exact field-by-field explanations of every setting? See the full settings documentation.
FAQ

Good to know

Do I need EPGImport for M3UIPTV to work?

No. M3UIPTV works fully without it — you just won't get a programme guide for the imported channels. EPGImport is an independent, optional plugin that consumes the source files M3UIPTV generates.

Can I add more than one IPTV provider?

Yes. You can add any number of M3U, Xtream Codes, Stalker portal, TVHeadend and standalone VOD sources at the same time, each configured and refreshed independently.

Will it overwrite my existing picons?

No — picons you've already installed yourself are never overwritten. M3UIPTV only adds logos for channels that don't already have one.

Does catchup/archive playback work with every provider?

Only if your provider actually offers server-side catchup/archive. M3UIPTV supports several URL schemes (Standard, Xtream, Stalker, Flussonic and more) to match how different providers implement it, but the underlying capability has to come from the provider itself.

Is the web manager exposed to the internet?

No — it listens on your box's local network address only. It's a convenience for managing providers from a browser on your own network, and can be password-protected with your box's existing system login.

What images/receivers is this compatible with?

Any Enigma2 image from the OpenPLI / oe-alliance family with Python 3 support — including OpenPLI, OpenATV, OpenViX, OpenBH and Egami.