LoomiTV
Documentation

Getting a Playlist

LoomiTV doesn't come with any streams built in. This page explains, concretely, where a playlist actually comes from and how to connect one — whether that's a public open-source list, your own self-hosted server, or an Xtream-compatible API.

What is M3U?

M3U (and its variant M3U8) is a plain-text playlist format, originally designed for audio players and now the de facto standard for streaming playlists. An M3U file doesn't contain any video or audio itself — it's just a list of stream addresses, one per line, with a bit of optional metadata above each one.

Here's a minimal, annotated example:

example.m3u
#EXTM3U
#EXTINF:-1 tvg-id="demo.source" tvg-logo="https://example.com/logo.png" group-title="News",Demo News Source
https://example.com/live/demo-source.m3u8
  • #EXTM3U — required first line, marks the file as an extended M3U playlist.
  • #EXTINF — one line of metadata per stream: a duration placeholder (-1 for live streams), optional attributes like tvg-id (used to match XMLTV guide data), tvg-logo, and group-title (used for category grouping), followed by a display name.
  • The final line is the actual stream URL — usually an HLS address ending in .m3u8, sometimes a direct MPEG-TS stream.

A playlist can list one stream or several thousand. LoomiTV reads the file (or a URL that returns one), groups entries by group-title, and uses tvg-logo and tvg-id for icons and guide matching.

What is XMLTV?

XMLTV is the standard XML format for program guide (EPG) data — what's airing, when, on which stream. It's a separate file from your M3U playlist; the two are linked by matching the channel id in XMLTV to the tvg-id attribute in your M3U entries.

A minimal example:

example.xml
<tv>
  <channel id="demo.source">
    <display-name>Demo News Source</display-name>
  </channel>
  <programme start="20260810180000 +0000" stop="20260810183000 +0000" channel="demo.source">
    <title>Sample Program Title</title>
    <desc>Example programme description.</desc>
  </programme>
</tv>

Not every source provides XMLTV data. If yours doesn't, LoomiTV still plays every stream in your M3U file — you just won't get a program guide for it, only a live grid of stream names.

Using an iptv-org playlist

iptv-org is a large, community-maintained, open-source repository of publicly available and free-to-air stream links, organized by country and category. It's a real project on GitHub, not affiliated with LoomiTV.

  1. 1Go to the iptv-org repository at github.com/iptv-org/iptv.
  2. 2Open the /streams directory and pick a country or category file — each is a plain .m3u file, viewable directly in the browser.
  3. 3Use the "Raw" view on GitHub to get a direct file URL (it will start with raw.githubusercontent.com).
  4. 4In LoomiTV, choose "M3U Playlist" as your connection type and paste that raw URL directly — no download needed.

iptv-org periodically checks and prunes dead links, but availability isn't guaranteed for any individual stream — it's a volunteer-maintained index, not a service with uptime guarantees.

github.com/iptv-org/iptv ↗

Jellyfin & Plex (self-hosted)

Jellyfin and Plex are self-hosted media server platforms. Their Live TV features are built around exactly the same standards as LoomiTV: you configure a tuner source using an M3U playlist and, optionally, an XMLTV guide — commonly from a network tuner device (such as an HDHomeRun) or another M3U/XMLTV source you're authorized to use.

Once your server's Live TV / tuner setup is configured, look in its Live TV settings for the M3U playlist URL and XMLTV guide URL it's using or exposing on your local network — the exact menu path varies by version, so check your server's own documentation for the current steps. Paste that M3U URL into LoomiTV the same way as any other source, and the XMLTV URL if your server exposes one separately.

This is for content you're authorized to access through your own server setup — your own recordings, your own tuner hardware, or sources you already have rights to use.

Xtream-compatible API sources

Some media servers use a different connection method: the Xtream-compatible API. Instead of one playlist URL, it uses three separate fields — a server address, a username, and a password — issued to you by whoever runs that server.

In LoomiTV, choose "Xtream-compatible API" as your connection type and enter all three fields exactly as given. A typo in the server address or port is the most common cause of a failed connection. LoomiTV connects directly from your device to that server; it doesn't see or store anything beyond what you enter.

Troubleshooting

Double-check the URL for typos, especially the port number if there is one. If you copied it from an email or message, make sure no extra spaces or line breaks got included.

Ready for a Better Way to Watch Your Playlist?

Free to download, ready in minutes, on your Windows PC.