M3U & XMLTV

A playlist and a guide.
That's all it takes.

Give Mimir an M3U playlist and an XMLTV guide and it builds the rest: a searchable programme grid, a scheduled recorder, a channel lineup in your own order, and playback on every screen in the house.

The two halves

Two files that only make sense together

Nearly every channel source in the world publishes these two formats. Individually each is close to useless. Joined up, they're a television.

The channels

M3U playlist

A plain-text list of channels and where each one's stream lives, usually with a name, a group and a logo attached to every entry. It answers "what can I watch and where is it?", and nothing else. On its own you get a wall of channel names with no idea what's actually on.

The listings

XMLTV guide

An XML file of programmes: titles, descriptions, categories, start and finish times, each tied to a channel identifier. It answers "what's on, and when?", but points at nothing playable. On its own it's a TV guide for channels you can't tune to.

Mimir is the join

It matches every channel in your playlist to its listings in the guide, then presents the result as a proper programme grid you can search, browse and record from. Where the automatic match is wrong (and with real-world data it sometimes is), you can correct any channel's guide mapping by hand, without editing either source file.


What Mimir adds

From a raw playlist to a lineup you'd actually use

Most M3U players hand you the list exactly as it arrived. Mimir treats the source as raw material and gives you a workspace to shape it.

Search both sides at once

Browse the source's groups and channels in one pane and your own filtered lineup in another, searching each independently, so picking channels out of a huge playlist doesn't mean losing your place.

Your order, your numbers

Drag channels into the exact order you want and give them the numbers you want. What you set is what every device shows: browser, phone and television alike.

Override anything

Rename a channel, move it to another group, replace a missing or ugly logo, correct its stream address or fix its guide mapping, all stored separately from the playlist itself.

Refreshes that don't undo you

Playlist and guide data refresh independently, daily or hourly. Every customisation you've made is re-applied on top afterwards, so a refresh never costs you an evening's tidying.

Several sources, ranked

Run more than one playlist and more than one guide together, then drag them into a priority order that settles which listing wins when two cover the same channel.

Huge playlists handled

Film and box-set catalogue entries are filtered out before live channels are indexed, so a source with tens of thousands of lines doesn't become an unusable list.


Your playlist + your guide = this
1 News One
Evening Report
Business Wrap
The Long Interview
2 Sport HD
Match of the Day
Post-Match Analysis
3 Documentary
Deep Ocean, Part Two
Night Skies

Channel numbers, names and order are yours, not whatever the playlist happened to ship with.


In detail

Adding an M3U playlist and XMLTV guide

Setup is two addresses. In the source settings you paste the URL of your M3U playlist and the URL of your XMLTV guide, and Mimir fetches and indexes both. From that point the guide grid is populated and every channel is one click from playing or recording.

If your playlist and guide are files already sitting on the machine rather than URLs, that works too; a built-in path browser lets you pick them without typing a full path or copying files around. On Docker, mount the folder that holds them first — the download page shows the one-line mount — and it appears in the picker like any other folder.

Recording from a playlist

This is the part most M3U software simply doesn't do. Once a guide is attached, any programme in the grid can be recorded with a single click, with padding before and after so an overrunning match or a late-starting film is still captured whole. Recordings are written as ordinary video files into a folder you choose, and they're playable while they're still recording, so you can start a programme that began half an hour ago and skip forward as it fills in behind you.

If two recordings from the same source would clash, Mimir tells you when you schedule it, naming the programme in the way, rather than failing silently at eight o'clock.

Guide matching, and fixing it when it's wrong

Channels in an M3U carry an identifier that's supposed to match a channel in the XMLTV file. In practice sources are inconsistent: identifiers go missing, change without warning, or don't match the guide at all. When that happens the channel appears with no listings.

Mimir lets you set a channel's guide mapping by hand. Point the channel at the correct guide entry, and it stays pointed there, through every subsequent refresh, because your mapping is stored separately from the source data rather than written back into it.

Customisations survive refreshes

This is the design decision that matters most day to day. Source data and your changes are kept apart. Playlists and guides update on their own schedules; your names, numbers, groups, logos, stream overrides and guide mappings are layered back over the fresh data every time. You set the lineup up once.

You can also export the entire configuration, every selection and every customisation, to a single versioned, checksum-verified file, and import it later. That's your backup before experimenting, and the way to move a finished setup to another machine.

One-off channels

A stream that isn't in any playlist can be added on its own, with a channel number, group, logo and guide mapping of your choosing. It sits in the lineup alongside everything else and records the same way.

Where hardware tuners fit

These two formats are also how most networked TV hardware publishes itself. A SiliconDust HDHomeRun or VBox TV Gateway puts an aerial, cable or satellite feed onto your network and exposes it as a channel playlist, with VBox publishing a full XMLTV guide alongside it. To Mimir that's simply another source, which means hardware tuners and file-based sources can run side by side in the same lineup, with one guide covering both.

What Mimir doesn't do

It supplies no channels, no playlists, no guide data and no content of any kind. You bring your own source, and you're responsible for holding the rights to whatever you stream or record. Mimir is the software half of a system whose other half is entirely your choice.


Questions

M3U and XMLTV, answered

Can Mimir record from an M3U playlist?
Yes. This is the main thing it adds over a plain M3U player. Add the playlist as a source and every channel becomes recordable. Attach an XMLTV guide and you schedule recordings by clicking a programme in the grid, with padding either side.
What's the difference between M3U and XMLTV?
The M3U playlist lists the channels and where their streams are. The XMLTV file lists what's on and when. A playlist alone gives you channels with no listings; a guide alone gives you listings with nothing to play. Mimir joins them so each channel carries its own schedule.
Can I use more than one playlist at once?
Yes. Several M3U playlists and several XMLTV guides can run together, and you drag them into a priority order that decides which listing wins where two describe the same channel.
Will refreshing my playlist wipe my channel names and numbers?
No. Your customisations are stored separately from the source data and re-applied after every refresh. Names, numbers, groups, logos, stream overrides and guide mappings all survive.
My playlist has tens of thousands of entries. Will that work?
Yes. Film and episodic catalogue entries are filtered out before live channels are indexed, so a very large source doesn't become an unusable channel list. You then enable up to 1,000 live channels for your own lineup.
Can it read a playlist or guide file stored locally?
Yes. Local files are used directly with no network fetch, and you pick them with a built-in path browser rather than typing a full path. On Docker, mount the folder that holds them first (the download page shows the one-line mount) and it appears in the picker.
A channel shows no listings. Can I fix it?
Yes. That normally means the channel's identifier doesn't match anything in the guide, which is common with inconsistent sources. Set that channel's guide mapping by hand and it stays mapped through every future refresh.

Bring your own playlist.

Free server for Windows, macOS and Docker. Add a source, pick your channels, and have a real guide and recorder running tonight.

No account · No subscription · No cloud