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.
- 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
- 01
Open Live TV in Browse
Browse starts with locations, and Live TV holds your IPTV channels.
- 02
Use the group menu
Pick the source, then narrow the lineup with the group menu.
- 03
Mark your Favorites
Mark the channels you watch so they gather in Favorites.
- 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.
- tvg-id, an identifier the provider assigns to the channel entry.
- tvg-name, the channel name as the source spells it, held apart from the display name after the comma.
- tvg-logo, an HTTP address for the channel’s logo image.
- 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.
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.




