Checking and repairing
Stream Checker..
Tries every stream of All Groups or one group, many at once, and marks each with a green star (online) or a red one (offline).
The checker then reads up to 50 of the streams that answered, to see what they really are: the picture size, the kind of picture and sound. A stream that is not what it says gets a violet star, for either of two reasons:
- The provider's own playlist announces a picture size or kind that the stream is not, or a picture where there is none.
- The channel's name claims a quality the picture is not, such as "BBC One FHD" that turns out to be 720 lines. The studio counts 2160 lines and up as 4K, 1080 as FHD, 720 as HD and anything less as SD.
The last page counts what was Online, Offline and Tags that do not match (with how many were read, when that was fewer than the ones online). The number of checks at once and the time-outs are set on the Stream checker page of the settings (an expert page). A playlist that names its own user agent or referer is checked with them, the way it will be played.
Before you start the Stream Checker, make sure nothing is playing from the same provider: a stream you are watching takes up a connection and can make others look offline.
Checking one stream
Double-click a stream's URL, or press the "..." beside URL in the inspector, for a Stream Check of that one stream: whether it answered, the status code and content type, what it is carried in, the picture, the sound and the subtitles, and what the playlist says against what was found.
The status stars
| Star | Meaning |
|---|---|
| Grey | Not changed |
| Blue | Changed |
| Green | Online |
| Red | Offline |
| Violet | Not what it says it is |
The star is at the end of each row. Click the Status heading for the legend with the counts for the group. Groups have a grey or blue star of their own.
Delete offline streams
Removes every stream the checker found offline from the groups picked in the group list. It can be undone.
Playlist Health Center..
Tools > Playlist Health Center.. has three jobs.
Validate playlist and review all findings
Lists everything worth knowing, each marked Information, Warning or Error, with its group, stream and what is wrong.
Findings
| Finding | What it means |
|---|---|
| Empty playlist | The playlist has nothing in it. |
| Empty group | A group with no streams. |
| No name | A stream without a name. |
| No address | A stream without an address. |
| Bad address | Not a complete web address. |
| Duplicate address | A later copy of a stream already in the playlist. |
| Duplicate tvg-id | Two streams with the same guide identifier. |
| Offline | Found offline by the Stream Checker. |
| Name claims | The channel's name claims a quality the picture is not (a violet star). |
| Tags differ | The playlist announces a picture size or kind the stream is not (a violet star). |
| Guide | The playlist names no guide, or the guide is not loaded yet (open the TV Guide view first and check again). |
| No tvg-id | The stream has no guide identifier. |
| Not in the guide | The guide has no such channel. |
| No programmes | The guide has the channel but nothing on it. |
| No logo | The stream has no logo. |
The guide and logo findings are made for live channels only. Tick findings and press Next to act on them: a ticked duplicate, offline stream, or stream with no or a bad address is removed; a ticked Name claims is put right, so "BBC One FHD" becomes "BBC One HD". The rest are a list to work through: Save as list.. writes all the findings to a text file with a box in front of each to tick off.
Find and remove selected duplicate streams
Shows the same list with everything already ticked, ready to go.
Compare with a provider playlist and apply selected changes
Compares the playlist in front with another M3U playlist, a file (Browse...) or a web address. A stream is recognised by its tvg-id, or by its address when it has none. You see every stream the other playlist Added, Removed or Modified (a different name, address or length), all ticked; untick what you want to keep as it is and press Next to apply the rest. This is how you merge a provider's new list into your own. The playlist view colours the rows while the comparison is open (green added, red removed, yellow changed); Tools > Close comparison takes the colours away. Tick Save as provider profile, with a name and a number of minutes, to keep comparing with that source on a schedule.
Whatever the Health Center changes is one step to undo, and a snapshot of the playlist is kept first. The last page says how many changes were made and where the snapshot is.
EPG codes: matching channels to the guide
A guide finds a channel by its tvg-id. EPG codes are ready-made lists of those identifiers, grouped in categories. The studio comes with three code sets: SmartIPTV, BaZnGa and DiamondTV. Choose the one to use under Settings > TV guide (TV Guide Provider). The code sets are brought up to date with the program's update check.
- Assign EPG Codes.. matches the streams of All Groups, or of one group (optionally against one category of the code set), to the code set, by their names and their current tvg-id, and writes the best match into tvg-id. A match has to be at least as close as the Fuzzy match threshold under Settings > Guide alignment (an expert page). The result is one step to undo.
- The TV Guide ID editor (the "..." beside tvg-id) does the same for one stream, with you choosing.
Making your own code set
Tick Show developer tools under Settings > Common and Tools gains Generate EPG Codes... It builds a code set from The open playlist (its groups become categories), A TV guide (its channels, sorted by country), An Xtream account (its live categories; pick a saved provider profile or type the playlist address with user name and password), or The SmartIPTV code list. Give it a name, and choose where to keep it: Only for me, or Next to the application, for everyone on this machine. A set with the name of one that is already there replaces it, which is how you bring your own set up to date; a set of your own also takes the place of a shipped set of the same name.
The wizard's last step, Publish, sends the new set for review by the people who keep the code sets. It needs a key, entered on the Publishing code sets page of the settings.
Download stream logo's..
Saves the logo of every stream, or of the streams of one group, as picture files in a folder you choose (the folders used before are offered again). Choose how the files are named: Original filename, tvg-id tag, tvg-name tag or Stream name (the name the stream shows in the list). Each file gets the logo's own picture extension, or .png when its address has none.
Frequently asked questions
What does ERD-Playlist Studio do?
ERD-Playlist Studio builds and looks after IPTV playlists. Open a playlist from a file or from your provider, tidy it up, check which channels still work, match it to a TV guide, and watch, record and download what is on it.
What do I need to run ERD-Playlist Studio?
- Windows 10 or later.
- A 64-bit PC (x64), a Windows on Arm PC (arm64) or a 32-bit PC (x86).
- Administrator rights to install.
- Windows' own media support.
The player says "Windows cannot decode this". What can I do?
The player uses the decoders built into Windows. The "N" editions of Windows ship without Windows' own media support: there the studio starts and works, but the player says "Windows cannot decode this" until you add the Media Feature Pack from Windows' Optional features. When Windows has no decoder for a single track, the player names it (for example "HEVC: no decoder on this computer") and plays the rest of the stream.
Where can a playlist come from?
A file you have (M3U, Smart IPTV, Enigma/Dreambox bouquets, XSPF, ASX, WPL or PLS), an address from your provider, an Xtream Codes account, a Stalker (Ministra) portal, the free channels of iptv-org or radio stations from radio-browser.info.
Which formats can I save and export to?
Save and Save As write M3U (.m3u or .m3u8), Smart IPTV, Enigma/Dreambox, ASX, WPL, PLS or XSPF. Export also writes the ticked groups as an HTML, CSV, JSON, Markdown or XML report. Files are written as UTF-8 text.
Can I undo changes to a playlist?
Yes. Every change to a playlist can be undone with Undo (Ctrl+Z) and done again with Redo (Ctrl+Y), each playlist keeping its own history. Bigger jobs, such as an import, a find and replace or a sort, are one step each. Locking is not an undo step.
How do I find out which channels still work?
Run Stream > Stream Checker... It tries every stream of All Groups or one group and marks each with a green star (online) or a red one (offline). It then reads up to 50 of the streams that answered, and a stream that is not what it says gets a violet star. Delete offline streams removes what was found offline, and can be undone.
What do the coloured stars mean?
Grey: not changed. Blue: changed. Green: online. Red: offline. Violet: not what it says it is. An orange star before a name marks a favourite; a red star after a name marks a locked stream.
How do I merge my provider's new playlist into my own?
Use Tools > Playlist Health Center.. and choose Compare with a provider playlist and apply selected changes. You see every stream the other playlist Added, Removed or Modified, all ticked; untick what you want to keep as it is and press Next to apply the rest. Tick Save as provider profile to keep comparing with that source on a schedule.
How do I keep a playlist up to date with my provider automatically?
Set up a provider profile with Tools > Provider Profiles... While the studio is open it looks every minute for enabled profiles that are due, and brings them up to date in the background. Profiles can also be brought up to date with the studio closed, with M3UEditorCLI sync_all --due-only in Task Scheduler.
Can a provider profile empty my playlist by mistake?
No. When the provider sends back an empty playlist while your target has streams in it, the run stops rather than emptying your playlist. Before any change is made, a snapshot of the target is kept, and the new playlist is only put in place once it has been read back and found sound.
How do I restore an earlier version of a playlist?
Before the Playlist Health Center or a provider profile changes a playlist, the studio saves a copy of it as it was. The last ten are kept for each playlist. Tools > Restore snapshot.. lists them, newest first; the one you pick opens as a separate playlist called Restored- followed by the name.
How do I match my channels to a TV guide?
A guide finds a channel by its tvg-id. Choose an EPG code set (SmartIPTV, BaZnGa or DiamondTV) under Settings > TV guide, then use Tools > Assign EPG Codes.. to write the best match into tvg-id for all groups or one group. The TV Guide ID editor (the "..." beside tvg-id) does the same for one stream.
The TV Guide shows data for only a few of my channels. Why?
The status bar says how many of the playlist's channels the guide actually has data for. A low number usually means the channels' tvg-id tags do not match the guide.
All the times in the guide are an hour out. How do I fix that?
Set Settings > Guide alignment > Guide time offset (minutes, may be negative). Guide alignment is an expert page: tick Show expert settings under Settings > Common to see it. For a single channel, right-click its name in the guide and choose Guide offset.
Can I pause live TV?
Yes. Press Space to pause a live channel; the player keeps recording it into a buffer on disk, so you can carry on where you paused. The size of the buffer is "Live TV kept for pausing (MB, 0 is off)" on the Playback settings page, 512 MB unless you change it.
Can I watch a programme that has already been on?
When your provider keeps catch-up for a channel and the TV Guide knows what is on, Backspace offers the programme on now from its start, and going back past the pause buffer offers the programme at that moment. Press Y to switch.
Which streams can the player not play?
rtsp, rtmp, srt and mms addresses cannot be opened, and the player says so. Neither can streams protected with DRM.
Can I play a stream on my television?
Yes, with Send to TV. It finds Chromecasts, Google TVs and televisions with Google Cast built in, AirPlay receivers such as an Apple TV, and DLNA televisions and players on your network. To put a whole playlist on a television running the Smart IPTV app, use Tools > Send to Smart IPTV...
Can I record while the studio is closed?
Yes. With "RecordingCLI run" going in the background, bookings are recorded and downloads carry on while the studio is closed, and the two hand the work back and forth by themselves. Series rules need the studio, because it reads the guide.
Will my computer wake up for a recording?
While recordings are booked or running, the studio keeps the computer from going to sleep, and sets it to wake up a minute before the next booking. If Windows will not allow either, you are told when you book, so you can leave the computer on or turn on wake timers in the Windows power plan.
What happens when my provider only allows a few connections?
The studio asks the provider (Xtream Codes accounts say) and holds a recording or download back until a connection is free rather than having it refused. When more recordings are due than there are connections, the one with the higher Priority goes first.
Can Kodi, Plex, Emby or Jellyfin use my playlist's films and series?
Yes. Tools > STRM Library.. writes the playlist's films and series as a library of small .strm files that Kodi, Plex, Emby or Jellyfin can list and play without anything being downloaded, with .nfo files if you like. Downloads can also carry an .nfo file beside them.
Do I need accounts for film details and subtitles?
TMDB and TVDB both need a free account of your own; put the keys under Settings > Databases. No key ships with the studio, and a database with no key is simply not asked. Keys are stored encrypted for your Windows account. Subtitles come from OpenSubtitles.com with your own OpenSubtitles API key under Settings > Subtitle search; with no key nothing is fetched, and a user name and password are optional. CDDB and MusicBrainz need no account.
Is my Trakt password stored in the studio?
No. Connect.. under Settings > Trakt shows a code to type on Trakt's website; your Trakt password is never asked for.
How can I lock channels from children?
Right-click a group or streams and choose Lock, and set a code under Settings > Parental lock. From then on, watching a locked stream, sending it to a TV, or recording or downloading it asks for the code first. The lock is written into the playlist file; the code is kept on this computer only and never written into a playlist.
Which languages does ERD-Playlist Studio speak?
Fifteen: English, Dutch, German, French, Spanish, Italian, Portuguese (Brazil), Portuguese (Portugal), Polish, Turkish, Russian, Ukrainian, Greek, Romanian and Swedish. Choose one under Settings > Common > Language and press OK; the whole program changes at once, without restarting.
Can I open two playlists in separate windows?
Yes. Untick "Allow only one instance" under Settings > Instances (an expert page). With more than one window open, the first one looks after the recording schedule, the unattended refresh of your provider profiles, the download queue and the AI assistant connection. Only that window records and downloads, so nothing is done twice.
Can I use ERD-Playlist Studio from scripts?
Yes. M3UEditorCLI works on playlists and RecordingCLI on recordings and downloads. Both answer in JSON on standard output, and several commands can go on one line. "help" after either tool's name lists everything it can do.
Can an AI assistant work with my playlists?
An AI assistant that supports the Model Context Protocol (MCP) can read and edit your playlists, book recordings and look after your downloads: either on the playlist open in the studio (Settings > AI assistants, off by default, only programs on this computer can connect), or on any playlist file with M3UEditorCLI mcp.
Is a licence key needed?
Yes. ERD-Playlist Studio needs a valid licence key to run. Enter it with Help > Activate License..; the command line tools use the same key. Please do not share your key: a key that is shared can be revoked.
Are updates checked to be genuine?
Yes. Before anything is offered, the answer from the update server is checked to be genuine, and the downloaded installer is checked against it before it runs. An update can never take you back to an older version, and your settings are kept.
What does uninstalling leave behind?
The uninstaller leaves your own things where they are: your settings, caches and kept guides, recording schedule and download queue, logs, earlier versions of your playlists, and every recording and download. To start completely afresh, delete the program's folder in your local application data folder and in your Documents folder.