All guides

NINE THOUSAND CHANNELS, TWENTY YOU WATCH

IPTV channel groups on iPhone and CarPlay. Twenty channels, not nine thousand.

IPTV channel groups on iPhone and CarPlay come from the playlist file itself: a group-title attribute on the #EXTINF line, or an #EXTGRP line under it. Dashow builds its Live TV group menu from those values on iPhone. A playlist that declares neither arrives flat, so mark the channels you watch as Favorites.

Coming soon on the App StoreHow it works
Product illustration. App and display compatibility apply.
  • 01

    Grouping is written into the playlist: group-title on the #EXTINF line, or #EXTGRP on a line of its own.

  • 02

    group-title is a de-facto M3U extension, so one file sorts differently in each player.

  • 03

    With no categories in the file, Favorites and Recently Watched reach your IPTV channels fastest.

How it works

Your quick start

  1. 01

    Open Live TV in Browse

    Browse starts with locations, and Live TV holds your IPTV channels.

  2. 02

    Use the group menu

    Pick the source, then narrow the lineup with the group menu.

  3. 03

    Mark your Favorites

    Mark the channels you watch so they gather in Favorites.

  4. 04

    Check the playlist file

    With no group menu, open the .m3u and search for group-title and #EXTGRP.

A flat channel list is a property of the file.

The grouping you are missing is not a setting in the player. It is data in the playlist. An M3U is a text file, and each channel occupies at least two lines: an #EXTINF line carrying the channel’s metadata, then the stream address underneath. The category is written above that address.

So two playlists carrying the same channels behave differently on the same iPhone. One opens with a group menu holding News, Sports and Movies. The other opens as nine thousand rows in a single column. Nothing about the phone differs between them. The files do.

Read one #EXTINF line, then check for #EXTGRP.

Here is one complete channel entry: #EXTINF:-1 tvg-id="123" tvg-name="Channel Name" tvg-logo="http://example.com/logo.png" group-title="News", Channel Name. Everything between the duration and the comma is key-value metadata, and the text after the comma is the name a player displays. A duration of -1 or 0 marks a stream with no predefined length.

Four attributes turn up in most playlists, and one of them makes the categories. A group can also be declared on a line of its own. group-title on the #EXTINF line wins; where it is absent, an #EXTGRP line under it names the group for the entry that follows. Search the .m3u in a plain text editor for both, because a file can carry categories with no group-title anywhere.

  1. tvg-id, an identifier the provider assigns to the channel entry.
  2. tvg-name, the channel name as the source spells it, held apart from the display name after the comma.
  3. tvg-logo, an HTTP address for the channel’s logo image.
  4. group-title, the category name. This is the attribute that builds a group.

group-title is a de-facto extension, not a specification.

RFC 8216 specifies #EXTINF as part of HTTP Live Streaming, and it defines the duration and the title text after the comma. It says nothing about tvg-id, tvg-logo, group-title or #EXTGRP. Those attributes grew out of practice among playlist tools and players, and no standards body has ever ratified them.

No arbiter exists. That explains why one player builds a category tree from a playlist while another shows the same file as one long column: each decided on its own which attributes to read. It also explains why a provider can rearrange your categories by editing one attribute.

Move through IPTV channel groups in Dashow.

Live TV sits in Browse, alongside Favorites, Saved Videos and your connections. Open it and the source menu names the playlist, while the group menu holds the categories the file supplied. Both menus remember your last choice, so a lineup you narrowed on Tuesday opens narrowed on Wednesday.

Layouts adapt. An iPad shows more of a category at once than an iPhone does. If a remembered selection vanishes from the refreshed file, it recovers instead of leaving an empty screen. Search runs inside the destination you are in, so a search started from Live TV returns channels.

Build a short list with Favorites.

Favorites is the answer when a playlist carries no IPTV channel groups at all. Mark a live channel and it joins the Favorites location in Browse, a list of your own making rather than one the provider wrote. Twenty marked channels behave like a category no #EXTINF line declared.

Recently Watched fills in the rest. Live channels you opened are kept in the order you watched them, using viewing time recorded on the device. Between a short Favorites list and Recently Watched, the iPhone opens on the news at lunchtime instead of nine thousand rows.

A refresh brings whatever categories the new file declares.

A playlist refresh is transactional: the new list replaces the old one when it arrives whole, and a refresh that fails leaves the channels already on the device untouched. Once it succeeds, the categories are whatever the new file declares. A provider that renames Sports to SPORT renames your group.

This page stops at the list. Adding a playlist is the M3U playlist guide, a list that will not load or play belongs in the playlist troubleshooting guide, and a live channel on a car display is the IPTV on CarPlay page. Ask the source to add group-title when the file declares no categories.

IETF: RFC 8216, HTTP Live StreamingM3U extension directives, including #EXTGRPApple: HTTP Live Streaming

GOOD QUESTION

A few things you might be wondering.

Why does my playlist show every channel in one list?

Because the file declares no category for them. An M3U names a group two ways: group-title on the #EXTINF line, which wins, and an #EXTGRP line under it where that attribute is absent. Search the .m3u for both; with neither present, the provider is the place to ask.

Can I hide categories I never watch?

The group menu in Live TV selects one category at a time, which keeps the rest off the screen. For a shorter route, mark the IPTV channels you watch as Favorites and open that location in Browse.

Do my Favorites survive a playlist refresh?

They do. Before the new list replaces the old one, a refresh collects the addresses of the channels you marked, then restores the mark on each new entry whose address matches. A channel keeps its place in Favorites for as long as the provider keeps its address, while its name, group and logo come from the new file.

What happens to my groups when the provider updates the list?

They become whatever the new file says. Categories are read from the file on every refresh, so a renamed or merged one in the provider’s file turns up that way in the menu. A remembered selection that no longer exists recovers to a valid one.