Skip to content

ɳTV IPTV / M3U

ɳTV includes a free IPTV M3U player. No ɳSelf backend is needed. No license key is needed. Add a playlist URL in Settings and start watching live channels.


  1. Open the app and go to Settings (gear icon in the bottom nav).
  2. Scroll to the IPTV section.
  3. Tap Add M3U URL.
  4. Enter the full URL to your M3U playlist. Examples:
    • http://provider.example.com/playlist.m3u
    • https://iptv-org.github.io/iptv/index.m3u
  5. Tap Add.

The playlist URL is saved locally on your device in SharedPreferences. It is never sent to an ɳSelf backend or any external server.

You can add multiple playlists. Each URL is listed separately in the IPTV section. Remove any entry by tapping the trash icon next to it.


After adding a playlist, ɳTV parses the M3U file and groups channels by their group-title attribute. The channel browser shows:

  • A row of filter chips at the top, one per group plus an “All” chip
  • A scrollable channel list below the chips
  • Channel logo (from tvg-logo attribute, if provided)
  • Channel name (from #EXTINF display name)
  • Group label

Select a filter chip to show only channels in that group. Tap any channel to start playback.


ɳTV parses standard M3U / M3U8 extended format:

#EXTM3U
#EXTINF:-1 tvg-id="bbc1.uk" tvg-logo="http://..." group-title="UK",BBC One
http://stream.provider.com/bbc1.m3u8
#EXTINF:-1 tvg-id="cnn.us" tvg-logo="http://..." group-title="News",CNN
http://stream.provider.com/cnn.m3u8
AttributeUsed for
tvg-idEPG matching (requires ɳSelf backend with epg plugin)
tvg-logoChannel logo image
group-titleGroup filter chip label
Display name (after last ,)Channel name in the browser

Attributes that ɳTV does not use are ignored.


Tapping a channel opens the PlayerScreen with the channel’s stream URL. The stream plays through the platform’s video engine (AVPlayer on iOS/macOS, ExoPlayer on Android, HTML5 on Web).

Live streams do not save progress, there is no meaningful position to resume. The back button exits the player and returns to the channel browser.


If your M3U channels include tvg-id values and you have a configured ɳSelf backend with the epg plugin, ɳTV matches channels to program guide data:

  • The currently-airing program title and time appear under the channel name in the browser.
  • Tapping a channel opens the EPG detail for that channel before playing.
  • The EPG screen shows the full day’s schedule in a time grid.

EPG requires:

  1. Channels with tvg-id attributes in the M3U that match your EPG source.
  2. ɳSelf backend running with the epg plugin installed.
  3. Backend URL configured in Settings.

If the backend is not configured or the epg plugin is not installed, EPG data is not shown. The channel browser and playback work normally without it.


To reorganize or remove channels, edit or replace the M3U playlist at the source URL. ɳTV re-parses the playlist each time the IPTV channel browser opens.

To remove a playlist from ɳTV entirely, go to Settings and tap the trash icon next to the URL.


PlatformLive HLSDirect MPEG-TSNotes
iOSYesYesAVPlayer
macOSYesYesAVPlayer
AndroidYesYesExoPlayer
WindowsYesLimitedplatform video_player
LinuxYesLimitedplatform video_player
WebYesNoHTML5 + HLS.js; browser security blocks UDP/TS

Most IPTV providers offer HLS streams, which work on all platforms. MPEG-TS direct streams work on iOS, macOS, and Android. On Web, only HLS streams are supported.


SymptomCheck
Channels not loadingIs the M3U URL publicly accessible? Try opening it in a browser.
Channel plays but no videoVerify the stream URL format, some providers require a specific user-agent header not yet configurable in ɳTV.
No EPG dataIs the backend URL set in Settings? Is the epg plugin installed? Do tvg-id values in the M3U match your EPG source?
Groups not filteringThe M3U must include group-title attributes on #EXTINF lines.