How to Set Up M3U Playlists on Android TV
If you have an IPTV subscription and want to watch live TV on your Android TV, you will need to load your provider's M3U playlist into a media player app. This guide walks you through everything from understanding what an M3U file is to getting your channels playing on the big screen with TIVRA.
What Is an M3U Playlist?
An M3U file is a plain-text playlist format originally developed for multimedia players. In the IPTV world, M3U playlists have become the standard way to distribute channel lists. The file contains a series of entries, each with metadata (channel name, group, logo URL) and a stream URL pointing to the actual video source.
Here is what a typical M3U entry looks like:
#EXTM3U
#EXTINF:-1 tvg-id="bbc1.uk" tvg-name="BBC One" tvg-logo="https://example.com/bbc1.png" group-title="UK Channels",BBC One
http://provider-server.com:8080/live/username/password/12345.m3u8
The #EXTINF line holds the channel metadata, and the line that follows is the direct stream URL. When an IPTV player reads this file, it parses each entry and builds your channel list automatically.
Where to Get Your M3U URL
Your IPTV service provider will supply the M3U URL. This is not something TIVRA provides — we are a media player, not a content service. Here is where to find your URL depending on your provider:
- Email or welcome message: Most providers send your M3U link in the signup confirmation email. Look for a URL ending in
.m3uor.m3u8, or containing/get.php?in the path. - Provider dashboard or portal: Log in to your provider's website. There is usually a section labeled "Connections," "Playlist Links," or "M3U URL." Some providers let you generate the link with custom options (output format, channel groups).
- Direct request: If you cannot find it, contact your provider's support and ask specifically for "the M3U playlist URL for use in an external IPTV player."
A typical M3U URL looks something like this:
http://provider-server.com:8080/get.php?username=myuser&password=mypass&type=m3u_plus&output=ts
Tip: If your provider offers both
output=tsandoutput=m3u8options, choosem3u8. The M3U8 (HLS) format handles live streams more reliably, with less skipping and better adaptive bitrate support. Read more about the difference in our Xtream Codes vs M3U comparison.
Step-by-Step Setup in TIVRA
Once you have your M3U URL copied, setting it up in TIVRA takes less than a minute:
- Open TIVRA on your Android TV device.
- Navigate to Settings using the sidebar menu. Press the left arrow on your remote to open the sidebar if it is not already visible.
- Select "Content Sources" (or "Add Provider" if this is your first time).
- Choose "M3U Playlist" as the connection type.
- Enter your M3U URL in the URL field. You can type it using the on-screen keyboard, or — much easier — use your phone as a remote keyboard via the Android TV app.
- Give your provider a name (optional but helpful if you use multiple providers). Something like "My IPTV" or your provider's name works fine.
- Press Save. TIVRA will fetch and parse your playlist. Depending on the size of your channel list, this typically takes 5 to 30 seconds.
- Start watching. Your channels will appear in the channel list, organized by the category groups defined in your M3U file.
That is it. Your live TV channels should now be loaded and ready to browse.
M3U vs M3U8: What Is the Difference?
You will often see both .m3u and .m3u8 mentioned in IPTV discussions, and it is easy to confuse them since they sound nearly identical. Here is the key distinction:
M3U is the playlist format itself — a text file listing channels and their stream URLs. The .m3u file extension uses ASCII encoding, while .m3u8 uses UTF-8 encoding (the "8" refers to UTF-8). In practice, most modern M3U playlists are already UTF-8 encoded regardless of which extension they use, so this distinction rarely matters.
M3U8 as a streaming protocol is where the real difference lies. When people in IPTV communities say "use M3U8 streams," they are referring to HLS (HTTP Live Streaming). HLS is Apple's adaptive streaming protocol. An HLS stream URL ends in .m3u8 and points to a manifest file that references multiple video segments at different quality levels.
The alternative is a direct MPEG-TS stream (URLs ending in .ts). MPEG-TS sends a continuous transport stream, which is simpler but less resilient. If your network hiccups, a TS stream will skip or freeze, while an HLS stream can adapt by switching to a lower bitrate.
Bottom line: When your provider gives you output options, always prefer m3u8 (HLS) over ts (MPEG-TS) for live streams. HLS handles network variability much better, especially on Wi-Fi connections.
Troubleshooting Common Issues
Playlist fails to load
The most common cause is an incorrect URL. Double-check that you copied the entire URL, including any query parameters. Make sure there are no extra spaces at the beginning or end. If your provider uses https://, verify that your device's clock is set correctly, as TLS certificate validation depends on accurate system time.
Channels load but will not play
This usually means the playlist loaded successfully but the individual stream URLs are not working. Possible causes include an expired subscription (check with your provider), IP-based authentication that has not updated to your current IP, or your ISP blocking the streaming ports. Try switching between TS and HLS output formats in your provider's dashboard.
Buffering and freezing
Buffering is almost always a network issue rather than an app issue. Start by checking your internet speed — IPTV typically needs at least 15-20 Mbps for reliable HD streaming. If you are on Wi-Fi, try moving your Android TV device closer to the router or use a wired Ethernet connection. You can also try switching to HLS output format, which handles network fluctuations better than TS. For more on optimizing your connection, see our Xtream Codes vs M3U guide.
Missing channel logos or EPG data
M3U playlists can include logo URLs in the tvg-logo attribute, but not all providers include them. For EPG data, you will typically need to add a separate XMLTV EPG URL in TIVRA's settings. Check out our guide on the best EPG sources for IPTV to find free program guide sources that work with your channels.
Channels are not categorized
Channel grouping depends on the group-title attribute in your M3U file. If your channels all appear in a single flat list, your M3U file may not include group metadata. Ask your provider for an "M3U Plus" format URL, which typically includes full metadata. In TIVRA, you can also create custom categories and organize channels manually through the category management feature.
Tips for the Best Experience
- Use a URL, not a file. While TIVRA supports loading M3U files from local storage, using a URL is better because your provider can update the channel list server-side without you needing to re-download anything.
- Set up EPG separately. M3U playlists rarely include program guide data inline. Add an EPG source in TIVRA settings for a full TV guide experience.
- Consider Xtream Codes. If your provider supports it, Xtream Codes API often provides a better experience than M3U, with built-in EPG, category management, and catch-up TV.
- Learn the remote shortcuts. Once your channels are loaded, check out our Android TV remote shortcuts guide to navigate your channels like a pro.
Try TIVRA TV
A powerful IPTV media player built from the ground up for Android TV. Set up your M3U playlist in under a minute.
Download for Android TV